【PHP】ID出さなくても質問OKなスレ【初心者歓迎】

このエントリーをはてなブックマークに追加
1nobodyさん
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
2nobodyさん:2009/02/03(火) 01:10:22 ID:???
姉妹スレ

【PHP】下らねぇ質問はID出して書き込みやがれ 80
http://pc11.2ch.net/test/read.cgi/php/1233479457/

こちらはIDだして質問するスレ
3nobodyさん:2009/02/03(火) 01:11:28 ID:???
関連リンク
■本家マニュアル   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/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
4nobodyさん:2009/02/03(火) 01:47:19 ID:???
なんで次立ててんだ、カス。
5nobodyさん:2009/02/03(火) 02:49:21 ID:???
>>1
6nobodyさん:2009/02/03(火) 06:31:37 ID:???
そもそも2chはそれぞれの板の趣旨に沿って、
既にある程度は知識・経験を持っている者同士が話を
深めていくところなのであって、初心者の質問は板においてはオマケに過ぎない。

手間も費用もかけずにタダで知識をゲットしようなんて甘い、
初心者の質問は無視されても仕方が無い。それが2chの基本。

でも、
「2chの人達ならばこの問題を解決してくれるかもしれない」
と思って2chを訪れる善意の人たちのために、
多くの板ではあくまでも 《 厚意で 》 質問専用スレを用意している。
なのに、
「質問スレだと解答が遅い」
「単発スレのほうがレスが早く着く」
などのふざけた理由で単発スレを立てるヴァカが引きも切らない。

もし、単発スレにいちいち解答していたとしたら、
勘違い厨房が
「やっぱり単発スレの方がすばやく解答をもらえるじゃないか」
と感じて毎日毎日10個も20個も単発質問スレが立ってしまい、
5分前に立った似たような単発スレすらも見付けられないだろう。
そもそもこういう自己中なヴァカは過去ログなんか絶対チェックしない。

そのうちに板内はその手の単発質問スレで埋め尽くされてしまうだろう。
そうなればパート●●とか続いている名シリーズ・スレすらもどんどんDAT落ちしてしまうだろう。
と言う事ぐらい、5秒も考えれば分かりそうなもんだ。
7nobodyさん:2009/02/03(火) 09:54:59 ID:???
なんでこんなスレをたてたんだ?
8nobodyさん:2009/02/12(木) 16:02:45 ID:+X3aCOfr
「Eclipse + PDT」を使ってる方いましたら質問です。

プロジェクトを追加したところ、htmlやjavascriptまでシンタックスエラーをチェックしてしまい、
「問題」「警告」の欄が溢れています。

これはなんとか除外できないものなのでしょうか。
9nobodyさん:2009/02/14(土) 18:31:28 ID:???
簡単な書き込みで下記のようにしていますがすぐに壊れてしまいます。
(各行最大4文字で最大500行、DBは使わない。)

$text="aaa"."\n";
$data = file("example.txt");
$fp = fopen("example.txt","a+b");
if(flock($fp, LOCK_EX)){
ftruncate($fp, 0);
fwrite($fp,$text);
$i = 0;
foreach ($data as $value) {
fwrite($fp,$value);
$i++;
}
fclose($fp);

簡単に壊れないようにするにはどうすれば良いでしょうか。
10nobodyさん:2009/02/14(土) 18:35:11 ID:???
このスレは重複スレなので削除対象です
質問は本スレでどうぞ
11nobodyさん:2009/02/14(土) 18:50:14 ID:???
>>9
同壊れるか分からないが。。
ロックは適当に

$data = "aaa"."\n".file_get_contents("example.txt");
$fp = fopen("example.txt","wb");
fputs($fp,$data);
fclose($fp);
12nobodyさん:2009/02/14(土) 19:10:38 ID:???
>>9
ありがとうございます。上記の物とこれで様子を見てみます。
$data = "aaa"."\n".file_get_contents("example.txt");
file_put_contents("example.txt", $data, LOCK_EX);


もう一つ質問なのですが、テキストファイルよりも
DATファイルとかの方が強いのでしょうか。
13nobodyさん:2009/02/14(土) 19:39:23 ID:???
ロックかけるときはロック専用ファイルを用意してそれをロックすることをおすすめする。
14nobodyさん:2009/02/23(月) 03:44:50 ID:???
$hoge = 1;
if($hoge){
〜〜〜


$hoge = true;
if($hoge){
〜〜〜


どちらの方がいいのでしょうか
15nobodyさん:2009/02/23(月) 04:06:31 ID:???
いいの基準は?
16nobodyさん:2009/02/23(月) 09:48:03 ID:???
どっちもif文成立するからif文無くていい
17nobodyさん:2009/02/25(水) 03:04:58 ID:???
他言語は正規表現を一旦コンパイルして変数に持っておけますが
PHPでそういうことできませんか?
ループ中で使うと毎回コンパイルされるのはもったいないと思うんですが
18nobodyさん:2009/03/08(日) 08:30:54 ID:???
if(preg_match('/^[a-z]+$/',$A)){
$AA=$A;
}
if(preg_match('/^[a-z]+$/',$B)){
$BB=$B;
}
を何度も書くのと



if(Match($A)){
$AA=$A;
}
if(Match($B)){
$BB=$B;
}
function Match($ZZ){
return preg_match('/^[a-z]+$/',$ZZ);
}
と書くのではどちらが一般的でしょうか?
19nobodyさん:2009/03/08(日) 08:31:43 ID:???
どっちも一般的でない
20nobodyさん:2009/03/08(日) 08:38:06 ID:???
ありがとうございます。
他に方法が思いつかないので
よろしければヒントを教えて下さい。
21nobodyさん:2009/03/08(日) 08:47:16 ID:???
3度以上書くならctype_alpha && ctype_lowerを関数定義ぐらいでいいと思うが
22nobodyさん:2009/03/08(日) 09:29:38 ID:???
ありがとうございました。私の環境で
ctype_alpha && ctype_lowerとpreg_match('/^[a-z]+$/’,$text)
が同じ動作かどうか調べてみます。
23nobodyさん:2009/03/08(日) 11:22:29 ID:???
デリミタに/使ってんじゃねえよ
括弧使えよクズ
何で括弧使うか理由も調べてこい史ね
24nobodyさん:2009/03/08(日) 11:49:44 ID:???
>>23
氏ね
25nobodyさん:2009/03/08(日) 12:17:56 ID:???
26nobodyさん:2009/03/08(日) 12:21:22 ID:???
そうです
27nobodyさん:2009/03/08(日) 12:48:13 ID:???
IP出し質問スレ誰か立ててくれんかね
規制中でなければ自分でたてるんだが
28fusian‎asan:2009/03/08(日) 12:51:12 ID:???
これっすか?
29nobodyさん:2009/03/08(日) 13:16:11 ID:???
まちがえたぜIPじゃなくてIDな
スレ82をだれかたのむ
30nobodyさん:2009/03/08(日) 13:41:16 ID:???
ツールの入力欄に%2F{$}って半角で入れるとエラーになるぞ。
31nobodyさん:2009/03/08(日) 14:05:10 ID:???
>>30
日本語でおk
32nobodyさん:2009/03/08(日) 14:58:34 ID:???
>>27
立ててみるよ
3332:2009/03/08(日) 15:00:29 ID:???
すまん、ダメだった
34nobodyさん:2009/03/08(日) 15:01:58 ID:???
そりゃそうさ
このスレが本スレだし
35nobodyさん:2009/03/08(日) 15:07:03 ID:???
>>34
おまえはこのスレができた意味を知らない人だよね
36nobodyさん:2009/03/08(日) 20:53:24 ID:???
難癖つけ太郎の唯一の棲家だしなw

37nobodyさん:2009/03/08(日) 20:55:19 ID:???
>難癖つけ太郎
何時の時代のセンスだ
38nobodyさん:2009/03/08(日) 22:11:27 ID:???
日本語のみは拒否ってどうすればいい?
39nobodyさん:2009/03/08(日) 22:22:19 ID:???
正規表現
40nobodyさん:2009/03/08(日) 22:25:50 ID:???
UTF-8だと日本語と中国語の区別難しいぞ
41nobodyさん:2009/03/08(日) 22:31:50 ID:???
日本語のみは拒否ってどういう状況だ
42nobodyさん:2009/03/08(日) 22:40:07 ID:???
エスパーしてやると半角英数字だけ通せば日本語は省けます
43nobodyさん:2009/03/08(日) 23:25:07 ID:???
いえ、中国語と韓国語とアラビア語は通してください
44nobodyさん:2009/03/08(日) 23:34:15 ID:???
SJISです。
今はstrstrとin_arrayを使ってる。(完璧ではない)

拒否 おはよう          
拒否 愛さん   
     
許可 goodmorning
許可 goodmorning愛さん
許可 goodmorning愛さん:D
45nobodyさん:2009/03/09(月) 00:05:08 ID:???
if( ereg( "^[a-z][0-9]", $str ) )
46nobodyさん:2009/03/09(月) 15:18:28 ID:???
47nobodyさん:2009/03/23(月) 00:42:35 ID:???
初心者です。
いろんなサイトで探しても分からなかったので質問します。

web上の『http://****************.jpg』というURLから
jpgファイルを読み込んで保存したいのですが方法が分かりません。

教えていただけませんか?
48nobodyさん:2009/03/23(月) 09:16:05 ID:???
ieでそのurlにアクセスしたら
右クリック > 対象をファイルに保存
でおk
49nobodyさん:2009/03/23(月) 10:24:31 ID:8ptTuCbS
2009-04-01 08:40:00
↑の時間の30分後を取得する方法。
5047:2009/03/23(月) 10:36:20 ID:???
PHPで行いたいのです
51nobodyさん:2009/03/23(月) 10:51:14 ID:???
..47
PHP ファイルダウンロード
でググレ貸す
5247:2009/03/23(月) 10:53:13 ID:???
寝て、起きていじったらすぐにできました
お騒がせしました
53nobodyさん:2009/03/23(月) 11:31:06 ID:???
>>49
$date= '2009-04-01 08:40:00';
preg_match("/(\d{4})\D(\d\d?)\D(\d\d?)\s+(\d\d?):(\d\d?):(\d\d?)/s", $date, $d);
$d= localtime(60*30+mktime($d[4], $d[5], $d[6], $d[2], $d[3], $d[1]));
printf("%d-%02d-%02d %02d:%02d:%02d", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]);
54nobodyさん:2009/03/23(月) 11:40:21 ID:???
>>53
長!!
確認してみます。ありがとうございます。
55nobodyさん:2009/03/23(月) 12:05:47 ID:???
>>53
なにそのセンスもない無駄なコード
正規表現なんて使わんでもできる

>>49
今メシ食うから食べ終わったら書いてやるから待ってろ
56nobodyさん:2009/03/23(月) 12:49:22 ID:???
マダー?
57nobodyさん:2009/03/23(月) 12:57:32 ID:???
ほれ
date_default_timezone_set("Asia/Tokyo");

$time = 60*30;
$data = "2009-04-01 08:40:00";
$st = strtotime($data)+$time;
echo date('Y-m-d H:i:s',$st);
58nobodyさん:2009/03/23(月) 12:59:30 ID:???
ウワショボw
59nobodyさん:2009/03/23(月) 13:01:29 ID:???
難しくないことをわざわざ複雑に書く>>53=>>57さんどもっすw
60nobodyさん:2009/03/23(月) 13:05:48 ID:???
>>49
echo date("Y-m-d H:i:s",(strtotime("2009-04-01 08:40:00") + 60*30));
61nobodyさん:2009/03/23(月) 13:08:23 ID:???
別に複雑に書いたつもりはないけど、処理の過程が明確で日時の場合月日だけとか
時分秒だけとか副次的に利用することがおれの場合は多いからこう書くクセがついてるだけ
62nobodyさん:2009/03/23(月) 13:09:55 ID:???
>>60
echo date( "Y-m-d H:i:s", strtotime( "2009-04-01 08:40:00 +30 min" ) );
63nobodyさん:2009/03/23(月) 15:08:52 ID:???
>>61
そういう場合でも正規表現は使いません
64nobodyさん:2009/03/23(月) 15:10:08 ID:???
おまえらすげーぞ
参考にしてみるわ。
65nobodyさん:2009/03/23(月) 15:11:15 ID:???
そういう場合ってwwww
使えるなら使うのがプログラミングの基礎ですよ
甘いですね
66nobodyさん:2009/03/23(月) 15:23:21 ID:???
お前は何を言ってるんだ
67nobodyさん:2009/03/23(月) 18:00:02 ID:???
正規表現を覚えたてで何でも使いたい頃なんだよ多めに見てやれや
68nobodyさん:2009/03/23(月) 18:18:00 ID:???
正規表現が理解できないゆとりが正規表現潰しに必死です
三項演算子が理解できないゆとりが(ry
できれば何でもいいんだよ
ちなみに俺は>>61じゃない
69nobodyさん:2009/03/23(月) 18:19:16 ID:???
どっちが効率がいいのか明確なのに一名必死ですねw
70nobodyさん:2009/03/23(月) 18:23:25 ID:???
どこがどう何が効率がいいの?
コードの短さだけを見て判断してるの?
71nobodyさん:2009/03/23(月) 18:23:42 ID:???
ほんとだよなdateにフォーマット渡せば済むのにわざわざ正規表現使う意味がわからない
72nobodyさん:2009/03/23(月) 18:29:23 ID:???
コーディングスタイルは人それぞれだろ
意味がわからないってwww
73nobodyさん:2009/03/23(月) 18:30:34 ID:???
それコーディングスタイルとは言わないだろ
74nobodyさん:2009/03/23(月) 18:34:02 ID:???
批判してるやつは自分が完璧だとでも言いたいのか?
本当に他人のコードを批判できるのは
言語開発側にいるハッカーや学者等一握りしかいない
全てのコードをアセンブラレベルで完璧に効率よく組むことができない限り
たかだか一部分の話題をとって他人を批判するもんじゃない
自分のコードがいかに効率的か完璧か自信があるか?
75nobodyさん:2009/03/23(月) 18:43:54 ID:???
少なくとも正規表現よりは効率的だわ
76nobodyさん:2009/03/23(月) 18:51:40 ID:???
んじゃ、そろそろどなたかベンチマークで決着つけてください。
77nobodyさん:2009/03/23(月) 18:54:52 ID:???
あ〜あ正規表現クンが荒れてきたよwwwwwwwwwwwwww
78nobodyさん:2009/03/23(月) 19:01:15 ID:???
頭の悪いやつばっかだな
79nobodyさん:2009/03/23(月) 19:05:23 ID:???
>>53は正規表現が好きなんだから使えばいいんじゃないの
フォーマット変更するとき一々何か所も変更するのが苦にならないんだから
80nobodyさん:2009/03/23(月) 21:10:05 ID:???
date_default_timezone_set('Asia/Tokyo');

$time[1]['start'] = microtime(true);
for($i=0;$i<10000;$i++) {
date("Y-m-d H:i:s",(strtotime("2009-04-01 08:40:00") + 1800));
}
$time[1]['end'] = microtime(true);


$time[0]['start'] = microtime(true);
for($i=0;$i<10000;$i++) {
$date= '2009-04-01 08:40:00';
preg_match("/(\d{4})\D(\d\d?)\D(\d\d?)\s+(\d\d?):(\d\d?):(\d\d?)/s", $date, $d);
$d= localtime(60*30+mktime($d[4], $d[5], $d[6], $d[2], $d[3], $d[1]));
printf("%d-%02d-%02d %02d:%02d:%02d", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]);
}
$time[0]['end'] = microtime(true);



echo "<p>結果</p>";
$time[0]['kekka'] = $time[0]['end'] - $time[0]['start'];
$time[1]['kekka'] = $time[1]['end'] - $time[1]['start'];
echo "<pre>";
print_r($time);
echo "</pre>";
81nobodyさん:2009/03/23(月) 21:11:09 ID:???
正規表現くんは黙ってろ
82nobodyさん:2009/03/23(月) 21:45:57 ID:???
ただの検証コードを貼り付けてるだけなのに
少しでも難しそうなことが書いてるとこれだもんな
ほんと憐れだよ
理解できないほうこそ黙ってるべきだろ
83nobodyさん:2009/03/23(月) 22:00:50 ID:???
お前この程度が限界なのか
84nobodyさん:2009/03/23(月) 22:11:55 ID:???
正規表現使うのがかっこいいとかそういうノリだろ
そもそも質問に出てくるような用途で正規表現を使うことが勿体ない
85nobodyさん:2009/03/23(月) 22:12:46 ID:???
>>82が質問の意図を理解してない証拠
86nobodyさん:2009/03/23(月) 22:45:24 ID:???
すみません教えて頂きたい事があるのですが
php 5.1.4.4
apache 2.0.58.200で
basic認証が必要なページに対してsetcookieでID/PASSをセットして
認証済みにして表示させています。
ですが認証済みのページからword/excelのファイルリンクをクリックすると
なぜか認証のダイアログが表示されます。
jpegやpdf等に関しては認証が通っているページからのリンククリックなので
そのまま表示できますが、word/excelのファイルに関してだけが認証ダイアログが
表示されてしまいます、しかもキャンセルするとファイルの中身が表示できてしまいます。
word/excel/jpeg/pdfは全て同じbasic認証が必要なフォルダに入れております。
URL直叩きの場合は全てのファイルで認証画面が表示されます。
なぜjpeg/pdfはOKでword/excelがNGなのかがよく分かりません。
よろしくお願いします。
87nobodyさん:2009/03/24(火) 08:59:12 ID:???
ここまで言われると昨日の荒らしも恥ずかしくてでてこれないべや
88nobodyさん:2009/03/24(火) 09:04:56 ID:???
>>87
自覚してるならこないでよ
89nobodyさん:2009/03/24(火) 09:19:52 ID:???
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   細けぇ事はいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /
90nobodyさん:2009/03/24(火) 11:32:15 ID:???
普通に聞きたいんですけど
$date= '2009-04-01 08:40:00';
preg_match("/(\d{4})\D(\d\d?)\D(\d\d?)\s+(\d\d?):(\d\d?):(\d\d?)/s", $date, $d);
$d= localtime(60*30+mktime($d[4], $d[5], $d[6], $d[2], $d[3], $d[1]));
printf("%d-%02d-%02d %02d:%02d:%02d", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]);

これの利点ってなんですか?
91nobodyさん:2009/03/24(火) 11:39:05 ID:???
$date= <<<EOT
2009-04-01
08:40:00
EOT;

目的のデータが↑みたいな厄介なフォーマットだった場合、ちょこちょこ改変して使えるってことじゃね?
92nobodyさん:2009/03/24(火) 12:34:03 ID:???
>>91
改行含んでるだけでどこが厄介なんだよ??
改行含んでても正規表現は使わなくてもできるよ?


改行を含ませて出力したいなら
echo date("Y-m-d\tH:i:s",(strtotime("2009-04-01 08:40:00") + 1800));
93nobodyさん:2009/03/24(火) 12:36:33 ID:???
↑の\tは\nの書き間違いね


改行を含んだ日付を使う場合
$t = "2009-04-01

08:40:00";

echo date("Y-m-dH:i:s",(strtotime($t) + 1800));


改行を含んだ日付を使い、出力も改行させる場合
$t = "2009-04-01

08:40:00";

echo date("Y-m-d\nH:i:s",(strtotime($t) + 1800));
94nobodyさん:2009/03/24(火) 12:40:16 ID:???
あんまり正規表現さんをいじめるなよw
顔真っ赤にして荒らされるぞw
95nobodyさん:2009/03/24(火) 12:48:47 ID:???
荒らしてるのはお前だけだろ・・・
どっか逝けよ
96nobodyさん:2009/03/24(火) 12:51:16 ID:???
>>90
正規表現にはこうやって性格の悪いやつを引き寄せるパワーがある
97nobodyさん:2009/03/24(火) 13:42:14 ID:???
そもそも正規表現を使うことでもないのに使ってるからちょっと言われてたんだろ
もういいよ
98nobodyさん:2009/03/24(火) 15:35:31 ID:???
悪かったな俺の質問でこんなんになって。
ところで質問なんですけど、
$arr = array("りんご", "みかん", "ブドウ", "", "スイカ");
$arr = str_replace("", "パイナップル", $arr);
print_r($arr);
希望の値を出力しません。
空の値に文字列を置換する方法教えてください。
99nobodyさん:2009/03/24(火) 15:41:10 ID:???
つまりこういうことか
「こんにちは」を出力するのにこんなことするってことか

$array = array("あ",・・・"ん");//あ〜んを配列に格納
$hello = $array[9].$array[46],$array[21],$array[16],$array[25];
printf("[%s]\n",$hello);
10098:2009/03/24(火) 15:45:53 ID:???
>>99?
出力結果でパイナップルが入りません。
Array ( [0] => りんご [1] => みかん [2] => ブドウ [3] => [4] => スイカ )
101nobodyさん:2009/03/24(火) 16:01:28 ID:???
a、すまん99は>>97にね
102nobodyさん:2009/03/24(火) 16:03:27 ID:???
>>98
ついでに答えとくと希望の値って何なのか書かないとエスパー回答待ちになりますよ
10398:2009/03/24(火) 16:11:26 ID:???
理想は
[3] => パイナップルです。
Array ( [0] => りんご [1] => みかん [2] => ブドウ [3] => [4] => スイカ )
104nobodyさん:2009/03/24(火) 16:17:56 ID:???
空文字は引っかかりません
105nobodyさん:2009/03/24(火) 16:19:22 ID:???
preg_replaceを使用してこう書けばできる
$s = "/^$/";
$r = "パイナップル";
$a = array("りんご","みかん","ブドウ","","スイカ");

$kekka = preg_replace($s,$r,$a);
print_r($kekka);
10698:2009/03/24(火) 16:43:15 ID:???
なるほど確認してみます。
ありがとうございます。
107nobodyさん:2009/03/24(火) 18:57:54 ID:???
>>90
日付が/区切りでも、扱えるようにしてるんじゃないの。
108nobodyさん:2009/03/24(火) 19:14:04 ID:???
自分で書いてみたけど正規表現でなくてもいいみたい
う〜ん、やっぱ標準関数で用意されてるものを使ったほうが開発効率も保守性も速度もいいみたいですね
$dt[0] = "2009-04-01 08:40:00";
$dt[1] = "2009/04/01 08:40:00";

function date($d) {
return date("Y-m-d H:i:s",strtotime($d));
}

echo "<p>".date($dt[0])."</p>";
echo "<p>".date($dt[1])."</p>";
109nobodyさん:2009/03/24(火) 19:27:48 ID:???
正規表現覚えたてのプログラミング初心者相手にみんなパネェっすねw
プログラミング歴が上がればどういうときにどんなコード書けばいいのか分かるようになるんだからそっとしてやろうぜw
110nobodyさん:2009/03/24(火) 20:10:52 ID:???
習得度が高かろうと低かろうとどうでもいいが
初心者なのに人の意見に耳を傾けないで根拠も無く自分が正しいと思ってるからだめなんだろ
111nobodyさん:2009/03/24(火) 20:16:04 ID:???
煽ってる阿呆は1人なんだからもう放置しようぜ・・・
112nobodyさん:2009/03/24(火) 20:18:24 ID:???
1人ってどれ?
113nobodyさん:2009/03/24(火) 20:20:17 ID:???
自覚がないんですね
114nobodyさん:2009/03/24(火) 21:02:38 ID:???
90のコードに嫉妬
11598:2009/03/25(水) 09:31:58 ID:???
90のコード
dばっかとか意味わかんないし。
イミプーでうすぁ。
116nobodyさん:2009/03/25(水) 10:04:26 ID:???
あえて言いたい
>>90のコードはネタだろ
つられてんじゃねえよw
117nobodyさん:2009/03/27(金) 04:02:52 ID:???
未定義のプロパティーはnullですが
これは規定と考えていいのでしょうか?
118nobodyさん:2009/03/27(金) 04:16:33 ID:Xi9/JJ4U
DBなどすべてUTF-8で構築しております。
そのうえで、xmlWriter()をつかって「EUC-JP」で
XMLを書き出したいのですがどうしたらよいのでしょうか?
単にstartDocumentでEUC-JPを指定するだけでエンコードを変更できるのでしょうか?
Firefoxでは表示され、safariだとエラーになってしまいます。

$writer = new xmlWriter();
$writer->openMemory();
$writer->startDocument('1.0', 'EUC-JP');
$writer->startElement('root');
(略)
$writer->endElement();
$writer->endDocument();
return simplexml_load_string($writer->outputMemory(TRUE));

ちなみに各Directiveの値もメモしておきます。
mbstring.http_input auto
mbstring.http_output pass
mbstring.internal_encoding UTF-8
mbstring.script_encoding no value
119nobodyさん:2009/03/29(日) 00:44:35 ID:???
ライブラリとかクラスファイルとか、
他のファイルを読み込むときは可読性からスクリプトの最初で読み込みたいんだけど、
ある条件下でしか使わないようなファイルをスクリプトの途中で読み込みたいときはどうしてる?
120nobodyさん:2009/03/29(日) 00:55:11 ID:???
スクリプトの途中で読み込む
121nobodyさん:2009/03/29(日) 04:16:40 ID:0MM+niTd
118について、気になっているオレガイル。
122nobodyさん:2009/03/29(日) 13:45:03 ID:???
テーブル設計とかわけがわかりません。
楽天・DMMなどを見ても全くその構造がわかりません
どうしたら こういう構造について強くなれるでしょうか
おすすめの書籍やページなどあればお願いします
php中級者です
123nobodyさん:2009/03/29(日) 13:48:49 ID:???
つ教科書
124122:2009/03/29(日) 13:51:43 ID:???
>>123
どの教科書ですか?
教えて下さい。当方PHPしかやったことないですが
アルゴリムズなど こういうWEBのアルゴリズムについて
良い本とかページ無いですか
125nobodyさん:2009/03/29(日) 14:14:14 ID:???
調べろよ
126122:2009/03/29(日) 14:19:21 ID:???
わからないんです 早くして
127nobodyさん:2009/03/29(日) 14:19:46 ID:???
調べろよ
128122:2009/03/29(日) 14:21:20 ID:???
早くしてください
129nobodyさん:2009/03/31(火) 11:33:31 ID:???
正規表現くんがいま調べてるから黙って待ってろ
130nobodyさん:2009/04/03(金) 15:49:42 ID:???
$_login->authorize(); だけでどうして ユーザ認証ができるんですか?
131nobodyさん:2009/04/03(金) 15:52:26 ID:???
authorizeメソッドにユーザ認証機能が実装されてるからだろ
132nobodyさん:2009/04/03(金) 18:35:49 ID:???
authorizeメソッドって何?
ぐぐってもわからない
133nobodyさん:2009/04/03(金) 19:00:10 ID:???
public function authorizeで定義したメソッド
134nobodyさん:2009/04/03(金) 19:29:21 ID:???
ん、その定義しましたってのはどこのファイル見たらわかるの?
135nobodyさん:2009/04/03(金) 19:37:04 ID:???
PHPマニュアルでauthorizeで検索しても出てこない・・
136nobodyさん:2009/04/03(金) 19:49:54 ID:???
ないもんは出てこない仕様です
137nobodyさん:2009/04/03(金) 19:52:46 ID:???
$_login->authorize();
これ 変数_login > authorize(); に見えるんだよな
138nobodyさん:2009/04/03(金) 19:54:20 ID:???
あぁそうか ユーザー定義関数だからないのかな
ただこのフォルダのスクリプトの中にどこにも
function authorize() {
  処理に必要なプログラム
  }
がないんだよね
139nobodyさん:2009/04/03(金) 20:04:13 ID:???
あるよ
関数じゃなくてメソッドだけどね
140nobodyさん:2009/04/03(金) 20:42:39 ID:???
おおお さらに深くgrepしたら出てきた

$_login->authorize(); // ユーザ認証

ん、これって自動的にauthorizeメソッド検索してできるんだ〜
141nobodyさん:2009/04/03(金) 20:43:38 ID:???
どんだけ浅くgrepしてんだYO
142nobodyさん:2009/04/03(金) 20:45:13 ID:???
いやそれ定義じゃなくて実行じゃん
143nobodyさん:2009/04/03(金) 21:15:32 ID:???
$_login->が何を表してるかがわからない
authorize(); はpublic function authorize(){}を探しそこにフォーカスを動かすって事かな
144nobodyさん:2009/04/03(金) 21:58:00 ID:???
全然ちゃうわ
145nobodyさん:2009/04/03(金) 22:14:41 ID:???
せめてググッタラわかるようなキーワードを教えてくれ
146nobodyさん:2009/04/03(金) 22:21:35 ID:???
つ公式マニュアル
147nobodyさん:2009/04/03(金) 22:53:39 ID:???
そろそろ俺に答えられそうな質問を出してくれないかな
148nobodyさん:2009/04/04(土) 00:13:38 ID:???
そうなんだ・・・すまん
149nobodyさん:2009/04/04(土) 00:14:31 ID:???
150nobodyさん:2009/04/04(土) 08:28:29 ID:???
質問です。

CentOS5.2 + Apache 2.2.3 + PHP5.1.6という環境で
趣味のホームページ作りをしています。

ドキュメントルート /var/www/html/ 直下にPHPフレームワーク(CakePHP)を
インストールするとウェルカムページ(スタートページ)も問題なく表示されますが、

Virtualhost 機能を使用し、/var/www/html/TEST/ をバーチャルホスト
のドキュメントルートしてウェルカムページを表示すると、なぜかエラーが出ます。
エラーの内容
Warning: touch() [function.touch]: Utime failed: Operation not permitted in /var/www/html/TEST/cake/libs/file.php on line 130

いろいろ調べるとパーミッションがらみの問題であるとのことなので、
chmod -R 777 /var なんていう無茶なことをやってみましたが、それでも
改善しません。

ちなみに、上記の問題はWindows上のxamppで同様のVirtualhostを設定した場合は
再現しません。

何かご存知の方はいらっしゃいませんでしょうか?
151nobodyさん:2009/04/04(土) 08:34:47 ID:???
ご存知だったけど忘れたな
なんかカラクリがあったのは確かだ
152nobodyさん:2009/04/05(日) 14:20:07 ID:???
>>53

亀レスだがこれをよく読んどきなさい

---------------------------------------------------------------------
最近のスクリプト言語は機能が多く、基本的な機能はほとんど実装されているので、
アルゴリズムをどうこうするより、どの機能を使うか選ぶ方が重要だったりしますね(コーディングの効率的にも)。
---------------------------------------------------------------------

引用:http://ifs.seesaa.net/article/26300967.html
153nobodyさん:2009/04/05(日) 21:10:32 ID:Z8UCv2WT
質問です。
UTC時間で計算したいのですが、
strtotimeやlocaltimeを使うと勝手に日本時間を参照したような値が
返ってきます。UTCのままで計算する方法教えてください。
154nobodyさん:2009/04/05(日) 21:15:40 ID:???
localtimeで日本時間が返るなら勝手に変えてるわけじゃないと思うが
155nobodyさん:2009/04/06(月) 04:35:26 ID:???
>>152
アフィリエイト目的のただの糞サイト
156nobodyさん:2009/04/06(月) 10:40:36 ID:???
>>155=正規表現クン
157nobodyさん:2009/04/06(月) 11:46:40 ID:SCbGgs9l
OS:CentOS / PHP:5.1.6 / DB:PostgreSQL
質問:
現在のところテスト環境のためパスワードはrootのみしか設定していないためPHPでは
host=localhost dbname=sampletabl この2つしか指定しておりません。
コードは下記のものになります。
$conn = "host=localhost dbname=sampletable";
$link = pg_connect($conn);
if (!$link) {
die('接続失敗です。'.pg_last_error());
}
print('接続に成功しました。<br>');

パスワード等は必ず設定しなければならないのでしょうか?
繋がらない理由などがよくわからないのでそういった事を解説してあるサイトなどあれば教えて頂ければと思います。
158nobodyさん:2009/04/06(月) 11:50:14 ID:???
ユーザ名とパスワード入れろよ
159157:2009/04/06(月) 12:06:33 ID:SCbGgs9l
この場合のユーザとパスはPostgreSQLの方ではユーザーの作成も何もしていないので
ユーザーとして存在しているrootもしくはpostgresのどちらかってことになるかと思います。
postgresの方もパスワードは設定しておりませんので
user=postgres のみか user=root password=**** になると思うのですが
一応両方試してみてうまくいきませんでした。
postgresのユーザー及びパスワードの設定は必須ということでしょうか?
160nobodyさん:2009/04/06(月) 12:30:48 ID:???
テスト環境って自鯖でしょ?
どうやってsampletable領域を作成したの?
sampletableが作成できてるならcreate userでユーザ作成できると思うけど
161157:2009/04/06(月) 12:51:29 ID:SCbGgs9l
>>160
createuserは使用しておりません。
手順としては
 su - postgresでアクセス
 psql postgres でDBに接続
 CREATE TABLE sampletableでテーブル作成
 insert into sampletable でデータが入る事を確認
このようにしてテーブルを作成しました。ですのでcreate user等は使用せずに
テーブルを作成した形になります。
162nobodyさん:2009/04/06(月) 12:57:00 ID:???
それじゃあsampletableはdbnameじゃなくテーブル名じゃん
dbnameってデータベース領域だよ?
163157:2009/04/06(月) 13:59:50 ID:SCbGgs9l
>>162
すいません。回答ありがとうございます。
何か大きな勘違いをしているようです。
下記を確認しました。
-bash-3.2$ psql -l
List of databases
Name | Owner | Encoding
-----------+----------+----------
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
で表示されているNameの部分がdbnameってことになるわけですよね?
ですので
host=localhost dbname=template0 user=postgres
という事になるのでしょうか。これでもうまくいきませんでしたので私の方で何か根本的に間違っていると思うのですが…
164157:2009/04/06(月) 14:08:45 ID:SCbGgs9l
すいません自己解決しました。
pg_hba.confを設定したヤツが設定ミスってました。
スレ汚し本当に申し訳ないです。
165nobodyさん:2009/04/06(月) 14:22:08 ID:???
自宅サーバを立ててた時は、Linux(CentOS)
使ってたんだけど、実際にサーバを借りてPHPで作ったサイトを維持
する事を考えると断然Windowsの方が便利に感じたので
Windows上でPHPスクリプトを書いてたりするんだけど、
皆さんはどちらで作業してますか?

※どう考えてもLinuxよりも便利なツールがWindowsの方が多く出ている
から生産性も高いと思うんだけど。
166153 :2009/04/06(月) 15:02:21 ID:krIGQs5h
>>153
まだ??
教えてほしいです。
167nobodyさん:2009/04/06(月) 15:10:03 ID:???
168nobodyさん:2009/04/06(月) 15:11:06 ID:???
>>165
開発環境は別に好きな方でいいんじゃね?
169nobodyさん:2009/04/06(月) 15:39:08 ID:???
>>165
開発はwin、テスト鯖はlinux
これおすすめ
winでは動かない関数もあるからね
170nobodyさん:2009/04/06(月) 15:40:36 ID:krIGQs5h
>>165
データベースを考えるとサーバー内がいいだらおう。
171nobodyさん:2009/04/07(火) 02:06:16 ID:???
完全に静的なファイル(ssi)で出力する多数フォルダOKの複数ブログが
作成できるのを作ったんですが
使い道に困っています
あと、1つのフォルダに2000ファイルとかになった場合
どうしたらいいですか
そのジャンルのフォルダにindex.shtmlなども入っています
172165:2009/04/07(火) 03:07:41 ID:???
>>168
いや、実際のPHPを使う開発現場に入った事が無いから
開発現場でWindows使ってるところってあるのかな?と思ってね。


>>169
取り敢えず今自分は、開発はWindowsテストはレンタルサーバに
TeraTerm使って色々やってます。

>>170
???
173nobodyさん:2009/04/07(火) 03:15:31 ID:???
次の通り契約コースの異なるレンタルサーバを2つ契約したとします。
その場合、Aの場合だとPHPとDBも使えるのですが、
Bだと料金が安い分、PHPが使えるだけでDBが使えません。

そこでAで契約したディスク容量に余裕がある為、
BからAのDBを使用したアプリを組む事は出切るのでしょうか?
※今回は、さくらインターネットを想定していますが、
この様な事を全く別のレンタルサーバでも行う事は出切るのでしょうか?


A: PHP5 + DB使用可能   月額1000円
B: PHP5              月額500円

あと、BからASP.net(SqlServer)様のレンタルサーバのDBだけを使用したり、
といった事もやりたいのですが出来ますか?
174nobodyさん:2009/04/07(火) 05:07:54 ID:???
>>173
絶対に無理。
違うレンタルサーバでも同じレンタルサーバー内でも不可能
175nobodyさん:2009/04/07(火) 05:17:43 ID:???
まぁ「DBを使う」の意味に依るんだろうけどねぇ。
AにXMLで通信するの作って、Bからそれを呼び出すって手はあるし。
それに意味があるかどうかは別にして。
176nobodyさん:2009/04/07(火) 05:29:23 ID:???
>>174
データーベースのIPアドレスとパスワードがわかっていれば
できるのでは?

でもサーバーのadminが不可にしていれば、無理だと思うけど。
177nobodyさん:2009/04/07(火) 05:33:48 ID:???
あと P2P的にどっかでブリッジして接続ってのも、一応可能なんかなぁ。
ますます意味はないと思うが。
178nobodyさん:2009/04/07(火) 05:49:04 ID:???
TORみたいな?
179nobodyさん:2009/04/07(火) 10:14:05 ID:???
>>172
テストでレン鯖使うとか氏ねよ
180173:2009/04/07(火) 10:22:03 ID:???
>>174
、、、無理ですか。
金を節約したいので出来ればいいなぁと思ったのですが。
というか普通にクラサバとかの場合だとDBサーバとか分かれてるのになぜ出来ないんですかね。?

>>175
普通にクエリを INSERT / DELETE / UPDATEしたいと思ってます。


>>176
私も普通に考えて、DBサーバ(各レンタルサーバ)のIPアドレスとID/PASS
さへ分かっていれば接続出来る気がしてならないのです。

誰か私がやろうとしている様な事を既に実践された方とかいないですかね?

>>179
はぁ?

181nobodyさん:2009/04/07(火) 10:24:47 ID:???
>>180
はあ?じゃねえぞ氏ね
人様の鯖を人柱にしてんじゃねえぞクズ
182nobodyさん:2009/04/07(火) 10:51:32 ID:???
↑こっちは金払ってんだよ。屑
183nobodyさん:2009/04/07(火) 11:01:33 ID:???
典型的だな
184nobodyさん:2009/04/07(火) 11:11:13 ID:???
いいぞもっとやれ
185nobodyさん:2009/04/07(火) 11:13:04 ID:???
>>182
貸して頂けるために金を払ってるんだろksg
186173:2009/04/07(火) 12:52:12 ID:???
で結局出来る?出来ないの?

やった事ある人はいますか?
187nobodyさん:2009/04/07(火) 12:57:04 ID:???
レン鯖によるのになんでここで聞くの?
おまえは匿名じゃないと尋ねられないもやしか
188nobodyさん:2009/04/07(火) 13:07:02 ID:???
>>186
出来るも出来ないも、そのDBサーバを管理するレンタルサーバ屋次第。

ただ、普通のレンタルサーバであれば、わざわざDBポートの開放をして
無用のセキュリティーリスクを増やしたりはしないと思うから、
一般的には出来ない。と思って良いんでは?
189nobodyさん:2009/04/07(火) 17:21:22 ID:???
そもそも格安のレンタルサーバで
違うコンピュータからの接続許してるところなんて
みたことないよ
190nobodyさん:2009/04/08(水) 00:53:34 ID:???
ああポートをふさいでいるわけね。
191nobodyさん:2009/04/08(水) 02:57:46 ID:???
>>189
サンクス

少々高いけど金出してDBも使えるサーバを借りないといけないね。
ちょっと前まで自宅サーバとかやってたんだkど、
煩いからやめたよ。

やっぱりレンタルサーバの方が安心だな。
※一通りのアプリは作れるけどセキュリティー面についてはサーバエンジニアには負けるだろうから。
192nobodyさん:2009/04/08(水) 13:57:34 ID:???
一通りのアプリって何?
193nobodyさん:2009/04/09(木) 05:30:52 ID:???
グーグルランク取得したいです。PHPで
でも、その方法が調べてもわからないんです
PHP暦は一年でそこそこです
194130:2009/04/09(木) 06:11:15 ID:???
見つかったのでもういいです
ほんと、役に立たない人達。いつも俺は、あんたら初心者のために
泥の中をはいつくばるように質問に答えて、その上暴言を吐かれ
それでも答え続けてるのに、情けない奴らだよほんと
この程度も即レスできないようじゃ
また、この時間に寝ているとの意見もあるだろうが
そのような言い訳も聞く気もありません
本当に幻滅しました。能力の無い糞
195nobodyさん:2009/04/09(木) 06:56:29 ID:???
130 名前:nobodyさん[sage] 投稿日:2009/04/09(木) 05:12:24 ID:???
グーグルランクをPHPで取得する方法がわかりません

131 名前:130[] 投稿日:2009/04/09(木) 05:15:38 ID:sBmn/pA0
グーグルランク取得したいです。PHPで
でも、その方法が調べてもわからないんです
PHP暦は一年でそこそこです
196nobodyさん:2009/04/09(木) 10:20:18 ID:???
香ばしい。もう少し熟成させよう。
197nobodyさん:2009/04/09(木) 17:20:26 ID:???
実務でphpを使用したWEBアプリを開発する場合の開発環境は一般的に
何が使われていますか?

※Windowsだと色々と便利なIDEが出てますけどLinuxの場合だと
ExlipsePDTが一番多く使われているのでしょうか?
それともエディタで開発をしているのでしょうか?
198nobodyさん:2009/04/09(木) 17:21:33 ID:???
そんなの人それぞれだろ
199nobodyさん:2009/04/09(木) 20:40:44 ID:???
>>198
だから実際の開発現場では何が一番使われてますか?って質問に答えて下さいな。
200nobodyさん:2009/04/09(木) 20:53:21 ID:???
開発現場でも人それぞれでどれが多いってほどダントツなものはないがあえて言うなら
viで開発してる人はいない
ネタで掲示板で開発してるってレスしてるやつ見るが現場で一度もみたことない
emacs,eclipse,がたいてい使われてる
201nobodyさん:2009/04/09(木) 21:10:45 ID:???
>>193
ヒント: Google Toolbarをインスト-ルしてパケットキャプチャしてみる
202nobodyさん:2009/04/09(木) 21:16:33 ID:???
おれはvimがあれば充分
203nobodyさん:2009/04/09(木) 21:18:29 ID:???
>>199
本業の人じゃないと思うけど言動を慎め
204nobodyさん:2009/04/09(木) 21:33:58 ID:???
>>203
本業は.Net中心に開発してます。
PHPは実務経験無いです。

俺の言動に何処か文句でもおあり?
205nobodyさん:2009/04/09(木) 21:35:21 ID:???
そりゃ見込みないな
206nobodyさん:2009/04/09(木) 22:12:47 ID:???
>>204
なんだ.net開発かよ
ディレクターの俺になんか文句あるか?
207nobodyさん:2009/04/09(木) 22:32:22 ID:???
ディクレーターw?

敢えて言うならカスかな
208nobodyさん:2009/04/09(木) 22:40:54 ID:???
【給料】
ディレクター>>越えられない壁>>開発土方

【地位】
ディレクター>>越えられない壁>>開発土方

他に何か?
209nobodyさん:2009/04/10(金) 01:34:27 ID:???
【給料】
社長>>ディレクター>>越えられない壁>>開発土方

【地位】
社長>>ディレクター>>越えられない壁>>開発土方

※俺は個人会社の代表
210nobodyさん:2009/04/10(金) 01:35:23 ID:???
ばりばりVSを使用してphp開発をしているのって俺位?
211nobodyさん:2009/04/10(金) 02:55:27 ID:???
あまりいないと思うけど慣れてるんなら別にいいんじゃね
212nobodyさん:2009/04/10(金) 03:42:17 ID:???
>>211
自分でも多分VSでphpコード書いてる奴は少ないと思う。
でもEclipsePDT何かよりよっぽど使いや寸だけど
213nobodyさん:2009/04/10(金) 03:48:42 ID:???
Meadow と cygwin でやっちゃうなぁ。

どうもデバッガとかは、コードを意味より動きでみてしまうせいか、後から見ると可読性が
落ちることが多くて、結局つかわなくなっちゃう。デバッガ使わないなら、なれたのが一番いいし。
214nobodyさん:2009/04/10(金) 10:14:46 ID:???
>>212
vsは使ってないけど自分が使いやすいのが一番だよな
俺はdwで満足してる
215nobodyさん:2009/04/10(金) 10:28:33 ID:???
俺はもともとJavaの開発者だったからEclipseが使いやすいんだけどね
まぁひとそれぞれだわなぁ
216nobodyさん:2009/04/10(金) 11:06:27 ID:???
さくらインターネットでcron(クロノ)を使用してphpスクリプトを実行しようとしているのですが
いまいち分かりません。実行コマンドとしては次であっておりますでしょうか?

【登録した実行コマンド】
crontab -e Test_cron.php

【実行時間】
月 日 時 分 曜日
1 1  11 5  金

【Test_cron.php】
//動作実績にあるphpスクリプトでメールの送信を行うプログラムです。
217nobodyさん:2009/04/10(金) 11:11:55 ID:???
激しくPHPと関係ない件
218nobodyさん:2009/04/10(金) 11:20:14 ID:???
IDE便利だと思うけど、重いからほとんど起動しない・・・
よって秀丸ばっかり
219nobodyさん:2009/04/10(金) 15:18:55 ID:???
オレ今日徹夜しちゃったぜヴェーハッハ


って言ってる厨房・攻防と同レベルのDQNが沸いてると聞いてとんできますた
220nobodyさん:2009/04/10(金) 15:23:33 ID:???
?≫219?
221nobodyさん:2009/04/10(金) 15:27:12 ID:???
正規表現野郎が本スレで暴れてるんですけど引き取りに来てくれませんか?
222nobodyさん:2009/04/10(金) 15:35:13 ID:???
>>221
スルーもできない春厨はROMってろ
223216:2009/04/11(土) 19:09:13 ID:???
相変わらずcronを実行する事が出来ません。
一体何が原因でしょうか?

224nobodyさん:2009/04/11(土) 19:29:21 ID:???
PHPのアップローダーで最大ファイル制限をはずしたいと思っています。

php.ini の
memory_limit = 8000M
post_max_size = 8000M
upload_max_filesize = 8000M

等、以外に設定をおしえてください。
225nobodyさん:2009/04/11(土) 19:58:20 ID:???
>>224
php.ini以外で外せたら大変なことになりますよね
226224:2009/04/11(土) 20:44:21 ID:???
それぞれ、20Mにするとエラーなくアップできるのですが、
極端に8000Mとかに増やすとエラーがでます。
227nobodyさん:2009/04/11(土) 20:50:02 ID:???
何のエラー?
228nobodyさん:2009/04/12(日) 02:52:45 ID:???
phpのコードで、指定したディレクトリの中にあるファイルの数を調べようと
次のコードを記述したのですが、存在しないファイル(?)まで表示されてしまいます。
この「.」と「..」とは一体何なのでしょうか?

.<br>..<br>aaa.txt<br>bbb.txt<br>

$dir_file = opendir( './Test_dir' );
while( $file_name = readdir( $dir_file ) )
{
print "{$file_name}<br>";
}
closedir( $dir_file );

【結果】
.<br>..<br>aaa.txt<br>bbb.txt<br>

【ファイル一覧】
Test_dir
 a.txt
 b.txt
229nobodyさん:2009/04/12(日) 02:57:43 ID:???
>>228
DOSプロンプトとか、UNIXシェルでcd .. とかやったことない?
230nobodyさん:2009/04/12(日) 03:00:14 ID:???
>>229
cdコマンドは使った事があります。
..
だと一つ上の階層に移動する、という意味で、.
というのはカレントディレクトリを指しますよね?
なのになぜにファイル一覧を取得するメソッドを呼び出した時に
こんな「.」や「..」が現れるのか皆目検討が付きません。

231nobodyさん:2009/04/12(日) 03:05:09 ID:???
>>230
そいつらも「ディレクトリ」で、「ディレクトリ」は「ファイル」の一種だから。
232nobodyさん:2009/04/12(日) 03:07:15 ID:???
そーだったのかー
233nobodyさん:2009/04/12(日) 03:21:17 ID:???
>>231さん
ありがとうございます。
「.」と「..」もディレクトリであり「ファイル」の一種だったんですね。
勉強になりました。ありがとうございました。

234nobodyさん:2009/04/12(日) 18:40:25 ID:2x7CLOXE
smartyで、$test1/$test2とかの計算方法は出来るんですが、

例えば
($test1/($test2+$test3)*$test4)といった、中カッコや大カッコを使った計算ってどう記述すればいいんでしょうか?

初心者ですみません。
235nobodyさん:2009/04/12(日) 18:56:00 ID:???
じゃ初心者でなくなってください
236nobodyさん:2009/04/12(日) 19:01:23 ID:???
>>235は初心者だから回答できないだけですよ

>>234
smarty使ったことないからしらねえけどそれで動かないの?
237nobodyさん:2009/04/12(日) 19:04:37 ID:???
専用スレで聞けばいいのにね
238nobodyさん:2009/04/12(日) 19:49:53 ID:???
>>236
できないから聞いてんだろお前ほんとアホだなぁ
239nobodyさん:2009/04/12(日) 20:58:55 ID:???
なんで使ったこともないのに回答しようとするの?
240nobodyさん:2009/04/12(日) 20:59:28 ID:???
自己紹介乙
241nobodyさん:2009/04/12(日) 21:34:22 ID:???
>>239
おまえは?
242nobodyさん:2009/04/13(月) 00:38:00 ID:???
初心者向けの解説本で
Smartyとか紹介してるのってなんなの?

初心者にいきなりsmartyっていったって
わかるわけないじゃん。
243nobodyさん:2009/04/13(月) 00:40:49 ID:???
ぶっちゃけPEARって便利なの?
やっぱり俺ライブラリが一番使いやすいのだが
244nobodyさん:2009/04/13(月) 00:56:42 ID:???
一番使いやすいの使えばええやんとしか答えようがない
245nobodyさん:2009/04/13(月) 01:03:16 ID:???
同意
246nobodyさん:2009/04/13(月) 02:13:26 ID:???
自分、PEAR って未だによく分かってないんだけど、あれってコンパイラが要るの?
Windowsで APC使おうとしたとき、VC++6.0 が要るとかで、結局断念したんだけど。

以前はpecl4win でバイナリ持ってきたんだけど、サイト再構築するとか言って、ずっと死んだままだし。
247nobodyさん:2009/04/13(月) 02:14:38 ID:???
お前は何を言ってるんだ
248nobodyさん:2009/04/13(月) 02:15:36 ID:???
PEARはコンパイラはいらないよ
249nobodyさん:2009/04/13(月) 02:18:27 ID:???
ごめん、PEARとPECLは別物か。
すんません。
250nobodyさん:2009/04/13(月) 02:45:29 ID:???

馬鹿発見
251nobodyさん:2009/04/13(月) 20:35:30 ID:???
PEしかにてないじゃん
252nobodyさん:2009/04/13(月) 23:24:39 ID:???
DBから取得した値を可変の配列に格納しようと思ってるのですが、
.NetのArryalListに似たコードはありますか?
253nobodyさん:2009/04/13(月) 23:25:34 ID:???
マルチ失せろ
254nobodyさん:2009/04/13(月) 23:54:58 ID:???
>>253
いや、別スレに投稿したのは俺だけど>>252はリアルに俺の投稿じゃないよ。
誰かがコピペしてるって
255nobodyさん:2009/04/14(火) 01:30:13 ID:???
回答もらうと態度でかくなるんですね
256nobodyさん:2009/04/19(日) 19:33:07 ID:gK+IYAFS
PHPでカウンター作ったんですが、カウントの記録はcount.txtといったファイルに記述してます。
ですのでファイルが破損したらアウトになるわけなんですが、破損防止として出来る対策というのはどういったものがあるのでしょうか?
257nobodyさん:2009/04/19(日) 19:35:55 ID:???
flock
258nobodyさん:2009/04/19(日) 19:57:58 ID:???
>>256
ダミーファイルに書き込んで成功したらcount.txtに書き込み
259nobodyさん:2009/04/19(日) 20:00:24 ID:???
リネームじゃなかっけ
260nobodyさん:2009/04/19(日) 20:10:55 ID:???
temp.txtに記録して、
それからcount.txtにリネームする、
ってよく聞くけど、なんの意味がある?
261sage:2009/04/20(月) 09:33:36 ID:???
 PHPで外部の画像を取って表示するものを作成しました。
PHP単体にアクセスをすると表示されるのですが、HTMLの中に表示すると実画像がない場合に表示される
アイコンになります。
PHP(sample.php)の中に
<?php
print "<img src=\"sample.jpg\">";
?>
と書いた場合はHTMLには<img src="sample.php">では表示されないのでしょうか?
念のためにPHPのプリントの前に
header('Content-Type: image/gif');
を置いて見ましたがダメでした。
どのようにすれば表示されますか?
262261:2009/04/20(月) 09:36:06 ID:???
すいません。書き間違いました。

×:header('Content-Type: image/gif');
  ↓
○:header('Content-Type: image/jpg');

表示方法をご存じの方おられたらアドバイスください。
263nobodyさん:2009/04/20(月) 09:49:59 ID:???
そりゃそうだ

<?php
header('Content-Type: image/jpg');
print "<img src=\"sample.jpg\">";

これがimage/jpgなわけない
sample.jpg自身を出力すればいいよ
264261:2009/04/20(月) 10:12:37 ID:???
>>263
レスありがとうございます。

sample.jpg自身を出力ですか?
PHPが取得する内容によってsample.jpgは毎回変わるので
htmlの中にimgタグでsample.jpgを書くってことではないですよね。
私の方で何か凄い勘違いしてますか?
265nobodyさん:2009/04/20(月) 10:26:29 ID:???
うん
266nobodyさん:2009/04/20(月) 10:47:10 ID:???
phpでそのsample.jpgをバイナリーモードでオープンして読み込んで
そのまま出力するんだよ。
267261:2009/04/20(月) 10:47:38 ID:???
>>265
htmlにsample.jpg自身を出力すればよい
ってことになると思いますが、sample.jpg自身はPHPから引っ張ってくるので
htmlの中の記述としてはsample.phpになるかと思います。
php自身にsample.jpg自身を出力させるということでしょうか。

ファイルの拡張子を変更してみたりしましたが特に進展はありませんでした。

アホな私にもう少しだけ助言いただけないでしょうか。
本当に申し訳ないです。
268nobodyさん:2009/04/20(月) 11:26:33 ID:???
一番シンプルな形だとこうか。

<?php
header("Content-type: image/jpeg");
print file_get_contents("sample.jpg", FILE_BINARY);
?>
269261:2009/04/20(月) 11:26:54 ID:???
>>265-266
freadで読み込んでやれば出来るようになりました。
つまらない質問に長々とつきあっていただきありがとうございました。
270nobodyさん:2009/04/20(月) 11:43:20 ID:???
>>268
readfile
271sage:2009/04/20(月) 11:59:35 ID:???
横やりすんまそ
>>268だと複数画像って表示出来ないよね
header("Content-type: image/jpeg");
print file_get_contents("sample1.jpg", FILE_BINARY);
print file_get_contents("sample2.jpg", FILE_BINARY);
この場合sample1.jpgのみ表示されるけどこれって俺のサーバーの環境に依存してる?
272nobodyさん:2009/04/20(月) 12:03:23 ID:???
お前は何を言ってるんだ
273nobodyさん:2009/04/20(月) 12:09:14 ID:???
HTTPを先に勉強しる
274nobodyさん:2009/04/20(月) 12:19:37 ID:???
simplexml_load_fileを使ってRSSを取得しているのですが、
実行するタイミングによってなのか、
parser error : StartTag: invalid element nameが発生するときとしない時があります。
原因に心当たりがあれば教えてください。
275nobodyさん:2009/04/20(月) 12:20:11 ID:???
合成したいならGD組み込んだImage〜関数使って自分でくっつける
276nobodyさん:2009/04/20(月) 13:25:43 ID:???
一行で掲示板を構築するやり方教えて
一行じゃ足りなかったらもうちょっと増やしてもいいよ
277nobodyさん:2009/04/20(月) 13:33:20 ID:???
改行しなければおk
278nobodyさん:2009/04/20(月) 15:16:17 ID:???
以下のような配列があった場合に、
nameの値だけ取り出して新たな配列を作る関数はありますか?

$arr = array(
array("id"=>"1", "name"=>"aa"),
array("id"=>"2", "name"=>"bb"),
array("id"=>"3", "name"=>"cc")
);

欲しい配列は{"aa", "bb", "cc"}です。
279nobodyさん:2009/04/20(月) 15:18:18 ID:???
PDOならfetchAll(PDO::FETCH_COLUMN, 1)で可
280278:2009/04/20(月) 15:35:47 ID:???
ありがとうございます。
追加モジュールが必要ということですね。
281nobodyさん:2009/04/20(月) 15:40:57 ID:???
ボタンのnameを可変変数にして、
「このボタンが押されれば、このページを表示する」という処理を行いたいのですが、
どのようにすればできるのでしょうか?

282nobodyさん:2009/04/20(月) 15:41:28 ID:???
いやDBから取得するときに工夫したほうが楽よってだけ
283nobodyさん:2009/04/20(月) 15:43:05 ID:???
>>281
<form action="hogehoge.html" method="get">
284281:2009/04/20(月) 15:56:10 ID:???
説明が足りませんでした。すみません・・・
どうしてもPOSTでやらないといけないのです。

<form method="post" action="hogehoge.php">
<?
$roopCnt = 3;
for($i=1; $i<=$roopCnt; $i++){
$btnName = "btn".$i;
?>
<input type="submit" name="$btnName" value="test" />
<? } ?>
</form>

このようなもので、
・btn1が押されたら、1ページ目
・btn2が押されたら、2ページ目
・btn3が押されたら、3ページ目
をそれぞれ表示したいと考えています。
285nobodyさん:2009/04/20(月) 16:02:39 ID:???
hiddenでいいんじゃ?

<input type="hidden" name="page" value="<?php echo $i; ?>">

あとHTMLの仕様上、ボタン1つにつきformも1つね。
まぁ1つのform内で異なるパラメータ付けた複数のsubmitボタン使えたら確かに便利なんだけど。
286nobodyさん:2009/04/20(月) 16:06:08 ID:???
ああごめん、もしボタン名で区別してもいいならsubmitのvalueの値でも良かったわ

-----------------------------------------
<?php
var_dump($_GET);
?>

<form action="">
<input type="submit" name="page" value="1">
<input type="submit" name="page" value="2">
<input type="submit" name="page" value="3">
</form>
-----------------------------------------
287281:2009/04/20(月) 16:15:51 ID:???
ありがとうございます!
なるほど、フォームを複数使うというのもありなんですね。
ボタン名はどれも同じで考えていますので、valueの値で判別するのはできないですね。

ボタンのネームに配列を使えれば、1つのフォームでもいけそうな気がするのですが、
そういうのってできるのでしょうか?
phpに手をつけはじめたばかりなので、書き方が思いつかない・・・
288nobodyさん:2009/04/20(月) 16:20:41 ID:???
>>287
<form action="">
<input type="submit" name="page1" value="1">
<input type="submit" name="page2" value="1">
<input type="submit" name="page3" value="1">
</form>

if(isset($_REQUEST['page1'])){
#処理1
}elseif(isset($_REQUEST['page2'])){
#処理2
}elseif(isset($_REQUEST['page3'])){
#処理3
}
289nobodyさん:2009/04/20(月) 16:23:51 ID:???
submitのnameの値で区別するのってどうなん?
個人的にはあまり好ましくないやり方だと思ってたけど
290nobodyさん:2009/04/20(月) 16:30:24 ID:???
valueは日本語が入ることもあるからname使うケースもあるなあ
291nobodyさん:2009/04/20(月) 16:31:52 ID:???
まぁ、普通はJSと組み合わせてやるね
292281:2009/04/20(月) 16:33:24 ID:???
JSを使うやり方もあるのですね。
288さんのやり方で頑張ってみようとおもいます。
ありがとうございました。
293nobodyさん:2009/04/20(月) 17:49:16 ID:???
さっさと答えろやksdm
294nobodyさん:2009/04/21(火) 02:20:57 ID:/739X32B
今カートを作ってるんだけど、質問です
やりたいことはttp://hoge.com/item/1111/item.php
というページにアクセスした場合、動的に商品ID「1111」に一致する商品内容を表示したいです

商品IDごとにディレクトリを作ってhtmlも作るというのは現実的ではないと思い調べていたら.htaccessを知りました
そこで質問ですが、itemディレクトリに.htaccessを置いて、ディレクトリが無いので404エラーを出し
itemディレクトリに設置してあるitem.phpを表示するようにする
そのitem.phpでディレトクリ「1111」を取得して商品IDとして処理する方法って出来るのでしょうか?
出来る場合は邪道でしょうか?
295nobodyさん:2009/04/21(火) 02:22:31 ID:???
>>294
ZendFramework使え
296nobodyさん:2009/04/21(火) 04:00:52 ID:???
>>294
数回読んだけどいまいちつかめない…
とりあえずmod_rewrite使えって事かと
297nobodyさん:2009/04/21(火) 07:01:25 ID:???
すいません、考えてもわかりませんでした。
PHPでブログ自作で、カレンダーで記事のある日だけリンクを張る
仕組みがどうしてもわかりません
後日付関係全般。どのように処理してるのか、仕組みを教えて下さい
mysqlでもいいです。
298nobodyさん:2009/04/21(火) 07:10:45 ID:???
select distinct day(article_date) from articles where year(article_date) = 2009 and month(article_date) = 21
299nobodyさん:2009/04/21(火) 07:11:25 ID:???
21じゃなくて4だった
300297:2009/04/21(火) 08:05:00 ID:???
あ、わかりました
個数とかって記録すべきか、一回一回数えるSQLで行くべきか
悩みます
301274:2009/04/21(火) 10:08:05 ID:???
すみません、274なんですけど、
わかる方いらっしゃいませんか?
302nobodyさん:2009/04/21(火) 10:37:43 ID:???
エラー時のRSSデータをまず保存してはどうだろう
303nobodyさん:2009/04/21(火) 14:24:33 ID:???
>>300
そういう冗長性が発生するチューニングは遅いと思ってからやった方が良いんじゃない。
適切にインデックスつければよっぽど問題にならんし。
304nobodyさん:2009/04/21(火) 22:37:51 ID:???
$a='1,2,3,4,5,';
foreach(explode(',',$a) as $v) echo $v;

こう書くのってどう?キモい?
305nobodyさん:2009/04/21(火) 23:23:43 ID:???
コードの縮小化ならいいと思うがな
一人で使う分にはいいがいろんな人に見せるなら見栄えを取った方がいい
306294:2009/04/22(水) 00:51:27 ID:???
>>296
ありがとう
今までやってたけどうまくいきました
使ったものは$_SERVER['PATH_INFO']だけど、ここにたどり着けた事に感謝
307nobodyさん:2009/04/22(水) 00:58:06 ID:???
>>300
コードは分かりやすく書いてキャッシュかなぁ
308nobodyさん:2009/04/22(水) 01:55:32 ID:???
>>304
一度文字列に代入する理由が分からないが、explodeで配列にするのだから、

foreach (array(1, 2, 3, 4, 5) as $v) echo $v;

でよくね?
309nobodyさん:2009/04/22(水) 11:07:24 ID:???
foreachだけ配列を使うって決まってるならそれでもいいが
それだと使いまわせない
310nobodyさん:2009/04/22(水) 11:43:35 ID:???
$array = array(1,2,3,4,5)でいいじゃん
311nobodyさん:2009/04/23(木) 18:29:33 ID:???
PHP+MySQLで本のデータベースサイト作ろうと思っている
で、よくある「http://x-comic.info/」みたいにタグの部分をクリックすれば一覧が表示されるページ作りたいんだけど、
具体的な作り方が何を見ても載ってないというか俺が無知すぎて分からないというか・・・
こういうやり方が載ってるサイトとか書籍とかってないの?
312nobodyさん:2009/04/23(木) 18:30:33 ID:???
タグの部分?
313nobodyさん:2009/04/23(木) 18:39:15 ID:???
エロサイトの宣伝か・・・
314nobodyさん:2009/04/23(木) 19:29:14 ID:???
あー確かにエロサイトの宣伝と思われても仕方なかったなw
でも他にいいサイト思い付かなかったんだよ。
一般系のデータベースサイトで似たような構成のとこあったら教えてもらえると嬉しい。
知人に聞こうと思ったりもしたんだがここのエロ系データベースサイトくらいしか思いつかなくて聞けなかったんだわ
話は戻るけど>>312さんの言うとおりタグの部分(クリックすると一覧が出る)ところの作り方です
315nobodyさん:2009/04/23(木) 19:56:26 ID:???
>>314
多対多の結合だからちょっと難しいかもね。

データの件数にもよるが、真面目につくろうとすると↓のような感じで3つのテーブルが必要。
books(id、 name)

tags( id、 name)

books_tags( book_id、 tag_id)

あとはセレクト文でごにょごにょ。
316nobodyさん:2009/04/23(木) 20:07:23 ID:???
>>314
ドカントに広告出してる三流風俗店のHP管理乙
317nobodyさん:2009/04/23(木) 21:14:05 ID:???
>>314
ありがとう、検討してみる
俺はもうちょっと勉強が必要だな
318nobodyさん:2009/04/23(木) 23:21:30 ID:???
タグ名までid化する必要性って、あんまりない気がする。
319nobodyさん:2009/04/24(金) 01:27:59 ID:???
なんで?
320nobodyさん:2009/04/24(金) 04:39:48 ID:???
タグIDの代わりにタグ名そのまま使っても大差ないから。

っていうか、自分なら、ブック名も変更されたりかぶったりする可能性がないなら、
こっちもID化しないかなぁ。
データベース直接見た時にラクだから。

大概はインデックス貼っとけばパフォーマンスは、確保できるし。
321nobodyさん:2009/04/24(金) 23:37:47 ID:???
タグ名を自然キーとしてIDにするという話と、ID化しない=主キーのないテーブルを作るという話とどっちなんだ?
322nobodyさん:2009/04/24(金) 23:42:55 ID:???
うんID化とかいう俺俺用語は本質を理解してなさげが伝わるので微妙
323nobodyさん:2009/04/27(月) 15:32:30 ID:???
下のソースを実行すると画像が1個しか表示されません。
readfileの部分をHTMLタグのimg srcにするとちゃんと全部表示されます。
1個目は表示されているので間違ってはいないと思いますが、
大して理解出来ていない私にどこに問題あるのか突っ込みいれてもらえないでしょうか。

header("Content-type: image/gif");

// 画像表示
for($i = 1; $i < 10; $i++){
$num = substr($count , $i , 1);
readfile($num . ".gif");
}
324nobodyさん:2009/04/27(月) 15:41:55 ID:???
あたりまえだろ
最終的にどうしたいのか
325323:2009/04/27(月) 15:46:02 ID:???
複数の画像をHTMLに呼び出したいです。
>>323だとindex.htmlに表示することが出来ないのでHTMLに<img src〜といった形で
呼び出せるようにしたいと考えてます。
iframeも考えたのですがデザイン上それがダメということでどうにか出来ないものかと思ってます。
326nobodyさん:2009/04/27(月) 16:00:26 ID:???
複数画像分だけimg src=〜でいいじゃない
327323:2009/04/27(月) 16:17:06 ID:???
>>326
画像は日によって表示されるものがかわるので
HTMLにimg srcで固定してしまうわけにはいかない状態です。
またHTMLにimgタグでphpを指定しても1個しか表示されないので
複数画像分の指定がどのようにすれば出来るのかが分からない状態となっております。
328nobodyさん:2009/04/27(月) 17:12:23 ID:???
何か疲れるなあ

変更できないhtmlファイルの中に可変個の画像を置きたい、ということでいいのか?
329327:2009/04/27(月) 17:14:43 ID:???
>>328
はい。
説明がへたくそで申し訳ないです。
330nobodyさん:2009/04/27(月) 17:31:11 ID:???
img src=〜を書き出すPHPをincludeすればいいんでないの
331nobodyさん:2009/04/27(月) 17:39:04 ID:???
まあどっちにしても1個のIMGタグで複数画像を表示するのは無理。

方法としては、複数の画像をPHPで1個にくっつけて出力。
IMGタグを複数書く手段を考える。

のどっちか。
IMGタグをPHPの出力で複数にしつつ、SRC="xxxx.php?param=1"とかやればいいように思うけど
332327:2009/04/27(月) 17:42:52 ID:???
HTMLにincludeとなるとSSIのincludeで埋め込むという事でしょうか?
実際に試してみましたがうまくいかないようです。
今だに>>323のソースで画像が1個しか表示されない理由が不明なのでがんばってみます。
333nobodyさん:2009/04/27(月) 17:54:20 ID:???
>>332
includeについては、HTML側を.phpにしてincludeすれば良いだけよ

PHP入門サイトを適当に流し読みして、
せめて何が出来るのかを理解してみたほうがよい
334nobodyさん:2009/04/27(月) 18:06:26 ID:???
>>332
>今だに>>323のソースで画像が1個しか表示されない理由が不明なのでがんばってみます。

コーラを飲んだらゲップがでるるくらいあたりまえなんだが
HTML自体わかってないのか
335nobodyさん:2009/04/28(火) 05:11:21 ID:???
Googleとかで適当に検索して ”この先を見るにはログインする必要があります”
ってサイトに巡り合ったとします。
それでGoogleにあるキャッシュってを押しても中身を見れず
ログインする必要がありますって言われるのはなんでですか?
GoogleのROBOTがそのページを収集してると思うんですけど
PHPでは何の関数を使ってるんですか?
336nobodyさん:2009/04/28(火) 11:29:29 ID:???
はい?
上:クローラーがログインできるわけないから
下:GoogleがPHPの何の関数を使ってるかということ?
337nobodyさん:2009/05/01(金) 17:40:52 ID:???
質問です。

foreachで値を.","で区切って

 12,14,33,11,18,

ってなるまではいいのですが、最後の値18の次の","は消すことできますか?

 12,14,33,11,18

にしたいのですが、お願いします。

338nobodyさん:2009/05/01(金) 17:58:39 ID:???
implode(',', $array)とか
339nobodyさん:2009/05/01(金) 18:02:40 ID:???
>>338
解決しました。thank you so much
340nobodyさん:2009/05/02(土) 11:01:45 ID:V+mNLWbo
PEAR:Net_IMAPで、
PHP上で生成したメールメッセージをGmailのINBOXに保存したいんだけど、
mail_composeとかmove関数が実装されてない?
341nobodyさん:2009/05/02(土) 11:36:05 ID:V+mNLWbo
自己レス。できた。
342nobodyさん:2009/05/02(土) 17:12:13 ID:???
PECLで魅力的な関数があるけど
みんなPEARとか使ってんの?
343nobodyさん:2009/05/02(土) 21:20:35 ID:+TEZ3ZO9
お願いです。教えてください。
smartyで年月選択のセレクトボックスをつくりたいのですが、リストの内容を、「現在の年からさかのぼって30年」というふうにしたいのです。
また、それとは別に「現在年から3年後」までのリストも表示したいです。
どこに何をいれれば表示できるのかさっぱりわかりません。
よろしくお願いします。

Apache 2.2.11
MySQL 5.1.33
PHP 5.2.9 です。
344nobodyさん:2009/05/02(土) 21:54:01 ID:???
誘導厨
345nobodyさん:2009/05/02(土) 22:47:23 ID:???
346nobodyさん:2009/05/03(日) 05:25:43 ID:???
問い合わせフォーム等を、ググりまくりながらギリギリコピペなしで自作できるようになったレベルの準初心者です
今参考にしてるソースに一見簡単そうなのに未知の記号が出てきて、完全読解不能に陥ってます
ググりたいんですが何でググればいいか手がかりがなくてちょっと質問させてください

$number = ($_GET['n']) ? $_GET['n'] : count($r->getItems());

この行の「?」と「:」と「->」はいったいPHPの何を勉強すれば出てくるんでしょうか
この行が何をしてるのかわからないばっかりに変にいじってAnhttpdが強制終了しまくりますw
347nobodyさん:2009/05/03(日) 06:31:10 ID:???
三項演算子とアロー演算子
348346:2009/05/03(日) 07:49:18 ID:???
ありがとうございます
ひょっとして三項演算子ってifとelseでいいんじゃとか思うのは素人だからですね・・・
349nobodyさん:2009/05/03(日) 10:06:03 ID:???
>>345
ありがとうございます。
実はここに書き込む前にこのページを検索して見つけてはいたのですが、どうやって記述すればよいのかまったくわかりません。
ためしにsmartyのなかに{html_select_date}とかいてみましたがそのまま出てきてしまいました 汗
まったくのど素人で申し訳ないのですがよろしくお願いします。

350nobodyさん:2009/05/03(日) 10:30:25 ID:???
>>349
別にif-elseでいいよ
三項演算子は可読性が悪いから
会社とかだと大抵コーディング規約で禁止されてる
変数に入れられるのは結構いい場面もあるけどね
例にもあるように$_GETや$_POSTなんかをセットするときには便利
351350:2009/05/03(日) 10:31:06 ID:???
↑アンカーミス
>>348宛ね
352nobodyさん:2009/05/03(日) 10:37:40 ID:???
三項演算子なんてほとんどの言語に用意されてるわけだしわざわざ禁止する会社があるのか?
353nobodyさん:2009/05/03(日) 10:43:38 ID:???
三項演算子を入れ子にされるとわかりにくくなることはあるなw
354343=349:2009/05/03(日) 10:57:52 ID:???
なんとか試行錯誤して表示することができました。
これって平成〜年とか昭和〜年とか表示するドロップダウンリストをつくることはできないのでしょうか?
355nobodyさん:2009/05/03(日) 12:40:21 ID:???
>>352
グループで開発するってのはそういうことなんだよ
356nobodyさん:2009/05/03(日) 13:04:05 ID:???
複数人で作業するときとかスクリプトを縮小化とき以外に三項演算子使うやつはバカ
357nobodyさん:2009/05/03(日) 13:21:09 ID:???
358nobodyさん:2009/05/03(日) 15:01:30 ID:???
そろそろ話し控えないと参考演算子クンが荒らしに変貌しそうだよ!
359nobodyさん:2009/05/03(日) 15:06:48 ID:???
参考演算子てwwwwwww
360nobodyさん:2009/05/03(日) 16:44:20 ID:???
三項演算子を規約で禁止しちゃうような会社はいろんな意味でダメだろうなぁって気はする。
まぁバカでも組めるものを組ませるって考えはあるんだけどさ。
361nobodyさん:2009/05/03(日) 16:56:31 ID:???
>>360
残念
社会では三光演算子は嫌われます
362nobodyさん:2009/05/03(日) 17:00:05 ID:???
>>358
残念
社会では三光演算子は嫌われます
363nobodyさん:2009/05/03(日) 17:06:02 ID:???
確かにドカタの監督からは嫌われるだろうね。
364nobodyさん:2009/05/03(日) 21:25:24 ID:???
CSVにデータを書き出すスクリプトで、一行終わったら改行が入るようにしているんですが、
処理の途中で止まって(とめて)改行が行われないことがあります(あるとします)。その時に、ファイルの最後に
改行が入ってないことを検知して、改行をした上で新しいデータを次の行から作りたいんですが、
改行の有無はどうやったら検知できますでしょうか?今使っているエディタ(EmEditor)では
「↓」という記号で改行がマークされ、ググったりしましたが、どうしていいものやらよく
わかりません。


1,2,1,2,3,2[改行]
1,1,1,2,3,3[改行]
1,1,2,[処理ストップ、改行なしの行]  <-- [改行]が無いことを検知して改行追加したい

常に改行を冒頭に入れるようにすると、データのない行ができて、のちのち面倒なので、
それは避けたいと思っています。
365nobodyさん:2009/05/03(日) 21:31:37 ID:???
\n
366364:2009/05/03(日) 21:43:26 ID:???
fseek($file, -4, SEEK_END);
$string = fgets($file, 1000);
var_dump($string);

dumpしても改行部分は空白になりますよね。
例えば、検索かけて、"\n"でマッチするんでしょうか?
367364:2009/05/03(日) 21:56:26 ID:???
マッチしますね。失礼しました。m(._ _)m
368nobodyさん:2009/05/04(月) 13:26:07 ID:0LqkTRhF
POSTで送った引数がIE6,7では表示されない
firefoxでは表示されてる。。。
php.iniの設定変更がいるのですか?
369nobodyさん:2009/05/04(月) 13:40:32 ID:???
いらん
370nobodyさん:2009/05/04(月) 13:53:15 ID:0LqkTRhF
ある掲示板でvariables_orderを「EPGS」にすればとありましたが、
それでも表示されないまま。
HTMLやCSSの問題ですか?
371nobodyさん:2009/05/04(月) 14:09:38 ID:???
>HTMLやCSSの問題ですか?
それ疑う前に
ソースみて反映されてるかどうか確認してみなよ
372nobodyさん:2009/05/04(月) 14:22:28 ID:0LqkTRhF
list.phpからdetail.phpにsubmitしてます。
ソースは以下です。
「list.php」
<html>
<body>
<form action="detail.php" method="POST">
<input type="image" src="img/detail.gif" name="submit" value="0001">
</form>
</body>
</html>
「detail.php」
<html>
<body>
<p>詳細情報</p>
<?php
print "submit:".$_POST["submit"]."<br>";
?>
取得情報:
<?php
print $_POST["submit"]."<br>";
?>
</body>
</html>
373nobodyさん:2009/05/04(月) 14:34:18 ID:???
IEでは位置情報しか送られん
374nobodyさん:2009/05/04(月) 15:14:34 ID:0LqkTRhF
解決しました
type="image"でなく、hiddenでPOSTしたらうまくいきました
phpinfo()で表示された値は位置情報だったんですね
375nobodyさん:2009/05/04(月) 15:15:04 ID:???
phpinfoで出るっけ?
376nobodyさん:2009/05/05(火) 21:05:16 ID:???
DBのログを取りたいのですがどうすればいいですか?
よく不正アクセスの痕跡を見つけた と言ってますが・・・
377nobodyさん:2009/05/06(水) 12:17:28 ID:???
二つの文章があります

(☆)(★)(◇)

(☆)(★)(◇)

(★)の部分は文字列、文字数共に不確定で1,2共に全く違う文章です。
(☆)(◇)の部分は文字列、文字数共に不確定ですが1,2共に同じ文章です

(★)の部分のみを切り取りたいのですがどうすればいいでしょうか?

378nobodyさん:2009/05/06(水) 12:18:14 ID:???
すみません番号を振るのを忘れていました

(☆)(★)(◇)

(☆)(★)(◇)



1.(☆)(★)(◇)

2.(☆)(★)(◇)
379nobodyさん:2009/05/06(水) 12:26:10 ID:???
>>377
意味がわからん
380nobodyさん:2009/05/06(水) 12:27:01 ID:???
381nobodyさん:2009/05/06(水) 12:27:14 ID:???
>>379
文章が二つあってどこが変更されたか検知するプログラムを作る場合どうすればいいでしょうか
382nobodyさん:2009/05/06(水) 12:28:09 ID:???
>>380
ありがとうございます!!こんな感じです
383nobodyさん:2009/05/06(水) 13:20:24 ID:???
>>380
やっぱりこれじゃダメでした
改行していない場合同じ文字列の部分も違う物として取得されてしまいました

改行していない文章の差分を取得したいのですが無理でしょうか・・・

たとえば

aaabbccc

axxaabbbccac

の二つの文章があった場合
xxとbとaを取得したいのです
384nobodyさん:2009/05/06(水) 13:31:31 ID:???
すみませんやっぱり大丈夫かもしれませんw
全て1文字ずつの配列にしたらしっかり判定されました
お騒がせしてすみません
385nobodyさん:2009/05/06(水) 15:01:48 ID:???
PDOを使って
MYSQLからデータ表示するコードください?
386nobodyさん:2009/05/06(水) 15:06:38 ID:???
387nobodyさん:2009/05/06(水) 15:36:58 ID:???
>>386
ありがとうです
あと、実行時にApache HTTPサーバーと表示させ落とされます
どうすればいいですか?
388nobodyさん:2009/05/06(水) 15:42:54 ID:???
Apache のログ見ろよ
389nobodyさん:2009/05/06(水) 16:04:07 ID:???
>>388
! ありがとうです
なんとかできそうです
390nobodyさん:2009/05/06(水) 16:48:50 ID:GdRs26+o
外部サイトからLZHファイルを取得して解凍、内容を取得したいのですが、うまくいきません・・・

$url = 'xxxxx'; //ファイルのURL

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);

$filename = $path . 'test.lzh';

file_put_contents($filename, $data);

exec('lha e ' . $filename);

こんなかんじなのですが、
ファイル取得まではできているのですが、
解凍ができません;

どこがおかしいのでしょうか?
391nobodyさん:2009/05/06(水) 16:54:27 ID:???
>>383
できる
392nobodyさん:2009/05/06(水) 17:07:04 ID:???
>>390
lhaにはパス通ってるの?
execの引数でフルパスで指定してみては
393390:2009/05/06(水) 17:32:18 ID:GdRs26+o
>>392
レスありがとうございます。
展開先を指定したらちゃんと解凍できました;
スレ汚しすみません;;

せっかくなので聞きたいのですが、
外部からのファイル取得方法は上記でよいのでしょうか?
いちど変数に格納してfile_put_contentsで書き込むというのがなんだか回りくどい気がするのですが、
ほかに方法がありましたら教えてください!
394nobodyさん:2009/05/06(水) 17:55:33 ID:???
そらまあローカルの実ファイルが無いと無理だからなあ。
組み込んでメモリストリームから、、、とかはこのスレの範囲外かな
395nobodyさん:2009/05/06(水) 19:39:47 ID:???
一旦、全部メモリ中に展開するってのはどうなんかね。
fread/fwriteを繰り返した方がいい気もするが。
396nobodyさん:2009/05/06(水) 23:04:45 ID:XF4iBoH0
MySQLでテーブルを作ったとき確認する方法は
PHPで記述する場合mysql_resultでいいのでしょうか?
397nobodyさん:2009/05/07(木) 07:02:22 ID:???
$data = array(
'hoge' => 'hoge',
'fuga' => 'fuga'
);

$data = array(
0 => array(
'hoge' => 'hoge',
'fuga' => 'fuga'
),
1 => array(
'hoge' => 'hoge',
'fuga' => 'fuga'
)
);

このような配列を、前者のタイプか後者のタイプか判定したいのですが、
どのような方法が考えられますでしょうか?

よろしくお願いします。
398nobodyさん:2009/05/07(木) 10:40:06 ID:???
前者のタイプか後者のタイプかってどういうこと?
399nobodyさん:2009/05/07(木) 11:34:01 ID:???
2次元配列かどうかってことだろ?
400397:2009/05/07(木) 12:28:43 ID:???
>>398
>>399

説明が足りず申し訳ありません。
2次元配列かどうか、というか、
1次元目(?)が連想配列なのか、単純な配列なのかを調べたいのです。

現在は、

if ( isset ( $data[0] ) )
だったら、後者というように判定しているのですが・・・
401nobodyさん:2009/05/07(木) 12:35:38 ID:???
ループでキーに数値以外が含まれてるかどうか判定するだけじゃん
プログラマーならすぐ思いつくと思うが・・
402nobodyさん:2009/05/07(木) 12:45:30 ID:???
>>400
多分、PHPには「単純な配列」って無いんじゃないかな。

http://php.morva.net/manual/ja/language.types.array.php
>PHP の配列は、実際には順番付けられたマップです。マップは型の一種で、 値をキーに関連付けます。
403nobodyさん:2009/05/07(木) 13:11:43 ID:???
>>402
だからキーが数値のみで
構成されているかどうかを
調べたい、ってことだろ?

専用関数あるだろ。
404nobodyさん:2009/05/07(木) 13:25:21 ID:???
>>403
それは質問者が考えればいいことだし。
ただ、「普通の配列」ってのは無いってだけで。
歯抜けな配列も作れるし、キー値だけでチェックするのもかなりびみょー。

ところで配列のキー値がすべて整数かチェックする専用関数って何?
ざっと見た感じ見当たらないんだけど。

http://php.morva.net/manual/ja/book.array.php
405397:2009/05/07(木) 13:25:50 ID:???
>>401
それはもちろん思いついたのですが、
もう少しスマートな方法はないかと思いまして・・・


return array_keys($array) !== range(0, count($array) - 1);

こんな方法があるのを知ったのですが、
これだと、

$array(
0 => 'hoge',
2 => 'fuga',
3 => 'piyo'
);

のように、配列が歯抜けになっている場合に一致しなくなりますし・・・

>>403
専用の関数とは何のことでしょうか??
406nobodyさん:2009/05/07(木) 13:38:16 ID:???
きみの言うスマートな方法ってのは明確で解かりやすいというより
制御構造使わないような方法のこと?
407nobodyさん:2009/05/07(木) 18:30:34 ID:???
クラスってのがなかなか理解できません
どなたか詳しく解説してくれませんか?
408nobodyさん:2009/05/07(木) 18:37:19 ID:???
どこが分からんの?
409nobodyさん:2009/05/07(木) 22:32:52 ID:???
>>407
いいよ。
410nobodyさん:2009/05/07(木) 23:13:30 ID:???
このスレの先輩方はhtmlは得意でしょうか?
411nobodyさん:2009/05/07(木) 23:28:15 ID:???
おうよ
412nobodyさん:2009/05/07(木) 23:31:35 ID:???
ほんとかよwwwwwwwwwwwwwwwwwww
413410:2009/05/07(木) 23:34:13 ID:???
僕は一応html4系とxhtml1.0と1.1で、しかもstrictとtなんちゃらで使えるタグと属性を口頭で全部言えるぐらいの知識しか持ちません
xhtml1.0 strictで使えるタグの数もパッと言えるぐらいの知識です
414nobodyさん:2009/05/08(金) 00:10:55 ID:???
じゃ言ってみてくれ
415410:2009/05/08(金) 00:13:27 ID:???
>>414
76個
416410:2009/05/08(金) 00:14:07 ID:???
ちなみにhtml4.1 strictとxhtml1.0 strictで使えるタグは同じです
417nobodyさん:2009/05/08(金) 00:16:17 ID:???
はよ全部言えよ
418nobodyさん:2009/05/08(金) 01:36:40 ID:???
なんだよ質問じゃなくただの知ったかかよ
419nobodyさん:2009/05/09(土) 08:57:00 ID:???
4択問題をcsvに記録していくスクリプトを作っています。
csvに下のように書き込まれるようにしています。

名前,答え,答え,答え,答え,答え,(改行)
名前,答え,答え,答え,答え,答え,(改行)
名前,答え,答え,答え,答え,答え,(改行)

複数の人が同時に行うと、下のようにデータが混ざってしまいますよね?

Aさん,答え(Aさん),[Bさん参入で改行]
Bさん,答え(Bさん),答え(Bさん),答え(Aさん),答え(Aさん),答え(Bさん),

実際に試してみるというのがやりにくい問題なので、何を勉強しないといけないか
教えていただけますか。
そもそもCSVでこの手の記録をやろろうとするのはどうなんでしょうか。
420nobodyさん:2009/05/09(土) 09:09:56 ID:???
flock
421nobodyさん:2009/05/09(土) 10:00:00 ID:???
>>419
コード書いてもらわないと的を得た回答はでないよ
422nobodyさん:2009/05/09(土) 17:18:10 ID:???
以前$_SERVER["DOCUMENT_ROOT"]のことでググったときに
DOCUMENT_ROOTの値が実際の値とは違う場合がある事例を見ました。
とすると<base>タグやスクリプト内で絶対パスを作るときにこの変数を使うのは
危険な可能性もあるんでしょうか。
$rootPath = $_SERVER["DOCUMENT_ROOT"];
$a = $rootPath."/sample";
<base href="{$rootPath}">
また$_SERVER["DOCUMENT_ROOT"]以外にルートパス(?)を取得する方法はありますか?
423nobodyさん:2009/05/09(土) 17:40:17 ID:???
aru
424nobodyさん:2009/05/09(土) 18:05:56 ID:???
そのDOCUMENT_ROOTの値が実際の値とは違う場合がある事例を知らないけど
その事例がわかれば対応できないか?
425nobodyさん:2009/05/09(土) 23:32:39 ID:???
DOCUMENT_ROOTって、
public_htmlとか、
htdocとかのこと?
426nobodyさん:2009/05/10(日) 00:07:15 ID:???
>>425
知らない奴に聞いてねえよ
ロムってろks野郎
427419:2009/05/10(日) 00:07:59 ID:???
概略はこんな感じです。最初のifで名前の処理をした後は、最初の問題提示が
一番下のelseから始まり、まず二つ目のifに入り、その後は最初のelseの中をぐるぐるやって、
問題がなくなったら終了するような仕様です。今のところflockはあてずっぽうに入っている状態です。
15問あったとしてAさんがそれを終えるまでのすべてにろっくをかけておかないといけないのでしょうか。
複数の人が同時に問題を解けるようにしたいのですが。
if($_POST["id"] =="999"){
$file_name = "record.txt";
$file = fopen($file_name, "a+") or die("OPENエラー $file_name");
flock($file, LOCK_EX);
中略(解答者の名前の書き込み)
fputs($file, $time);
flock($file, LOCK_UN);
fclose($file);
}

if (is_numeric(@$_POST['answer']) || $_POST['id'] == "2"){
$file = fopen($file_name, "a") or die("OPENエラー $file_name");
flock($file, LOCK_EX);
if(intval(@$_POST['k']) == "0")
{
中略(正誤判定)
fputs($file, $string);
flock($file, LOCK_UN);
fclose($file);
中略(問題提示とPOST)
}
428419:2009/05/10(日) 00:11:40 ID:???
スクリプト後半です。長いので細かいところは省略してありますが、
本物は期待通り動くことは動きます。
**********
else {
$file_name = "record.txt";
$file = fopen($file_name, "a") or die("OPENエラー $file_name");
flock($file, LOCK_EX);
中略(正誤判定)
fputs($file, $string);
flock($file, LOCK_UN);
fclose($file);
//////全問終了
if($question[0] == ""){
echo "<br><br>終了です!";
中略
$file_name = "record.txt";
$file = fopen($file_name, "a") or die("OPENエラー $file_name");
flock($file, LOCK_EX);
$string = $array.",";
$time = $time."\n";
fputs($file, $string);
flock($file, LOCK_UN);//同時アクセスを防ぐロックを解除
fclose($file);
}
else{
中略(問題提示とPOST)
}
} }
else {
$fname = "voc.csv";
$data = file($fname);
中略(問題提示とPOST)}  }
429nobodyさん:2009/05/10(日) 00:12:13 ID:???
>>427
マジレスするとflock($file,LOCK_UN)はいらない
なぜならfcloseでファイルが閉じられるから
430nobodyさん:2009/05/10(日) 03:06:05 ID:???
>>427
> 複数の人が同時に問題を解けるようにしたいのですが。
全問終了時だけファイル操作(とロック)すればいいと思うんですよね。
431419:2009/05/10(日) 07:43:14 ID:???
>>429
ありがとうございます。

>>430
ありがとうございます。

そうですね。最後に一気に書き込む仕様にしておけばいいですよね。
今の仕様ですと、最初のelseの中でぐるぐると出題するごとに
各問題に対する回答者の答えを一つ一つ書き込む
仕様なので(<私の理解が間違ってなければ)、おそらく複数の人が
回答すると419のようにデータ混じるのではないかと思っています。
途中の回答を回答者ごとに一時的にどこかにためておけばいいんですね。

テンポラリーファイルを回答者ごとに別々に作成して回答を一時的に格納し、
最後にひとつの記録用ファイルに書き込むというのを今考えたんですが、
これどうでしょうか、他にもっといいやり方があるでしょうか?
432nobodyさん:2009/05/10(日) 12:07:35 ID:glvoYFM0
掲示板の親記事にコメントすると
その親記事にコメントが表示されますが
これってどういうアルゴリズムなんでしょうか?
433nobodyさん:2009/05/10(日) 12:14:49 ID:???
全てはデータ構造
データ構造が決まればそれに合わせてプログラムがコーディングされるだけ。
434nobodyさん:2009/05/10(日) 20:17:25 ID:kteLIAQk
携帯電話で対応機種を判別するWebページをphpで作っています。
エラーは出ずに動作はしたのですが、対応機種に一致しているはずなのに
一致判定を通ってくれません。
判定条件が間違っているのかもしれませんが、自分ではさっぱりわからないので
ご指摘を頂ければと思います。

【test.php】
<?php

$userAgent = $_SERVER['HTTP_USER_AGENT'];
$deviceList = file("DeviceDisplay.csv");

foreach ($deviceList as $key => $value)
{
rtrim($value);
list($name, $agent) = explode(',', $value);
print $name."<br />";
print $agent."<br /><br />";
if ((strstr($userAgent,$agen))!= false){
print "おk";
break;
}
}
print $userAgent."<br />".$agent;
}


【DeviceDisplay.csv】
903i,D903i

よろしくお願いします。
435nobodyさん:2009/05/10(日) 20:18:00 ID:???
>>434
PEAR使えば?
436nobodyさん:2009/05/10(日) 20:21:35 ID:???
$value= rtrim($value);

じゃないか?
437nobodyさん:2009/05/10(日) 20:34:37 ID:???
$getUA = $_SERVER['HTTP_USER_AGENT'];
$f = file("DeviceDisplay.csv");

foreach ($f as $k=>$v){
list($name, $ua) = explode(',', rtrim($v));
if ($getUA == $ua) {echo "csvに記録されてました";}
}
438nobodyさん:2009/05/10(日) 20:45:09 ID:???
>>437
===
439nobodyさん:2009/05/10(日) 20:45:11 ID:???
> if ((strstr($userAgent,$agen))!= false){
$agent

なんかいろいろあるな
440434:2009/05/10(日) 20:55:16 ID:kteLIAQk
>>435-439
ご指摘ありがとうございます!
今回は自力でやりたいのでがんばってみます。

改行を消したのにそれを代入してないのと、
==で判定、そして決定的な綴りミスですね・・・orz
以上を踏まえてリベンジしてきます。
441nobodyさん:2009/05/12(火) 10:24:23 ID:???
1.ファイルがない時は作成し、ある時は追加モードでオープン。
2.ファイルが新規作成された時は、chmod 0666
という処理をしたいです。

fopen($filePath, 'a')でファイルオープンした時に、
新規作成されたかどうかが分かれば簡単にできると思うのですが、
できません。
どのようにすれば目的の処理ができるでしょうか?
442nobodyさん:2009/05/12(火) 10:34:06 ID:???
file_exisitsでだめなん?
443nobodyさん:2009/05/12(火) 10:54:04 ID:???
chmodで失敗したらファイルがないでいいじゃん
444nobodyさん:2009/05/12(火) 10:54:47 ID:???
マジレスするとファイルの作成&書き込み時にfile_exisitsなどはやめた方が良い
445nobodyさん:2009/05/12(火) 11:07:09 ID:???
flockと組み合わせればfile_exisitsはアリかと
446nobodyさん:2009/05/12(火) 11:18:38 ID:???
>>444
何故に?
447nobodyさん:2009/05/12(火) 11:32:33 ID:???
>>445
chmod するしないぐらいなら、そんなに神経質にならなくても良いと思うが。
448nobodyさん:2009/05/12(火) 21:45:37 ID:???
>>446
ファイルがあるかな?
ファイルがないなー
よーしファイルをつくるぞー
ちょーーとまったーワシが先にファイルを作るでぇ〜ゲヘゲヘ
よっしゃーワシが先にファイル作成完了〜〜大勝利〜〜〜
、、、さーーって、さっき調べた時にファイルなかったから、作るかな,,,
作成、っと、、、ん?今、なんか、違和感を感じたが、、、、なんだったんだ???
449nobodyさん:2009/05/12(火) 21:47:19 ID:???
file_exisits使うのはネタに見えてしまうw
450nobodyさん:2009/05/12(火) 21:54:39 ID:???
file_existsの何が悪いのかkwsk
451nobodyさん:2009/05/12(火) 22:36:38 ID:???
>>448
今回はaモードでopenだから関係ないじゃん。
452nobodyさん:2009/05/12(火) 23:01:41 ID:???
俺的にはスクリプトでパーミッションを弄る動作はダメコードだと考えている
453nobodyさん:2009/05/12(火) 23:06:33 ID:???
だからfile_existsの何が悪いのよ
適当なこと言わないでよ
454nobodyさん:2009/05/12(火) 23:06:47 ID:???
別にいいやん。
ただWindowsだとchmodできんのはチト不便。
455nobodyさん:2009/05/12(火) 23:10:17 ID:???
>>453
まず貴様がfile_existsって問題ない理由を述べればいいよ
456nobodyさん:2009/05/12(火) 23:13:14 ID:???
>>455
マニュアルに使用上の注意について書いてないじゃない
457nobodyさん:2009/05/12(火) 23:15:59 ID:???
また荒らしかよ
458nobodyさん:2009/05/12(火) 23:18:11 ID:???
0666ってことはログファイルか
459nobodyさん:2009/05/14(木) 21:19:26 ID:???
なんだってー
460nobodyさん:2009/05/15(金) 06:59:21 ID:???
結局file_existsが駄目な明確な理由を誰も上げられないんですね
2chなんて所詮口だけ野郎ばっかりか・・
461nobodyさん:2009/05/15(金) 07:11:40 ID:???
何を今更
462nobodyさん:2009/05/15(金) 08:06:57 ID:???
>>460
ホント期待できなくなったね。
昔と違って、OK waveとか知恵袋とかあるし、まともな連中はそっちの方を見てるのかな。
463nobodyさん:2009/05/15(金) 08:18:07 ID:???
>>460
このスレにはニートとフリーターしかいないんだからしょうがないよ
それにPHPはバカ専言語だから優秀な人間は興味を示さないし
464nobodyさん:2009/05/15(金) 08:23:51 ID:???
>>463
たしかにPHPなんて使えても所詮WEB開発が関の山だからねw
そのWEB開発にしても最近はRubyとかPythonが台頭してるわけだからPHPを好んで使ってる奴は
アレとしか言いようがないね
465nobodyさん:2009/05/15(金) 08:24:53 ID:???
何を今更
466nobodyさん:2009/05/15(金) 08:30:41 ID:???
とまぁここまで全部>>460の自作自演なんだけどね
467nobodyさん:2009/05/15(金) 08:34:55 ID:???
どこでRubyとPythonが台頭してるんだ?
468nobodyさん:2009/05/15(金) 08:36:49 ID:???
>>467
地球上のどこかで
469nobodyさん:2009/05/15(金) 08:40:09 ID:???
>>467
お前の知らない外の世界でだよ
まったくこれだから警備員は(ry
470nobodyさん:2009/05/15(金) 08:40:41 ID:???
じゃちょっと示してみ
471nobodyさん:2009/05/15(金) 08:41:47 ID:???
釣られてソース厨出現ww
472nobodyさん:2009/05/15(金) 10:14:37 ID:???
>>460
仰る通りニートとフリーターの憩いの場なんで帰っていただけませんか?
473nobodyさん:2009/05/15(金) 12:25:37 ID:???
>>460
じゃあこのまま使い続けてください
誰も止めはしませんので^^
474nobodyさん:2009/05/15(金) 13:22:36 ID:???
過疎杉sage
475nobodyさん:2009/05/16(土) 22:47:21 ID:???
可変変数って大抵他の書き方した方がスマートでわかりやすいソースになると思うんだけど、
一体どういうときに使えばいいのだろう?
476nobodyさん:2009/05/16(土) 23:33:14 ID:???
>>475
特に使う必要はない。
perlであったから、いれてみました、ってだけ。
477nobodyさん:2009/05/16(土) 23:42:36 ID:???
>>476
じゃperlではどのように使われてるの?
478nobodyさん:2009/05/16(土) 23:45:50 ID:???
それは老人にきいてください

Perlについての質問箱 39箱目
http://pc12.2ch.net/test/read.cgi/tech/1234181856/
479nobodyさん:2009/05/16(土) 23:48:44 ID:???
お前は知らないんかw
480nobodyさん:2009/05/17(日) 00:49:35 ID:???
>>475
配列をextractで展開するのと似たようなことが出来るかな。

$arr = array('a'=>'b', 'c'=>'d', 'e'=>'f');
foreach($arr as $key=>$value){

${$key} = $value;

}
んで、最終的に例えばテンプレートファイルを
include 'template.html'
とか呼んでやれば、テンプレート内で展開した変数を使えたりとか?
これだけだったらextractすればいいけど、配列のキーの特定の文字だけ展開したくない場合とか、
(例えば、先頭がアンダーバーで始まってるものは展開しないとか)
条件をつけて展開できるかな。
481nobodyさん:2009/05/17(日) 06:43:27 ID:???
本日も過疎。
最新50に1週間も前のレスが表示されるってどんだけww
482nobodyさん:2009/05/17(日) 11:51:52 ID:???
この板ではよくあること
483nobodyさん:2009/05/17(日) 22:52:05 ID:???
俺が常駐してるスレなんて連続20レスほど保守あげ
しかも俺の
484nobodyさん:2009/05/18(月) 02:39:12 ID:???
本番マシンで、エラーを表示させたくない場合、
ini_setと
error_reportingと
どっちを使うの?
485nobodyさん:2009/05/18(月) 02:49:39 ID:???
display_errorsじゃねーの?
486nobodyさん:2009/05/18(月) 03:04:08 ID:???
>>485
書き方は?
487nobodyさん:2009/05/18(月) 03:05:27 ID:???
display_errorsってディレクティブでしょう?
ディレクティブってphp.iniにしか設定できないんでしょう?

レンタルサーバーなので、pnp.iniはいじれない環境です。
なので、php.iniをいじらなくてもできる方法を教えてください
488nobodyさん:2009/05/18(月) 03:11:25 ID:???
じゃhtaccessでok
489名無し募集中。。。:2009/05/18(月) 03:28:45 ID:wP2DRNT9
ini_set('display_errors','on')
490nobodyさん:2009/05/18(月) 10:16:50 ID:???
情報小出しうぜえ
491nobodyさん:2009/05/18(月) 10:36:42 ID:???
小出しにしたほうがなんだかミステリアスでいいじゃないか
492nobodyさん:2009/05/18(月) 20:39:24 ID:???
>>490
自閉症のあなたがたの
質問能力を鍛えてあげているのです。

営業にまわったとき、
「情報の後だしウゼエwww」
とかって見込み客に言うんですか??
493nobodyさん:2009/05/18(月) 20:40:09 ID:???
>>489
これでいいの?
494名無し募集中。。。:2009/05/18(月) 20:53:48 ID:wP2DRNT9
今決まってることを先に全部伝えれば余分な工数が圧縮できるので
納期も見積もりも低く抑えることができるわけで
積極的な答えを引き出したいなら客も小出しにはしないけどな
495nobodyさん:2009/05/18(月) 20:55:50 ID:???
>>494
それであなたは営業に回ったときに、

「情報の後出しウゼエwww」

とかって見込み客に言ってるの?
496nobodyさん:2009/05/18(月) 21:34:39 ID:???
<a href="XXX">vvv</a>

これで、XXXにユーザーからの入力値を入れるんだけど、
javascriptのコードを書かれると
そのまま実行されるんで、
サニタイズしたいんだけど、専用関数あるの?
497nobodyさん:2009/05/18(月) 21:41:15 ID:???
サニタイズ言うな
498nobodyさん:2009/05/18(月) 21:42:52 ID:???
499名無し募集中。。。:2009/05/18(月) 21:47:19 ID:wP2DRNT9
>>495
「今決まってることを先に全部伝えてもらえれば余分な工数が圧縮できますよ 」
って言うけど
500nobodyさん:2009/05/18(月) 22:14:26 ID:???
>>498
それだとサニタイズできないでしょ。
501nobodyさん:2009/05/18(月) 22:53:23 ID:???
>>500
・・・・え? 何がしたいの?
502nobodyさん:2009/05/18(月) 23:01:36 ID:???
<a href="javascript:[ここにjavascriptのコード]">vvv</a>


こう書かれると、htmlなんとかでは
サニタイズできないでしょう?

だからjavascriptって文字をかけない
ようにしなければならないんだけど、
これって正規表現使ってゴリゴリ書かないと
だめなの?
503nobodyさん:2009/05/18(月) 23:03:28 ID:???
error_reporting(0);

これって使わないの?
504nobodyさん:2009/05/18(月) 23:11:09 ID:???
>>502
実際にそこに何が入るのか知らんが、入力値を分解してURL作ればいいだけの話じゃないの?
505nobodyさん:2009/05/19(火) 02:17:09 ID:???
ログファイルの中味を見られないようにするために、
拡張子を.phpにしようと思います。

これだと、たとえブラウザで直接ファイルを指定しても、
拡張子が.phpなのでPHPファイルとして実行しようとするので
(そして中味はPHPのスクリプトでなくて単なるテキストファイルなので)
見られないというわけです。

でもパーミッションが書き込み可能になっていると
問題ありますか?
506nobodyさん:2009/05/19(火) 02:28:01 ID:???
ドキュメントルート外や.htaccessでアクセスできないようにする方が吉
拡張子phpは最後の手段
507nobodyさん:2009/05/19(火) 02:31:21 ID:???
>>505
発想は悪くないんだがとりあえず試してみ。たぶん思ったのと違う結果になるw
あとパーミッションはあまり気にするな。共用鯖じゃsafemodeでも無い限りどーにもならん。
508名無し募集中。。。:2009/05/19(火) 03:02:13 ID:qJyAGOVK
PHPは<??>で囲まない部分はHTMLと同じ扱いだからなw
509nobodyさん:2009/05/19(火) 10:05:00 ID:???
>>495
素直に謝って今後そうすることが無いようにすればいいのに
開き直ってそんなこと言ってるから未だにろくな仕事が出来ねえんだよ。
510nobodyさん:2009/05/21(木) 17:42:51 ID:???
php_browscap.ini は商用利用可能なのでしょうか。
その他の制限があったりしないか不安なので質問です。
よろしくおねがいします。
511nobodyさん:2009/05/22(金) 00:11:50 ID:???
教科書に、

「 magic_quotes_gpc がONになっているときは、
stripslashes を使ってエスケープを取り除く」

と書いてあるのですが、そんなことをするよりも、
ini_set
とかで、
magic_quotes_gpc をOFF
にするほうが
いいのではないですか?
512nobodyさん:2009/05/22(金) 00:13:11 ID:???
>>511
いいと思います。
513422:2009/05/23(土) 14:25:12 ID:???
>>484に遅レス便乗で、今のレン鯖で.htaccessは使えますがOptionsディレクティブが使えないので
ini_set("display_errors", 0)をファイルの先頭に書こうと考えてます。
ini_set実行以前にエラーが出たら意味なしになってしまいますが、それはどういった場合が考えられるでしょうか。
514nobodyさん:2009/05/23(土) 14:27:08 ID:???
ん名前欄は関係ないです。すみません。
515名無し募集中。。。:2009/05/23(土) 14:27:44 ID:sw/qjhoP
ini_setを最先頭行に書けばいいだけだと思うが
516nobodyさん:2009/05/23(土) 15:28:46 ID:???
>>515
そうですね。
たとえば何らかの理由でファイルが読み込めない、実行できない場合ini_set前なのでエラーが出ると思います。
でよくよく考えたら今はerror_reporting(0)でエラーメッセージが出ないようにしてるんですけど
上記のようなときは結局エラーが出るだろうから、ファイル外で設定を変更できない以上エラー表示から逃れられなさそうです。
完全にエラーメッセージを非表示にできなければerror_reporting(0)で対処するつもりで質問をしたんですが、
これも完全でないなら素直にini_set("display_errors", 0)+ログ書き出しで対処します。
失礼しました。
517nobodyさん:2009/05/23(土) 15:36:50 ID:???
PHP前ならPHPのエラーはでないと思うが
518nobodyさん:2009/05/23(土) 15:38:13 ID:???
データベースのエラー文がそのまま表示されてるサイトとかもあるし
そこまで気にしないでも
519名無し募集中。。。:2009/05/23(土) 16:00:00 ID:sw/qjhoP
流石に本番運用では気にした方がいいと思うが
520nobodyさん:2009/05/24(日) 19:13:43 ID:???
携帯で画像をランダム表示したいのですが
どのようなスクリプトが使えるのでしょうか?
521nobodyさん:2009/05/24(日) 19:26:51 ID:???
業者に1万円払って作ってもらえ
522nobodyさん:2009/05/24(日) 22:03:26 ID:???
今なら俺が9980円で
523nobodyさん:2009/05/25(月) 00:22:37 ID:???
session.use_only_cookiesが0の場合、

URLにセッションIDが含まれてしまうので
セキュリティ的に、危険です。

なのでこれを普通は1にすると思いますが、
それはphp.iniを編集できる場合のみです。

レンタルサーバーなどでは、php.iniを編集
できない場合も多いです。

その場合は、session.use_only_cookiesの値を
取得して、それが0なら1にする、と
自分でPHPスクリプトの先頭に書くのでしょうか?

でもそれで間に合うのでしょうか?
524nobodyさん:2009/05/25(月) 00:24:05 ID:???
http://phpc2.seesaa.net/article/52425834.html

例えばこのページだと、

ini_set( 'session.referer_check', "example.com" );
ini_set( 'session.use_trans_sid', 0 );
ini_set( 'url_rewrite.tags', "" );
ini_set( 'session.use_only_cookies', 1 );
ini_set( 'session.use_cookies', 1 );
ini_set( 'display_errors', 0 );


こんくらい書いてます。
セキュリティをカンペキにするには、
全部でどれだけ書かないといけないのでしょうか?
525nobodyさん:2009/05/25(月) 00:29:11 ID:???
ini_setじゃなくてphp.iniで設定しとけよみたいな
526nobodyさん:2009/05/25(月) 00:29:42 ID:???
クッキーもヘッダ部に平文で流れてるだけだろ
これを安全というのならURLにセッションID含まれてても同様に安全というしかないだろ
527nobodyさん:2009/05/25(月) 01:19:22 ID:???
URLはそれをブックマークしたり知らずに晒したりできるからまた違うんじゃないの
528nobodyさん:2009/05/25(月) 01:39:29 ID:???
セッション要るようなエリアはhttpsにしとけばいいだけの話
529nobodyさん:2009/05/25(月) 02:09:17 ID:???
いやブックマークとかURL流出はHTTPSだからとかいう問題じゃないだろ
530nobodyさん:2009/05/25(月) 02:14:14 ID:???
セキュリティの話をすると
ついてこれないヤツが必ずいるよね

高卒なのかな?
531nobodyさん:2009/05/25(月) 02:15:06 ID:???
「外出するときは、必ずドアにカギをかけましょうね」
.
「そんな、カギなんてプロの泥棒が本気だせば5分で開くんだよ
だからいちいちかける意味ないよ」
532nobodyさん:2009/05/25(月) 02:18:16 ID:???
httpsにしなくていいって話じゃなくてhttpsにするだけじゃ不十分って話だろ
533nobodyさん:2009/05/25(月) 02:33:17 ID:???
<a タグや、<imgタグのsrcにjavascripの
コードを直接書かれると、そのまま実行されてしまいます。

なので、javascriptをサニタイズする必要があるのですが、

ググって出てきたページに

http://php-web.net/security/sanitize.html

a、imgタグでは、<a href="javascript:...といった記述でj
avascriptが実行できます。このため、URL等は javasc
ript挿入対策として、「javascriptで始まる文字列をサニ
タイズする」作業が必要になります。

if (substr($_POST['url'],0,10) == "javascript:") {
die("Illegal URL!\n");
}

----------------------------------------------------

と書いてあるのですが、このコードでサニタイズできますか?

正規表現は使わなくてもいいの?

こういうとき、perlerだったら、100%の確率で
正規表現を駆使した渾身の一作を出してくるはずなんですけど。
534nobodyさん:2009/05/25(月) 02:51:01 ID:???
htmlspecialcharsでいいだろ
535nobodyさん:2009/05/25(月) 03:15:54 ID:???
http://php.benscom.com/manual/ja/info.configuration.php

ここで

「PHP 6.0.0 で削除されました。」
という記述があるが、6なんて
まだ出ていないだろう?

それとも、漏れが知らないだけで、
もう出ているのか?
536nobodyさん:2009/05/25(月) 03:18:53 ID:???
出てるよ
537nobodyさん:2009/05/25(月) 03:23:54 ID:aHvsLNiK
simplexmlで下記xmlのstartTimeを取得するにはどうすればいいでしょうか?
<entry>
<gd:when startTime='2009-05-28T19:00:00.000+09:00' endTime='2009-05-28T21:00:00.000+09:00'>
<gd:reminder minutes='10' method='email'/>
<gd:reminder minutes='10' method='alert'/>
</gd:when>
</entry>
538nobodyさん:2009/05/25(月) 04:42:43 ID:???
$xml = simplexml_load_file('hoge.xml');
var_dump($xml);
してみれば分かるよ
539nobodyさん:2009/05/25(月) 23:18:15 ID:???
ini_set('magic_quotes_gpc', '0');

このやり方でオフにするのって

phpのバージョンが4.2以下でないと
使えないの?
540nobodyさん:2009/05/25(月) 23:35:00 ID:???
いや? そんなことないけどなんで?
541nobodyさん:2009/05/25(月) 23:48:05 ID:???
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=3675&forum=2

ここのページに、

>magic quotes gpcがini_setできるのはPHP4.2.3以下だったと思います

って書いてあるけど??
542nobodyさん:2009/05/25(月) 23:49:14 ID:???
http://www.webdeveloper.com/forum/archive/index.php/t-90414.html

ここのページにも、

>you can only modify magic_quotes_gpc this way in PHP versions <= 4.2.3.

って書いてあるけど???
543nobodyさん:2009/05/26(火) 00:12:13 ID:???
Manualを見ろよ。 ttp://jp2.php.net/manual/ja/ini.list.php
4.2.4以降 PHP_INI_PERDIR になったからini_setじゃ無理。
544nobodyさん:2009/05/26(火) 00:17:18 ID:???
>>541-543
そこまでわかってるならわざわざ聞きに来なくても・・・
545nobodyさん:2009/05/26(火) 01:13:59 ID:???
アクセスログ等から
アクセスしてきたやつの
コンピューター名抜くのって
どうやってたの?
546nobodyさん:2009/05/26(火) 01:37:40 ID:???
User Agentの話?
547nobodyさん:2009/05/26(火) 01:58:06 ID:???
ウィンドウズなら同じワークグループだったらコンピュータ名抜けそう
548nobodyさん:2009/05/26(火) 11:21:02 ID:???
特定のディレクトリ$dirの中でもっとも作成日付が新しいファイルのファイル名を取得したいのですが、

globでディレクトリ内の一覧を作ってfilectimeで作成日付を取得して・・・えーとえーと・・・と考えたものの、
「あれ?このあとどうしよう」となってしまいうまくコードにまとめることができません

良い方法はないでしょうか

PHP5
549nobodyさん:2009/05/26(火) 11:50:15 ID:???
ソート
550nobodyさん:2009/05/26(火) 12:02:33 ID:???
$last = new SplFileInfo(null);
foreach(new RecursiveDirectoryIterator('target') as $entry)
if($entry->isFile() && $entry->getCTime() > $last->getCTime())
$last = $entry;
こんなんとか。
551548:2009/05/26(火) 18:32:03 ID:???
>>550
うわ〜一回で動きました
PHP5で実装された関数まだ使い慣れないんで初めて見ました
ありがとうございます

たまたまディレクトリ内の、取得したいファイル群の名前が全部日付なので、
これの応用で作成日付順じゃなくて名前の順で一番遅い(=新しい)ものを
取得できるんじゃないかと改造してるんですが私には不可能でしたw
552nobodyさん:2009/05/27(水) 16:01:50 ID:???
メールフォームから送信してるんですけど相手に届きません
ローカルサーバです
PHP.iniのどの設定を変えたらいいですか?
553nobodyさん:2009/05/27(水) 16:40:06 ID:???
ローカルアカウントには届くってんならOP25Bでググれ
554nobodyさん:2009/05/27(水) 23:11:44 ID:???
それって自分のISPの回線の
SMTPサーバー経由でないと
メールを送信できないってやつ?
555nobodyさん:2009/05/28(木) 00:21:44 ID:???
>>554
いえ、違うんです
レンタル鯖だとできたんですけど・・・
556nobodyさん:2009/05/28(木) 00:26:24 ID:???
レン鯖だとOKで自宅鯖だとNGって間違いなくポートブロックだろ
プロバイダのヘルプをサブミッションポートで検索してみ
557nobodyさん:2009/05/28(木) 01:30:28 ID:???
$filename = $month."/".$day.".csv":
$data = @file($filename);

PHP5でローカルのWindows機でテストしているのですが、上のように下位フォルダにあるファイルを開こうとすると失敗します。
ディレクトリを表す"/"の部分がWinだと\だからだと思うのですが、そもそも根本的に"/"で変数を繋ぐのが変なような気もします。
サーバー上でもローカルWin機でも動くようにできないものでしょうか。

558nobodyさん:2009/05/28(木) 01:44:46 ID:???
ごめんなさい、自己解決しましたw
$が間違って&になってましたw
切腹してきますw
559nobodyさん:2009/05/28(木) 08:09:32 ID:???
>>552
自宅ってどうせ窓でしょ?
「windows php mail」でググって味噌。
560nobodyさん:2009/06/01(月) 20:27:02 ID:???
JISの漢字コードから

3021 → 亜

のように、実際の文字を表示するには、
どのようにしたらよいのでしょうか?

よろしくお願いします。
561nobodyさん:2009/06/01(月) 21:02:57 ID:???
JISコードの場合、エスケープシーケンスで漢字であることを知らせないといけないから
echo "\x1b\$B",pack('H*', 3021);
562560:2009/06/01(月) 21:29:46 ID:???
>>561

できました!
ありがとうございます。

こういうことって、どこで覚えるんでしょうか?
563nobodyさん:2009/06/01(月) 21:55:20 ID:???
>>562
今のお前さんのような状況に陥ったときに覚える。
人に聞くか自分で調べるかの違いはあるけどな。
564nobodyさん:2009/06/07(日) 01:18:31 ID:q/9VwFhz
SSLを使って「login」というディレクトリをSSLのみの接続にしていますが、
loginディレクトリ内のリンクで<a href="../index.html">とするとhttpsのまま
階層が1つ下がるだけとなります
これをhttpにする関数はあるのでしょうか?
565名無し募集中。。。:2009/06/07(日) 01:42:48 ID:kkylNn0/
ない
566nobodyさん:2009/06/07(日) 01:53:33 ID:???
PHPって同じことやるのにも複数の似通った関数があるイメージがあるんだが、
コレとアレならこっち使うのがイイ!
みたいなベストプラクティスとかある?
567nobodyさん:2009/06/07(日) 02:08:23 ID:???
あるよ
568nobodyさん:2009/06/07(日) 02:15:41 ID:???
>>566
よくあるのが
is_nullを使わないで、 $hoge === null で評価したほうが早いとか
正規表現で評価できるsplitを使うより単純に「,」とかできりたいならexplodeを使ったほうが早いとか

569nobodyさん:2009/06/07(日) 02:35:59 ID:???
おれが作るから半年待て
570nobodyさん:2009/06/07(日) 10:51:54 ID:???
バッファの意味がわかりません><
どなたか親切な方^^いないでしょうけど教えてくdさい!
571nobodyさん:2009/06/07(日) 11:08:03 ID:???
ゴミを一粒ずつひろってゴミ箱に捨てるより、ちりとりで集めてゴミ箱に捨てるほうが効率いいの解かるならOK
572nobodyさん:2009/06/07(日) 11:50:14 ID:???
すいません。記載するスレを間違えてしまいました。
初心者ながら自作サイトを作成しているのですが、なぜか作成したページが
「疑わしいWebページを遮断しました」とノートンが反応するようになりました。
ソースが長いので記載はできないのですが、内容はmailtoで送信するための
名前やメアドを入力した後の「以下の内容で間違いないですか?」みたいな
画面です。値はメアド入力画面から$_POSTで受けとってます。
遮断される可能性としてはどのようなものがありますでしょうか?
すいませんがアドバイスを御願いします。
573nobodyさん:2009/06/07(日) 11:53:14 ID:???
ノートンよく知らないけど遮断した理由書いてあるログとかないの?
574572:2009/06/07(日) 12:01:37 ID:???
>>573
ノートンのセキュリティ履歴をみると
「疑わしいサイトとしてシマンテックに提出しました」としか記載がなく
なぜ疑われているのかがわからない状態です。
575nobodyさん:2009/06/07(日) 13:06:34 ID:???
ソース見ないで答えるのは情報処理の試験でも出題されないくらいの難易度の高さ
ノートンの判断はノートン作った人にしかわからん
つまり、「疑わしいWebページを遮断しました」でぐぐって似たケースを見るのがいいかと
576nobodyさん:2009/06/07(日) 13:25:53 ID:???
最終的に吐き出したものをHTMLに保存してそれを表示させて
疑わしいものを削っていけばわかるかもよ
577572:2009/06/07(日) 15:11:25 ID:???
>>575 >>576
すいません。ソース長くてどこを見せればいいかわからない状態です。
ソース削りながら色々試してみます。
ありがとうございました。
578nobodyさん:2009/06/10(水) 11:22:45 ID:???
変数に格納された数字を、正の数なら+を、負の数なら−を頭に付けて表示したいのですが、
それに便利な関数はないでしょうか

PHP4
579nobodyさん:2009/06/10(水) 11:30:01 ID:???
そんくらいなら自作してやれば
580nobodyさん:2009/06/10(水) 11:31:18 ID:???
宿題か?
581578:2009/06/10(水) 11:56:17 ID:???
自作しますた
30秒で終わりますた
15分ぐぐって損しますた
582nobodyさん:2009/06/10(水) 11:59:44 ID:???
>>581
You!ここに載せちゃいなよ!
583nobodyさん:2009/06/11(木) 10:23:35 ID:???
んなもんifで数値比較するだけだろw
584nobodyさん:2009/06/11(木) 13:32:40 ID:???
$str = $val > 0 ? '+' . $val : '-' . $val ;

あ、0のときはしらん。
585nobodyさん:2009/06/11(木) 14:09:33 ID:???
-1を--1にする気か?
586nobodyさん:2009/06/11(木) 14:10:28 ID:???
みんな printf 嫌いなの?
587nobodyさん:2009/06/13(土) 16:08:22 ID:???
あえてセッション使わずにglobal変数使いまくって

入力画面←→確認画面→送信

と行ったり戻ったりするフォーム作るって変?
遷移するたびに文字のエスケープやらなんやらで埋もれるんで明らかにいけてないなと
588nobodyさん:2009/06/13(土) 16:18:56 ID:???
global変数でどうやってリクエスト跨いでデータ受け渡しすんの?
589nobodyさん:2009/06/13(土) 18:08:42 ID:???
hiddenかsession以外でそれやる奴バカだろ
590nobodyさん:2009/06/13(土) 18:21:00 ID:???
>>587
>あえてセッション使わずに

の時点で変だけど、そうしたい理由は何さ?
591587:2009/06/14(日) 21:34:45 ID:???
>>588
フォームに入力→POST→確認画面→戻るリクエスト→hidden大量で入力画面にバックして反映
この間globalでユーザー関数またぎまくり

>>589
戻ると次へと送信でhiddenとそのエスケープ処理が100コくらいある

>>590
クッキー使えないのと、心理的にURLに埋め込みたくないのと、
ブラウザのバックボタンで期限切れだしたくない(じいちゃん連中向けなんでヤツらはパニクる)のでどうしていいやら

最後のはセッション関係なかったっけ

機能的にはできあがってきちんと動いてるんだが超気持ち悪い
やり方あったら教えてプリーズ
592nobodyさん:2009/06/14(日) 21:54:41 ID:???
>>591
>ブラウザのバックボタンで期限切れだしたくない

youメニュー隠しチャイナyo
っていうか心理面を克服してでもセッション使ったほうが楽だと思うんだがなぁ。
593nobodyさん:2009/06/14(日) 21:56:49 ID:???
セッションキーをhiddenで渡せばいいだけの話だろ常考
594nobodyさん:2009/06/14(日) 22:00:08 ID:???
>>593
そんなことできたのか
しらんかった
595nobodyさん:2009/06/14(日) 22:11:51 ID:???
まぁ実際はただのリクエストだからなw
596nobodyさん:2009/06/15(月) 20:18:19 ID:???
正規表現についてお尋ねします。
あるフォームに入力された全角文字を半角文字にして他のフォームに代入するといった事をやっていますが、
全角→半角にするのはmb_convert_kanaでやるとして問題は半角に出来ない文字(例えば漢字など)を取り除いて
代入したいのです。要は半角に変換した後の文字列から全角文字だけを取り除いて半角文字列だけにしたいのです。
例:HOGE安弘MOGE → HOGEMOGE
こういう事は正規表現で可能でしょうか?
597nobodyさん:2009/06/15(月) 20:32:09 ID:???
>>596
preg_match_allで欲しい部分を抜いてきて、implodeでくっつけるってのは?

preg_match_all('/([A-Z])/', $str, $match);
$newStr = implode('', $match);

パターンは自分の条件に読み替えてくれ
598nobodyさん:2009/06/15(月) 21:11:06 ID:???
PDOを使ったスクリプト配布してるとこ教えてください
599nobodyさん:2009/06/16(火) 13:07:05 ID:???
どなたか〜〜
600nobodyさん:2009/06/16(火) 13:22:26 ID:???
スレ違い
601nobodyさん:2009/06/16(火) 17:27:04 ID:???
ですか。失礼しました

でっこれはこのスレとマッチすると思うんですけど
海外からのフリースクリプトダウンロードしてもPDOをほとんど使って無いんですよ
なぜですか?
602nobodyさん:2009/06/16(火) 18:15:13 ID:???
Manualのサンプルじゃ足りないの?

さておき、質問の答えは「今のところわざわざPDOを使う理由が無いから」じゃないかなぁ。
603nobodyさん:2009/06/16(火) 22:33:48 ID:???
>>601
ソース見たフリースクリプトってどれ?
604nobodyさん:2009/06/16(火) 23:00:21 ID:???
えと、見すぎであまり覚えてないのですが・・・
ほとんどhotscriptからです
605nobodyさん:2009/06/17(水) 01:01:12 ID:???
適当に挙げてみてもらえると参考になるんだけど。
合計では約いくつ?
606nobodyさん:2009/06/17(水) 10:46:14 ID:???
まあ作られた時期も見てみ
607nobodyさん:2009/06/18(木) 23:33:25 ID:???
たった今澪抱き枕\7,300*4ポチったwww
今日の最終回泣くかもしんね俺www
608nobodyさん:2009/06/18(木) 23:34:17 ID:???
うわああああああああああああああああああああああああああああ
誤爆したああああああああああああああああああああああああああ
俺死ぬマジ死ぬw
609nobodyさん:2009/06/18(木) 23:39:01 ID:???
wwwwwwwwwwwwww
610nobodyさん:2009/06/18(木) 23:43:23 ID:???
kimoi
611nobodyさん:2009/06/19(金) 01:47:29 ID:???
早速ニコ動にうpかよw
保存すますたw
612nobodyさん:2009/06/19(金) 01:48:10 ID:???
ごむぇん・・・誤爆・・・
613nobodyさん:2009/07/01(水) 11:28:04 ID:???
WordPress の質問ってここで聞いてもいいんでしょうか。

arras theme というテーマを使っているのですが
そのテーマにはトップページに記事のサムネイルを表示する
javascript のスライドショーがあります。
それを他のページ(たとえば普通のページなど)にも
設置することはできるでしょうか。

home.php のそれっぽい場所をコピーして single.php に貼り付ければ
出来なくもなさそうなんですが、複雑でわかりにくいのと
そもそもそういう設定ができるかもしれないので質問しました。

環境はwordpress のバージョンは2.8 arras theme は最新のものを使っていて
自分は php と javascript であれば編集できます。よろしくお願いします。
614nobodyさん:2009/07/02(木) 11:12:33 ID:???
foo($array, 'a') なら $array['a'] を返し
foo($array, 'a', 'b') なら $array['a']['b'] を返すには

function foo() {
// ???
}

をどうしたらいいでしょうか。

func_num_args() を使って再帰で、
なんて思ったのだけど、考えがまとまらなくて。
615nobodyさん:2009/07/02(木) 14:46:54 ID:???
なんのためにそんな関数を
$var = foo($array, 'a');
なら
$var = $array['a'];
でいいじゃん
616nobodyさん:2009/07/02(木) 15:38:49 ID:???
foo($array, $bar, $baz) と書くんだったら $array[$bar][$baz] でいいよね。

foo($array, array('a', 'b')) を $array['a']['b'] にするんだったら
foo($array, $arr_keys) みたいに渡したいのかなとも思うんだけど。
617614:2009/07/02(木) 15:41:46 ID:???
>>615-616
E_ALL 環境で isset() が面倒なんので、
foo 内で isset して値を返したり、
値があるか判定するのを作ろうと思って。
618nobodyさん:2009/07/02(木) 16:47:20 ID:???
>>617
foo:セットされてないときfalse,セットされているときはその配列の内容が返る

$arr["a"]["b"]["c"] = "hoge-c";
$arr["a"]["b"]["d"] = "hoge-d";
$arr["a"]["b"]["e"] = "hoge-e";
var_dump(foo($arr,"a", "b")); // result array
var_dump(foo($arr,"a", "b","c")); // resurt string
var_dump(foo($arr,"a", "c")); // resutl false
var_dump(foo($arr,"b")); // result false

function foo() {
$cnt = func_num_args();
$var = func_get_args();
$arr = $var[0];
for ($i=1; $i<$cnt; $i++) {
if (!isset($arr[$var[$i]])) return false;
$arr = $arr[$var[$i]];
}
return $arr;
}
619614:2009/07/02(木) 16:55:15 ID:???
>>618
最高です。。。
ありがとうございます!
620nobodyさん:2009/07/02(木) 21:49:43 ID:???
せっかく5.3から省略三項演算子が使えるようになったというのに
621nobodyさん:2009/07/03(金) 06:14:31 ID:???
echo "<input type=hidden name=※>";

のような、出力するHTMLタグ内の※の部分に変数を置きたいのですが、
今までname=".$aaa.">のように". ."の間に変数名を入れて繋いでいたところ、
たまたま違う人がname={$aaa}>と{ }で囲っているのを見つけました。

変数の中身を{ }で参照できるのは納得できたのですが、
". ."で囲う場合、変数ではなくname=".session_name()."のようにできるところを
{ }で囲う場合はどうすればよいでしょうか。

PHP5
622nobodyさん:2009/07/03(金) 06:15:55 ID:???
{}で参照なんかできないよ
623nobodyさん:2009/07/03(金) 06:21:26 ID:???
とするとタグの途中に変数とか関数の戻りを表示したいときどうつなげるのが普通なんでしょう
". ."は超自己流なんで定番が知りたく。
624nobodyさん:2009/07/03(金) 06:23:18 ID:???
マニュアルか他のアプリのコードでも見てみれば?
625nobodyさん:2009/07/03(金) 06:31:04 ID:???
いくつかの他アプリで{ }と・・・・
626nobodyさん:2009/07/03(金) 06:36:58 ID:???
じゃそうすればいいんじゃね?
627nobodyさん:2009/07/03(金) 06:39:26 ID:???
すみませんでした
もうちょい詳しい人に聞いてみます
628nobodyさん:2009/07/03(金) 06:40:56 ID:???
死ね低脳w
629nobodyさん:2009/07/03(金) 06:45:36 ID:???
echo '<input type="hidden" name="',session_name(),'>';
630nobodyさん:2009/07/03(金) 08:57:30 ID:???
>>621-622
まあできるかできないかで言えばできる
631nobodyさん:2009/07/03(金) 10:55:19 ID:???
PHP は { } で関数と定数が埋め込めないのがダサい
632nobodyさん:2009/07/03(金) 11:43:51 ID:???
そんなものにまで対応させてたら文字列リテラルをパースするのにもっと時間がかかってしまう
633nobodyさん:2009/07/03(金) 11:50:14 ID:???
だいいち{}で変数が埋め込めてるわけじゃないし。
埋め込めてるのはダブルクオーテーションの機能だろ
{}は区切り文字なだけ
634nobodyさん:2009/07/03(金) 12:48:46 ID:???
>>632
" や ' 以外の括り文字でもあればいいのかもね。
それとは別に Perl や Ruby の q| | とかもほしいなぁ。
635nobodyさん:2009/07/03(金) 23:23:32 ID:???
613ですが自己解決しました。

プラグインで smoothview というのがあったので
そのインターフェースを改造しました。
636nobodyさん:2009/07/04(土) 07:55:20 ID:???
もしかしてsmartyなんじゃないの?
smartyって{}を多用するよね。
637nobodyさん:2009/07/05(日) 21:23:19 ID:???
powerd by *****
と表示しなくてもいいCMSはありませんか?
638nobodyさん:2009/07/08(水) 11:36:42 ID:???
すいません、こちらで質問していいのかどうかわからないんですが
レンタルサーバの設定では、PHPを「FastCGI アプリケーションモード」で動かしているらしいのですが
結構頻繁に「The FastCGI process exceeded configured activity timeout」ってエラーが出ます。
サーバ会社に聞くと、「FastCGIに対応したコードを記述してないからです」と言われたのですが、
当方、参考書を見ながら作成しているのですが、どこにもFastCGIについて書かれておらず
どこかにその対応コードなどが記載されているような参考にできるサイトを知っている方はいらっしゃらないでしょうか?
639nobodyさん:2009/07/08(水) 11:48:42 ID:???
>>638
      _______                     __
    // ̄~`i ゝ                    `l |
    / /        ,______   ,_____    ________  | |  ____ TM
   | |     ___ // ̄ヽヽ // ̄ヽヽ (( ̄))   | | // ̄_>>
   \ヽ、   |l | |    | | | |    | |  ``( (.  .| | | | ~~
      `、二===-'  ` ===' '  ` ===' '  // ̄ヽヽ |__ゝ ヽ二=''
                         ヽヽ___//   日本
  _____ _____  ______  _______
  |  ウェブ  | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ._________________
      |FastCGI PHP               │・検索オプション
      └────────────────┘・表示設定
         | Google検索 | I'm Feeling Lucky |  ・言語ツール
          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ○ウェブ全体から検索 ◎日本語のページを検索
640nobodyさん:2009/07/08(水) 11:52:55 ID:???
たんに処理時間が長くてタイムアウトしているんじゃないかなぁ
641nobodyさん:2009/07/08(水) 11:59:11 ID:???
>>638
すいません、すでにいろいろとぐぐってはいるんですが
サーバ側でFastCGIを導入する方法ばかり記載されており、PHPでサイトを作る際の注意点などが記載されているものがなく
困っております。
そこで、そのような記載があるサイトがないかお尋ねしたのですが、やはり難しいのでしょうか。
642nobodyさん:2009/07/08(水) 12:01:18 ID:???
ActivityTimeout=300
643nobodyさん:2009/07/08(水) 12:11:40 ID:???
>>642
ありがとうございます。
タイムアウトの設定を変える内容のようですが、そちらはPHPファイルのどの当たりに記載すればよろしいのでしょうか?
そのコードがレンタルサーバ会社の言う、こちらが記載すべき「FastCGIに対応したコード」というものなのでしょうか。
なんどもお聞きしてしまって申し訳ありません
644nobodyさん:2009/07/08(水) 12:37:53 ID:???
FCGIext.iniだよ
645nobodyさん:2009/07/08(水) 12:55:07 ID:???
>>644
ありがとうございます。
調べたところ、レンタルサーバの管理上FCGIext.iniの編集はこちらではできないようになっているようです
わからないことばかりなので、もうすこしぐぐったりして基礎知識から勉強をしなおそうと思っています
ご助言をしていただいた方々、ありがとうございました
646nobodyさん:2009/07/08(水) 14:16:07 ID:???
PHPを始めたばかりでどうしてもよくわからない点があります。
考え方といいますか、流れを教えてください。

XHTMLとCSSで縦2分割サイトを考えており、左に配置したドロップダウンリストから選択、
右側に内容表示というよくあるパターンです。内容はMySQLから取り出す予定です。

ここでわからないのが、内容の表示位置の指定です。
MySQLのデータとCSSタグを一緒に出力すればよいのでしょうか?

根本的な勘違いをしているような気がしてならないのですが、どこが勘違いなのかも
よくわからないです。
647nobodyさん:2009/07/08(水) 14:34:54 ID:???
MySQLのデータとHTMLタグを一緒に出力して
CSSでその位置を指定すればいいのでは
648nobodyさん:2009/07/09(木) 12:14:47 ID:???
prototype.jsのAjax.Updaterを使えば簡単なんじゃないか。
推奨はしないけど。
649nobodyさん:2009/07/09(木) 13:19:44 ID:???
>>647
ありがとう。
その方法だとうまくいかないのです。
サイト全体が置き換わってしまうので、結局すべてのHTMLにメニューをつけないと
ダメっぽいです。

>>648
ありがとう。
いまググってみました。
たしかにやりたいことと合致します。
ただ、これから言語をマスターするので、より簡単といわれているPHPを覚えたい
という気持ちがあります。JSと両方覚えれば済む話ではあるのですが、オレには
キャパがないです。たぶん。
650nobodyさん:2009/07/09(木) 14:26:18 ID:???
>>649
iframeって手もあるな。
651nobodyさん:2009/07/09(木) 17:26:11 ID:???
phpを使うならJavascriptはある意味必須だよ。
連携しないと実現出来ない事も多々あるし。
652nobodyさん:2009/07/09(木) 18:41:50 ID:???
>>650
ありがとう。
iframe
653nobodyさん:2009/07/09(木) 18:48:35 ID:???
すまんそん。

>>650
ありがとう。
iframeは考えたんですけど、XHTML1.1で非サポートになり、策定中のHTML5.0でも
廃止になるということで、使わない方向を考えてました。

>>651
ありがとう。
JavaScriptも必須ですか。
まったくの初心者なので、PHPの公式マニュアルを読むだけで苦労してます。
654nobodyさん:2009/07/09(木) 21:36:35 ID:???
iframeなくなるの?
655age:2009/07/09(木) 22:48:26 ID:DwSsHHgt
ファイルをアップロードしmove_uploaded_fileをした時点で
強制的にサーバとPCとのコネクションを切断する事は可能ですか?
656nobodyさん:2009/07/10(金) 02:40:08 ID:???
>>655
exit か die で終了させちゃえばいいんじゃないの。
657nobodyさん:2009/07/10(金) 12:50:37 ID:???
>>654

iframeは、XHTML1.1ではすでに無いです。
W3Cの勧告でもHTML5.0で無くす方向で進めているようです。
658ユキ:2009/07/12(日) 04:36:26 ID:au+P+rHJ
初めまして。
PHPど素人です。

インターネットで調べながらPHPの問題に取り組んでいますが、
2週間以上掛けても全く分かりません。
どのように書くのか教えていただけないでしょうか。
『EmEditor Free Version 6.00.4』とザンプを使っています。

問題は以下のとおりです。

『数値1〜9があります。全て4桁です。
9つの数字の中の最大値と最小値を出力しなさい。
負の数と5桁以上の数値が入力された場合エラーと出力する。
さらに数値1〜9のどの数値が最大値、最小値か出力しなさい。』

ループとfunctionを使うそうなんですが、どう使えばいいのか分からず、
ゼロの状態です。

皆様、お忙しいと思いますが、助けていただきたいです。
お願い致します。
659nobodyさん:2009/07/12(日) 05:09:19 ID:???
宿題は自分で
660nobodyさん:2009/07/12(日) 08:09:56 ID:???
>>658
数値1を入力する
数値2を入力する
数値3を入力する
数値4を入力する
数値5を入力する
数値6を入力する
数値7を入力する
数値8を入力する
数値9を入力する


    ↓
数値1に入れられた数値を、$aに入れる
、、、、
数値9に入れられた数値を、$iに入れる
661nobodyさん:2009/07/12(日) 08:11:34 ID:???
$aが4桁か調べる。

もし5桁以上なら、エラーを吐いて死ぬ。

4桁なら、こんどは、$aが負の数かどうかを調べる。

0以上なら、おk。
もし負の数なら、エラーを吐いて死ぬ。

$aのチェックが終わったら、$b、そして
、、、、$i。
662nobodyさん:2009/07/12(日) 08:14:51 ID:???
次に、$a〜$iを配列に入れる。

そんで、その中の最大値を調べる(専用関数あり)

そして、こんどはその配列の、最小値を調べる(専用関数あり)

そんで、最大値のvalueに一致するkeyを調べて、
「この数値○が最大でした」って表示

次に、最小値がでたところのvalueのkeyを調べて、
「この数値のときに最小でした」って表示。

以上。あとは上記の仕様書をプログラマーに食わせれば
ソースコードを吐く。
663nobodyさん:2009/07/12(日) 08:24:10 ID:???
>>660-662
それだと「さらに数値1〜9のどの数値が最大値、最小値か出力しなさい」
の設問には答えられないので、もう一工夫が必要。
664nobodyさん:2009/07/12(日) 08:51:58 ID:???
preg_matchでチェックとセットが同時にできる
665ユキ:2009/07/12(日) 14:48:56 ID:tG558Uf0
>>660-664
ご親切にありがとうございます!!!!!

おかげさまで$aの桁を調べるまで出来ました!
書いていただいた内容をヒントにもう少し自分で頑張ってみます!
666ユキ:2009/07/12(日) 22:27:20 ID:tG558Uf0
以下のように書いてみましたが、
これからどのようにfunctionとループを使えばいいのかどうしても分かりません。
解答、あるいはヒントを頂けないでしょうか?
度々すみません。

if($a > 9999 or $a < 0){
echo "<div>エラー</div>";
} else { echo "<div>$a</div>";
}
     if($b > 9999 or $b < 0){
echo "<div>エラー</div>";
} else { echo "<div>$b</div>";
}

if($c > 9999 or $c < 0){
echo "<div>エラー</div>";
} else { echo "<div>$c</div>";
}

if($d > 9999 or $d < 0){
echo "<div>エラー</div>";
} else { echo "<div>$d</div>";
}

if($e > 9999 or $e < 0){
echo "<div>エラー</div>";
} else { echo "<div>$e</div>";
}
667ユキ:2009/07/12(日) 22:28:07 ID:tG558Uf0

if($f > 9999 or $f < 0){
echo "<div>エラー</div>";
} else { echo "<div>$f</div>";
}

if($g > 9999 or $g < 0){
echo "<div>エラー</div>";
} else { echo "<div>$g</div>";
}

if($h > 9999 or $h < 0){
echo "<div>エラー</div>";
} else { echo "<div>$h</div>";
}

if($i > 9999 or $i < 0){
echo "<div>エラー</div>";
} else { echo "<div>$i</div>";
}


$x = array( $a , $b , $c , $d , $e , $f , $g , $h ,$i );
echo " 最大値: " .max($x). "<br />\n";
echo " 最小値: " .min($x). "<br />\n";
668nobodyさん:2009/07/12(日) 23:06:46 ID:???
人力ループしてから配列に叩き込むセンスに感心しすぎて何も言えない
669nobodyさん:2009/07/13(月) 02:32:15 ID:???
すげぇ。授業はこれまで全部受けてるの?
受けてたとしたらこの段階でこんな問題出した教師が悪い
670nobodyさん:2009/07/13(月) 11:10:34 ID:???
>>666
function は 一部の値だけを変えて同じ処理が続く場合に使います。
>>666-667を良く見てみると、同じ記述が見つかりますね。
まずは、共通化できる処理をfunction化してみましょう。

ループ(for while fareach)は、
一部の値を変化させながら同じ処理を繰り返すときに使います。
同じような命令が繰り返している箇所をループ化してみましょう。
671nobodyさん:2009/07/13(月) 18:25:41 ID:???
ローカル環境でテストするときに
実際のフルパスを書き換えないでテストできる
フリーの開発ツールを前に何かで見つけたのですが
ご存じないでしょうか?
672nobodyさん:2009/07/13(月) 18:29:50 ID:???
PEAR使うとエラーが出まくるんだけど、これって
どうすればいいの?
673nobodyさん:2009/07/13(月) 19:15:29 ID:???
>>671
パスは設定ファイルに入れておけばいいじゃない。

完全一致を期待してるとカスタマイズとかのときにも
パスの全チェックをしなきゃいけなくなるから面倒だよ。

または、Windows/OSXにもそれぞれ仮想環境ツール
が出ているから、仮想環境ツールに、お目当てのOS
を入れて、Explorer/Finderからコードを更新できるよう、
Sambaあたりを入れて動かしておけばいいかと。
674nobodyさん:2009/07/13(月) 19:16:10 ID:???
>>672
PEARのインストールができているかまずチェック。
675nobodyさん:2009/07/13(月) 21:11:07 ID:???
>>673
php.iniで簡単に出来ました。
ただすべてのページにbase hrefを入れているので階層めぐりは無理でしたorz

どこかにコールバック関数と連携させてうまく開発出来る海外のツールがあったと思うんだけどなぁ。。
もう一度探してみます。ありがとうございました。
676nobodyさん:2009/07/15(水) 03:07:14 ID:???
[環境] WinXP(XAMP) + PHP5
[質問] メンバ関数をメンバ変数の連想配列にぶち込みたい。
※2が通るような使い方をしたいのですが、やりかたをご教授いただけませんでしょうか、、、。
----------------------------
※1 OK
function HogeFunc {
 echo "Called HogeFunc1";
}
class HogeClass1{
 public function Action() {
  foreaech( $m_Array as $key => $value ) {
   $value();
  }
 }
 $m_Array = array( "HOGE_TAG", "HogeFunc1" ); //! 呼び出しOK
};
----------------------------
※2 こいつはNG
class HogeClass2 {
 public function Action() {
  foreaech( $m_Array as $key => $value ) {
   $value();
  }
 }
 public static function HogeFunc2 {
  echo "Called HogeFunc2";
 }
 $m_Array = array( "HOGE_TAG", "HogeClass2::HogeFunc2" ); //! 呼び出すとエラー
}
※※エラー内容※※
Fatal error: Call to undefined function HogeClass2::HogeFunc2() in ....省略
----------------------------
677nobodyさん:2009/07/15(水) 03:15:04 ID:???
下の奴パースエラーにならないか?
678nobodyさん:2009/07/15(水) 03:16:29 ID:???
上もだった。
色々ひどい。HOGE_TAG関数もないし
679nobodyさん:2009/07/15(水) 05:17:03 ID:???
Reflection API
680nobodyさん:2009/07/15(水) 10:01:02 ID:???
>>674
そういう問題じゃなくて。
PEARの書き方が古すぎて、
noticeが出まくるってこと。
681nobodyさん:2009/07/15(水) 15:59:14 ID:???
エラー表示の制御は基本中の基本だぞ
682nobodyさん:2009/07/16(木) 17:37:24 ID:???
PHPを勉強しようと思ってPHPをDLするのにサイトに行ったけど
全く繋がらないんだが俺だけかな?
683nobodyさん:2009/07/16(木) 18:39:37 ID:???
www.php.netやphp.netじゃつながらなかったが
jp.php.net jp2.php.netとかはつながった
684nobodyさん:2009/07/16(木) 19:15:41 ID:???
>>683
ホントだ! これでDLして勉強できる・・・
ありがとうございます
685質問です:2009/07/22(水) 01:15:02 ID:???
xhtml構造で
他ページにおいてるphpを読み込むには
どうしたらいいですか?
いまはとりあえず、インラインとかobjectタグで
呼び出しています

ほかに良い方法があればお教えください
 
686nobodyさん:2009/07/22(水) 04:17:36 ID:???
>>685
軽くエスパーして
つ require
687nobodyさん:2009/07/22(水) 16:32:04 ID:???
すいません。超初心者ですが、配列と変数について困っています。
$ar = array(1,2); とすると
Array ( [0] => 1 [1] => 2 ) と表示されるのですが、

$date = "1,2";
$ar = array($date); とすると
Array ( [0] => 1,2 ) と表示されてしまいます。

$dateにはテキストボックスから自分で数字とコンマを入力して代入するようになっているのですが、
これらを配列として扱うようにするには、どのように記述すればよいのでしょうか。

申し訳ありませんがよろしくお願いします。
688nobodyさん:2009/07/22(水) 17:05:38 ID:???
$date = explode(",",1,2);
while ($i == 0){
$date1 = mt_rand(0,1000);
$date2 = mt_rand(0,1000);
if ($date1 == $date[0]){
if ($date2 == $date[1]){
break;
}
}
}
$ar = array($date1,$date2);
689687:2009/07/22(水) 17:05:52 ID:???
すいません、自己解決しました。
$ar = array($date); を
$ar = explode(",", $date); とすることでうまく動きました。
お手を煩わせて申し訳ありませんでした。
690687:2009/07/22(水) 17:07:43 ID:???
>>688さん
ありがとうございました。
691nobodyさん:2009/07/23(木) 00:45:19 ID:???
685です
>>686トンです
require_onceとhtaccessやっても無理でした
再度トライ中
 
692nobodyさん:2009/07/23(木) 15:34:36 ID:???
$this->name = "名前";
$this->mail = "メアド";
$this->tel = "電話";

などとあった場合、$thisの配列の中身を全部一括出力したい場合どうすればよいでしょうか
693nobodyさん:2009/07/23(木) 15:39:20 ID:???
var_dump($this);

ちなみに配列じゃないけどね
694nobodyさん:2009/07/23(木) 16:15:48 ID:???
>>693
おおーこれ便利ですねー
ググって類似のprint_rも覚えました
ありがとうございました
695nobodyさん:2009/07/23(木) 16:51:40 ID:???
セッションを使ったフォームで、入力してもらったフォーム内容を確認画面に飛ばした後、
入力画面に戻って修正箇所を再入力、というような普通のフォームを作っているのですが、
修正入力のときにフォームのリセットボタンが動作しません(全消去ではなくセッションで渡された内容に戻ってしまう)

スクリプトの挙動としては作った通りなので当然なんですが、機能としてどうも違うような気がします
何か解決方法はないでしょうか
696nobodyさん:2009/07/23(木) 17:44:36 ID:???
リセットはJSでやりゃあいいじゃん
697nobodyさん:2009/07/23(木) 17:57:10 ID:???
UI としてリセット機能は不要なことが多いけど
698695:2009/07/23(木) 18:08:13 ID:???
なるほど、どっちもアリだと思うので両方検討してみます
699nobodyさん:2009/07/23(木) 22:50:23 ID:???
Apache入れないでphp.exe -lって出来る方法ってありますか?
Apacheを入れたPCでは現在使えています。
700nobodyさん:2009/07/23(木) 23:04:04 ID:???
CLI版ならできるんじゃ?
701nobodyさん:2009/07/23(木) 23:49:44 ID:???
win zip版を落としてきて
パスphp.exe -l "%1"

これでダメなのです。
Apacheを入れてるときは動いてたのですが
702nobodyさん:2009/07/24(金) 10:45:01 ID:???
エラー文言を出さないのは釣りということ。スルーで。
703nobodyさん:2009/07/24(金) 18:48:34 ID:???
$_SESSION["input"] = $_POST;

としてフォームからPOSTされた中身を一括して$_SESSION["input"]に放り込んでるんですが、
さらにそれを一括してhtmlspecialcharsする方法はないでしょうか

現状べた書きでずらずらっと書いてるんですがどうも美しくなく・・・


PHP5
704nobodyさん:2009/07/24(金) 18:57:24 ID:???
最後$_SESSION["input"]にhtmlspecialcharsをすればいいんじゃないの?
705nobodyさん:2009/07/24(金) 19:15:54 ID:???
function h($data) {
if (is_array($data)) {
return array_map('h', $data);
}
else {
return htmlspecialchars($data, ENT_QUOTES);
}
}
706nobodyさん:2009/07/24(金) 19:49:53 ID:???
POSTとかSESSIONじゃなくて出力用データにまとめてかけなさいよ
707nobodyさん:2009/07/24(金) 20:12:12 ID:???
>>705
ありがとうございます
勉強がてら意味を追いながら似たような関数も合わせて調べてるんですが、
addslashes($data);
とするとフォームに"が入力されたとき\\\"と\が3つ増える怪現象にはまって脱線中ですw
ググろうにも\がGoogleにエスケープされるというw

>>706
本当にやりたいのはそれなんですが、出力用データがHTMLを含んでるので表示がおかしくなってしまうんです
708nobodyさん:2009/07/24(金) 20:16:44 ID:???
>>707
magic_quote
709nobodyさん:2009/07/24(金) 20:20:38 ID:???
>>707
普通はHTMLに出力用データを埋め込んで表示
710nobodyさん:2009/07/25(土) 03:07:01 ID:???
>>705>>708をベースに、htmlspecialchars後の&まで&に置き換わってしまう謎を無理矢理解決して最終的にこうなりました

function h($data){
 if(is_array($data)){
    return array_map('h', $data);
 }else{
    return stripslashes(preg_replace("/&/i", "&", htmlspecialchars($data ,ENT_QUOTES, "SJIS")));
 }
}

呼び出し箇所
if(get_magic_quotes_gpc()){ $_SESSION["input"] = h($_SESSION["input"]); }

動いてはいるものの正直自信全くナシですw


>>709
こっちもできるようになりたくて試行錯誤3時間
今日はできませんでしたorz
明日また粘ります

出力したいデータを詰め込んだ変数の中身はこんなかんじです

$output = "
 <table><tr>
   <td>名前</td>
   <td><input type=\"text\" name=\"name\" value=\"".$_SESSION["input"]["name"]."\" /></td>
 </tr></table>
";
711nobodyさん:2009/07/25(土) 03:08:44 ID:???
あ、書き込んだら勝手に記号置き換えられてました
>>710の「&まで&に」は「&まで&amp;に」です
712nobodyさん:2009/07/25(土) 06:09:00 ID:???
>>710
<?php
/* 〜前処理〜 */
$data['name'] = htmlspecialchars($_SESSION["input"]["name"]);
?>
<table><tr>
 <td>名前</td>
 <td><input type="text" name="name" value="<?php echo $data['name']; ?>"/></td>
</tr></table>
713nobodyさん:2009/07/25(土) 09:38:50 ID:njtiSjD4
&が置き換わるのは
htmlspecialcharsの仕様
714nobodyさん:2009/07/25(土) 17:11:32 ID:???
>>712
おかげさまでできました
$_SESSIONの中身を一度別の配列に放り込むのは
$_SESSIONの中身をいじるべきではないから
と解釈しましたがよいでしょうか

>>713
ググってさっそく調べました
「そういうもの」と考えるしかないみたいですね・・・


ところで、>>710で書いたfunctionなんですが、
フォームに\を記入するとstripslashesの作用で\が消えてしまうというトラブルに見舞われてます


該当部分の処理を順番に並べると下のようになるのですが

$data = htmlspecialchars($data ,ENT_QUOTES);
$data = preg_replace("/&amp;/i", "&", $data);
//*//
$data = stripslashes($data);


これだと\が消えてしまうので、上の//*//の部分に


$str = preg_replace("/\\\\/i", "\\", $str);

を入れてstripslashesをだまして強引に解決している状況です
なんか違和感があるのですがこれでよいものでしょうか
715nobodyさん:2009/07/25(土) 17:16:16 ID:???
stripslashesって何のために入れてるの?
716nobodyさん:2009/07/25(土) 17:35:20 ID:???
これをいれないと、なぜか画面遷移やリロードのたびにフォームに記入された\の数が倍々で増えるんです
717nobodyさん:2009/07/25(土) 17:48:38 ID:???
magic_quotes_gpc が効いてるだけでは
718nobodyさん:2009/07/25(土) 17:49:57 ID:???
うん。
あと野村監督じゃないけどバグに不思議のバグなしなので
「なぜかこうなる」はちゃんと原因探ったほうがいい
719nobodyさん:2009/07/25(土) 17:58:30 ID:???
>>717
なってます・・・
支障のないところまで組み上げて1度実装用のサーバーでこの部分必ずテストしてみます
とりあえず保留にして内容送信の機能先に作っちゃいますね
セッションすら閉じてない状況なのでw
720nobodyさん:2009/07/25(土) 19:12:06 ID:y2BFJd1A
配列をJavaScriptのオブジェクトにするプログラムを考えているのですが
どうしても配列の深さだけ処理を繰り返す必要があります。再帰的に繰り返すにはどうしたらいいのでしょうか。

この例だと配列を2階層しか整形出来ない
function makejson($array){
    $return = "{\n";
    foreach($array as $key => $value){
        $return .= "\t".$key.":";
        if(is_array($value)==true){
            $return .= "{\n";
                foreach($value as $key => $value_2){
                    $return .= "\t\t".$key.":";
                    $return .= "\"".$value_2."\",\n";
                }
            $return .= "\t},\n";
        }else{
            $return .= "\"".$value."\",\n";
        }
    }
    $return .= "}";
    echo $return;
    exit;
}
721nobodyさん:2009/07/25(土) 19:12:30 ID:y2BFJd1A
入力例
$array = array{
    'example' => array{
        'test1' => 'value1',
    },
    'example1' => 'value3',
}
makejson($array);
出力例
{
    example : {
        test1 : "value1",
    },
    example1 : "value3",
}

よろしくお願いします。
722nobodyさん:2009/07/25(土) 19:25:21 ID:???
723nobodyさん:2009/07/25(土) 19:48:52 ID:y2BFJd1A
そんな便利な関数があったのねありがとう
724719:2009/07/26(日) 17:13:42 ID:???
最近皆さんにお世話になった>>719です
その後メール送信機能はすったもんだありつつなんとかなって、
実装サーバーで>>715,717について実装サーバーでテストしたら
stripslashesがなくても問題ない(php.iniの設定が鯖とローカルで違った)ことが判明しました
おかげさまで機能は全部完成しトラブルも起きてません

ところで、ソースを最終チェックしてるうちに、
セッションを使ってるのにもかかわらずセッションIDを何にも利用してないことに気づいたんですがいいんでしょうかw

具体的にはhiddenで各画面にセッションネームとセッションIDを渡してはいるものの、ただ渡してるだけなんです
URLの後に付加してるわけでもなく、セッションIDを評価する条件分岐があるわけでもなく・・・
クッキーオフにしても普通に動いてるんですが、なんか根本的なところでおかしかったりしないでしょうか
725nobodyさん:2009/07/27(月) 11:41:33 ID:???
CSRF とか大丈夫なんかな
726nobodyさん:2009/07/28(火) 18:19:31 ID:???
php5.2.5で、mb_send_mail()を使ってメールを送信する際、
spam扱いをなるべく避けるため第5引数で-fパラメータのReturn-Pathを設定したいのですが、

$r_path ='-f [email protected]';
mb_send_mail($to,$sub,$body,$header,$r_path);
としてもエラーが出て送信できません
第5引数を外せば送信できるので第5引数が原因だと思うのですが、
対策はないでしょうか

php.iniの設定は以下の通りです
sendmail_from → no value
sendmail_path → /usr/sbin/sendmail -t -i
727nobodyさん:2009/07/28(火) 19:54:00 ID:???
>>726
-fの後ろに余分なスペースがあるとか。
728nobodyさん:2009/07/28(火) 21:42:53 ID:???
これって何をしたいんですか?(汗
$password = sha1(md5(md5(sha1(md5(sha1(sha1(md5($_POST[password]))))))));
729nobodyさん:2009/07/28(火) 21:45:07 ID:???
ワロタ
730728:2009/07/29(水) 00:14:01 ID:???
わかるかたいませんか?
731nobodyさん:2009/07/29(水) 00:18:36 ID:???
>>730
パスワードを推測されにくくしてからDBとかファイルとかに記録して
おきたいんじゃないかな。パスワード文字列そのものは保存しない。
で、MD5とsha1で滅茶苦茶にした文字列をファイルとかDBに保持し
ておく。

次にパスワードが合致しているかどうかを確認する場合、同じよう
に、入力した内容をMD5とsha1で滅茶苦茶にした文字列と合致する
かどうかをチェックする。これなら、DBやファイルに保存された文字列
を盗まれても、本物のパスワードは推測しにくいわけで。
732nobodyさん:2009/07/29(水) 00:30:42 ID:???
それって逆にパス文字列に戻せるのかな
733nobodyさん:2009/07/29(水) 00:34:01 ID:???
戻せない
734nobodyさん:2009/07/29(水) 00:52:28 ID:???
戻す必要ないしな
735nobodyさん:2009/07/29(水) 00:55:37 ID:???
あの青春は戻らない

ハッシュのように、曖昧な記憶が残っているだけさ
736nobodyさん:2009/07/29(水) 00:57:34 ID:???
>>728
別にそんなことしなくても、
sha1(25)
とかって書けば、25回暗号化してくれるのにな。
737nobodyさん:2009/07/29(水) 09:23:39 ID:???
>>736
ホント?
738nobodyさん:2009/07/29(水) 09:39:56 ID:???
ソノウソホント
739nobodyさん:2009/07/29(水) 13:45:36 ID:???
25が暗号化されるんじゃないのか?
740nobodyさん:2009/07/29(水) 14:02:50 ID:???
セッションについて悩んでます

ローカル環境で送信フォームをテストすると、
同一ページ内にある全てのリンクのURL末尾に自動的に
セッション名とセッションIDが付加されてしまいます
レンタル鯖上では起こらない現象なのですが、
どうしてローカルでだけ起こるのでしょうか
741nobodyさん:2009/07/29(水) 14:11:35 ID:???
>>740
session.use_cookies
session.use_only_cookies
session.use_trans_sid

これらの値をphpinfoで比較してみて。
session.use_trans_sidが有効だと、
coockieが使えない時に、URLの末尾に自動的にセッションIDを付加する。
742740:2009/07/29(水) 14:23:22 ID:???
>>741
>session.use_trans_sid

ありがとうございます
ビンゴでした
一発で治りました
秀樹感激
743nobodyさん:2009/07/29(水) 14:57:52 ID:YfqDSQPl
この性器表現の意味分かる人教えて。
!preg_match("/^$type\.\w+\.php$/", $entry)
744nobodyさん:2009/07/29(水) 16:59:17 ID:???
>>743
$typeで始まって、そのあとピリオド、そのあとに英数字が1文字以上続いて.phpで終わる

ちょっと質問なんだけど、オブジェクトのデストラクタ中で__getとか__setとかのマジックメゾットが正常に機能しない挙動があるんだけど、これってマジックメゾットだけなのか、他のメゾットも正常に機能しない可能性があるのか・・・
一応テストした限りでは正常な機能を失ったのは__getと__setだけなんだけど・・・
745nobodyさん:2009/07/29(水) 17:23:30 ID:???
>>744
ごめん勘違い
746nobodyさん:2009/07/29(水) 19:47:14 ID:???
>>744
さんきゅ
747nobodyさん:2009/07/31(金) 09:32:14 ID:???
童貞ですが何か?
748nobodyさん:2009/07/31(金) 18:48:49 ID:???
PHPのゲームってどれくらい負荷かかるのですか?
749nobodyさん:2009/07/31(金) 19:11:43 ID:???
PHPを何に使っているかによる。
ADVゲームの画面切り替えに使っているのなら、
それほど負荷はかからない。

リアルタイムの多人数同時プレイゲームのデータ
を常に送信しつづけるサーバーとしてPHPを使って
いるのなら、負荷はかなりのものになる。
750nobodyさん:2009/07/31(金) 20:55:23 ID:???
なるほど
ありがとうございます
751nobodyさん:2009/08/01(土) 23:44:33 ID:FfAyQxIr
初心ですいません。今PHPで複数のサイトの更新情報を表示できるrssをつくりたくて
やっと表示できたソースがあったんですが、↓のやりかただと更新時間順に表示されなくて、
URL順になってしまいます。
$rss = array('http://○○','http://○○','http://○○');

これ以上ぐぐっても答えが出そうにないのでお知恵をお貸しください
752nobodyさん:2009/08/01(土) 23:52:02 ID:???
RSSを表示できるなら、その内容をパースすることもできるだろう。
パースして各RSSの更新日時を取得、それを順に並べて出力すりゃいい。
753nobodyさん:2009/08/02(日) 10:58:28 ID:???
微妙にスレチなんだけど、このスレの凄腕達はPHP開発環境使ってる?
var_dumpでブラウザに毎回出力してたんだがさっき自称凄腕に失笑された
754nobodyさん:2009/08/02(日) 12:27:20 ID:???
デバッグするならZendStudio、とりあえずさっと作って動作確認するなら秀丸+ブラウザorコマンドライン
755nobodyさん:2009/08/02(日) 12:28:46 ID:???
>>753
つ FirePHP
756nobodyさん:2009/08/02(日) 15:17:53 ID:???
var_dumpを笑う者はvar_dumpに泣く

じっちゃんがよく言ってた
757nobodyさん:2009/08/02(日) 15:24:41 ID:???
俺なんてブラウザでprint_rですけど
758nobodyさん:2009/08/02(日) 16:16:05 ID:???
フリーのIDEがZendFWに完全対応してくれるならいいんだけど・・・
759nobodyさん:2009/08/03(月) 09:48:18 ID:???
リモートデバッグとかステップ実行したいときはPDTだけど
普段はPHPエディタ+tortoisesvn
デバッグ表示はVar_Dump::display(); // pearのVar_Dump

あとはXdebug有効にしてる(エラー時にブラウザに色々情報でる)
凄腕じゃないのでほとんどの場合、これで十分。
760nobodyさん:2009/08/05(水) 23:34:19 ID:???
公式マニュアルのミスは何処に言えばいいんだ?

http://jp.php.net/manual/ja/function.min.php
>min() は配列の中で最も大きい数値を返します
761nobodyさん:2009/08/05(水) 23:39:36 ID:???
>>760
ドキュメントの改善を手助けするには
ttp://jp.php.net/manual/ja/about.howtohelp.php

762nobodyさん:2009/08/06(木) 09:46:57 ID:???
※ただしストレスが溜まる
763nobodyさん:2009/08/09(日) 02:42:18 ID:???
PHPの総合開発環境で何かおすすめないですか?
PHPエディタという奴は起動してすぐ落ちるのでだめでした
VisualStudioみたいのがいいんだけど、やはりフリーじゃなくお金払わないとだめですかね
764nobodyさん:2009/08/09(日) 02:48:28 ID:???
eclips + PDT
765nobodyさん:2009/08/09(日) 04:26:11 ID:???
>>764
コード書いた後の出力の確認ってどんな感じになるの?
766nobodyさん:2009/08/10(月) 00:19:53 ID:???
教えてください
CSVから1行一件のデータを読み込み
最初のforeachの中でif文使って条件分けしたデータを配列に入れて
その分けた数とforeachで表示させたいのですが
条件分けしたデータを入れる変数?配列?の宣言の仕方が分かりません
$Alllist = file("data.csv");
foreach( $Alllist as $list )
{
767766:2009/08/10(月) 00:22:54 ID:???
改行間違って送ってしまった orz
if( strcmp( $list, "A" ) == 0 )
$array = $list;
}
printf( "Count count($array)" );
foreach( $array as $wake )
{
768766:2009/08/10(月) 00:25:21 ID:???
最悪だ、2度失敗した
  表示;
}

すみません、質問以前な事してますが
よろしくお願いします m(_ _)m
769nobodyさん:2009/08/10(月) 00:30:52 ID:???
strcmpで条件分けしたCSVの1行だけ
foreachで各列を表示したいんだよね?
それでいいのでは?
770nobodyさん:2009/08/10(月) 00:55:07 ID:???
推測になるが、例えばcsvデータの1列目の文字に応じて、分類したいということなら、

function group_lists($list, $key, &$group) {
if (! array_key_exists($key, $group)) $group[$key] = array();

$group[$key][] = $list;
}

// ここから呼び出し元

$group = array();
foreach( $Alllist as $list )
{
if (stripos($list, 'A') === 0) {
group_lists($list, 'A', $group);
}
else if (stripos($list, 'B') === 0) {
group_lists($list, 'B', $group);
}
// 以下、場合分けの数だけelse ifが続く
}
771nobodyさん:2009/08/10(月) 01:16:15 ID:???
submitボタンが押されたらフォームの内容を
ファイルに書き込むプログラムを作りました。

a.php
-----------------------------------------------------
if($_POST['submit']) {
writeData();
}
-----------------------------------------------------

これは正常に動いているのですが、
a.phpからb.htmlなどにページ移動し、ブラウザの戻るボタンで戻ると
再度POSTデータが送信されてファイルに書き込まれてしまいます。
これを避ける方法がありましたら、ご教授願えますか?
772nobodyさん:2009/08/10(月) 03:15:03 ID:???
>>770
なんで===にしてんの?
773nobodyさん:2009/08/10(月) 03:15:45 ID:???
>>771
Locationで飛ばすとか
774nobodyさん:2009/08/10(月) 06:26:50 ID:???
>>771
書き込む内容をチェックしたり、セッション使ったり
用途に合わせた選択をすればいいと思う
>>772
==を使う方が例外的だろう
普通は===を使うぞ
775nobodyさん:2009/08/10(月) 07:11:59 ID:???
えっ
776nobodyさん:2009/08/10(月) 07:30:39 ID:???
なにそれ
777766:2009/08/10(月) 10:34:50 ID:???
>>769 >>770さんレスありがとうございます
まずCSV内に一致した数を表示させて
その後に分類されたデータを表示させたいので
分類と表示を一緒にはできない・・・ですよね

配列を宣言して、その配列にどんどん分類したデータを追加していく
C++で言うvector見たいなのはphpでは無いのでしょうか?
778nobodyさん:2009/08/10(月) 10:39:06 ID:???

hairetu = array();
hairetu[]="hogehoge";
hairetu[]="hagehage";
hairetu[]="tsurutsuru";
779nobodyさん:2009/08/10(月) 12:16:40 ID:???
== は型を無視して比較、
=== は型まで同一かどうかを比較、
だったっけか
780766:2009/08/10(月) 13:47:28 ID:???
>>778
ありがとうございます、うまくいきました

>>779
知らなかったー
781nobodyさん:2009/08/10(月) 14:09:08 ID:???
>>774
普通は===を使うぞの根拠をkwsk
782nobodyさん:2009/08/10(月) 15:46:06 ID:???
>>781
http://d.hatena.ne.jp/hnw/20080606
この記事がとても参考になると思う
783nobodyさん:2009/08/10(月) 15:51:30 ID:???
>>782
全部マニュアルで明記されてることじゃん??
どの辺が普通なの?
784nobodyさん:2009/08/10(月) 15:58:42 ID:???
粘着質な奴だな
785nobodyさん:2009/08/10(月) 17:08:21 ID:???
答えられないんだw
786nobodyさん:2009/08/10(月) 17:24:39 ID:???
テキストファイルからURLを抽出するphpを書きたいのですが、

$source (元のテキストファイル)
$result (URLリスト)
とします。

http://phpspot.net/php/man/php/function.preg-match-all.html
ここを参考に以下のコードを書きました。

// $pattern = '/http:\/\/[a-z0-9\/\-_\.]+/i';
// $pattern = '/(?:")?(http:\/\/[^\s"]+)/';
$pattern = '/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/';

preg_match_all( $pattern, $source, $maches );
fputs($pointer, count($matches[0]));
fputs($pointer, "\n");

for ( $i=0; $i< count($matches[0]); $i++ )
{
fputs($pointer, $maches[1][$i]);
}

色々パターンを変えてやってみても、結果はいつも0(何もマッチしない)です。
これ以外の方法でも構わないので、テキストからURLリストを作る方法を教えてください。
よろしくお願いします。
787nobodyさん:2009/08/10(月) 18:31:55 ID:???
>>782
string型同士でも10e0とか数字比較されるのは知らなかった。
これは危険だな。
788nobodyさん:2009/08/10(月) 20:09:42 ID:???
>>786
ひょっとして
$source = 'hoge.txt';
とかじゃないよね?
preg_match_allの第2引数は検索対象となる”文字列”だからね?
789nobodyさん:2009/08/10(月) 20:11:45 ID:???
型まできちんと意識するときは===使うけど、意識するまでもないときは普通に==使うなあ。
まあ用心とか念のためとかいわれたらそう言う考え方もあるよね、だけど。
790nobodyさん:2009/08/10(月) 20:17:14 ID:???
型を意識しなくてもいい言語だからこそ型に関連するバグに嵌るんだよな
791770:2009/08/11(火) 00:47:34 ID:???
>>772

いまさらだが、striposは、見つからなかった場合、falseを返す。
== 0 とした場合、0文字目かfalseかを判断出来ないため、=== 0とした。
792786:2009/08/11(火) 11:34:24 ID:???
>>788
そうやってました。
っていうことは、$sourceから一行づつ文字列引っ張ってpreg_matchでチェックしていくんですかね。
どう書けばいいんだ… CかC++なら一瞬で終わるのに…
793786:2009/08/11(火) 11:37:04 ID:???
おそらく$sourceから fgetsでラインを取りだすと思うんですが、行はどうやって指定するんですか?
(ポインタをどうやって進めるんですか?)
794nobodyさん:2009/08/11(火) 11:45:01 ID:???
$source = 'hoge.txt';
$pattern = '/(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/mi';
preg_match_all( $pattern, file_get_contents($source), $maches );
print_r($maches);
795786:2009/08/11(火) 11:46:06 ID:???
<?php
 $pointer=fopen("./book/memo", "r");    //ファイルを開きます
   $line = fgets($pointer);       //内容を取り出します
  echo $line;               //画面に内容を表示
 fclose($pointer);              //ファイルを閉じます
?>

こういうクソサンプル載せてるサイトってなんなんだろう…
全く意味がないw
796786:2009/08/11(火) 11:48:25 ID:???
>>794さん
ありがとうございます。
file_get_contentsがキモだったんですね。
797nobodyさん:2009/08/11(火) 11:48:48 ID:???
お前が言うな
798nobodyさん:2009/08/11(火) 12:29:46 ID:???
ワロタ
799nobodyさん:2009/08/12(水) 11:34:05 ID:???
Apache で聞くべきか悩んだのですがここで。
.htaccess で

php_value mbstring.func_overload 0


と書いても設定が変わりません。試しに

php_value mbstring.func_overload = 0


と書くとエラーになるので .htaccess は読まれているようです。
( mod_rewrite などは動いている )

解決策をご存知の方はいらっしゃいませんか。
800nobodyさん:2009/08/12(水) 11:41:53 ID:???
ini_get("mbstring.func_overload"); はいくつ?
801799:2009/08/12(水) 11:54:07 ID:???
>>800
7 なので 0 にしたくて
802nobodyさん:2009/08/12(水) 13:46:11 ID:???
>>801
だからよ、7ってことはその.htaccessが効いてないってことじゃないか。
803799:2009/08/12(水) 13:47:48 ID:???
>>802
なので何でだろう、と。
Apache スレの方がいいですかね。
804nobodyさん:2009/08/12(水) 14:04:17 ID:???
ini_set してまたini_getするとどうなる?
805nobodyさん:2009/08/12(水) 14:05:09 ID:???
AllowOverrideがNoneになってるとか?
806nobodyさん:2009/08/12(水) 14:05:24 ID:???
そもそも環境は?バージョンとか。
一部レンタルサーバじゃその変更使えないとか書いてるサイトもみかけたぞ
807799:2009/08/12(水) 14:44:31 ID:???
みなさん、いろいろとありがとうございます。

>>804
mbstring.func_overload は PHP_INI_PERDIR なので
ini_set() できないだろと思いつつ、試してみましたが 7 のままです。

>>805
あ、それ怪しい、と期待したのですが
AllowOverride All
Options All
でした…。

>>806
自分のパソコンの実験サーバです。
Apache/2.0.63 + PHP 5.2.9-1 ( Windows Vista )

とりあえず php.ini の mbstring.func_overload = 0 をしてますが、
古いアプリが 7 を期待しているのがあって、普段は 7 がいいんです…。
808nobodyさん:2009/08/12(水) 15:16:49 ID:???
いやまあAllowOverrideはrewrite効いてるって書いてるから無いでしょ。
とりあえずこっちで試す限り普通に変更できるので、どこかで上書きしてるか
変更しないようになってるのでは。
インストールした直後の設定に戻しても同じかな
809799:2009/08/12(水) 15:37:31 ID:???
>>808
ですよね。
何かの見落としだと思うので
クリーンな環境で試してみます。
810nobodyさん:2009/08/12(水) 21:21:14 ID:???
今日初めてSmartyを使ってみたのですが、ブラウザで開くと文字化けしてしまいます。
phpとtplの文字コードはEUC-JPで、tplの出だしは
<HTML lang="ja">
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=EUC-JP">
となっています。
そいやphpで書いてた時も同じものをprintしたんじゃだめで、
header( "Content-Type: text/html;charset=EUC-JP" );
と書かないと文字化けしたんですけど、関係あるでしょうか?どうやって解決すればいいんでしょう。
811nobodyさん:2009/08/12(水) 21:23:16 ID:???
続き
mbstring.internal_encoding = EUC-JP
になっています。
812nobodyさん:2009/08/12(水) 21:27:49 ID:???
更に追記
ブラウザでエンコーディングを日本語:EUC-JPに指定すると文字化けが直ります
日本語:自動判別にすると文字化けします
813nobodyさん:2009/08/12(水) 21:56:23 ID:???
冒頭に美乳と書く
814nobodyさん:2009/08/12(水) 22:01:02 ID:???
>>810
ブラウザに送られるHTTPヘッダの情報に異なった文字コード宣言が入っているため
FirefoxはHTTPヘッダとHTML文書に異なる文字コードが宣言されている場合、HTTPヘッダを優先する
header()はHTTPヘッダを送信する関数のため、header()を利用した場合は再現しない
815nobodyさん:2009/08/13(木) 01:01:40 ID:???
なるほど。で、どうすればいいんでしょうか
816nobodyさん:2009/08/13(木) 10:20:29 ID:???
default_charset は?
817nobodyさん:2009/08/13(木) 21:55:45 ID:???
php.iniの中にdefault_charsetの設定がありません。これが原因でしょうか?
バージョンによってはないものなんでしょうか?追加するとしたらどこにすればいいんでしょう。
ぐぐって出てくる解説では最初から入っていることが前提となってるっぽいですが。
818nobodyさん:2009/08/13(木) 21:59:48 ID:???
適当な位置にdefault_charset = EUC-JPを追加してみたけどだめでした。
こりゃあきらめるしかないか。
819nobodyさん:2009/08/15(土) 14:05:38 ID:???
mixiのメッセージが届いたら、
「○○さんから届いたよ」っていうメッセージが
デスクトップに表示されるっていうプログラムを作りたいんですが、
「メッセージを受け取った時に実行する」にはどうしたらいいんでしょう?

820nobodyさん:2009/08/15(土) 14:22:52 ID:???
821nobodyさん:2009/08/17(月) 17:42:19 ID:YF5t01fc
ハリコの虎とかがむしゃらのようなスクリプトって公開されていますでしょうか?
822nobodyさん:2009/08/17(月) 17:47:12 ID:???
何だろうと思ったらエロ画像掲示板なのか
ぼく18歳未満なのでこれ以上調査できません><
823nobodyさん:2009/08/18(火) 10:55:27 ID:4md56gGq
質問です。

<?php
$test="てすと";
?>
<html><body>
<?=$test?>
</body></html>

これが表示されるサーバーと表示されないサーバがあるのですが、
どういう理由で違いが出るのでしょうか?
どこかサーバー側の設定が違うのでしょうか?

宜しくお願いします。
824nobodyさん:2009/08/18(火) 10:58:12 ID:???
>>823
short_open_tag
825nobodyさん:2009/08/18(火) 11:14:03 ID:4md56gGq
>>824
ありがとうございました。
無事、表示できるようになりました。
826nobodyさん:2009/08/18(火) 15:33:36 ID:???
ショートオープンタグは、
オフにしたほうがいい。

もし開発環境で、オンで、
そのまま開発して、
それでもし本番がオフだったら、
書いたコードがPHPとして
実行されずに、ソースが丸見えになる。
827nobodyさん:2009/08/18(火) 15:36:44 ID:???
俺の、ゆめは、将来のうちに
連れとか中間と、いっしょに、連合組んで
関東を統一することである。
学校出たら、トオルんとこの溶接、手伝って
金ためてアストロか、シーマを、迷ってるが買って、
単車も改造して、バリバリいい音出して走る。
俺は、ずっと将来現役で、走り続ける事が、夢である。

これ思い出した
828nobodyさん:2009/08/18(火) 19:47:38 ID:???
レンタ鯖がカスタマイズしたphp.iniの設置認めてるんですが、
こういう場合php.ini全文をupするものなのか、それとも変えたい部分だけを

log_errors = On

みたく書いてそれだけをphp.iniの名前でupするものなんでしょうか
829nobodyさん:2009/08/18(火) 20:10:14 ID:???
>>828
レンタル鯖のマニュアル読んだほうがいい。
一概にどうとは言えないと思うよ。
830nobodyさん:2009/08/19(水) 13:19:33 ID:rHPCm5Kh
すいません、質問いいですか?
【OS名】 linux
【PHPのバージョン】php5.1.6
【WEBサーバ】 Apache
【質問内容】
function send_to_smart($data1, $data2 ,$mode){
//パターン1
if($mode+0 == 0){
$request = "GET /aaaaa/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n";
send_request($request);
//パターン2
}elseif($mode+0 == 1){
$request = "GET /bbbbb/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n";
send_request($request);
}
$fp = fsockopen("*****.jp",80);
fputs($fp, $request);
while (!feof($fp)) {
$line .= fgets ($fp,128)."\n";
}
fclose ($fp);
}
上記の感じでソケット送信のプログラムを作ってます。
・パターン1と2で別々にデータを送信してる
・2回とも情報送ってるはずなのに、受け取り側ではパターン1しか受け取れてない。
・パターン2はデータが入っていないのではなく、リクエスト自体が来ていない。
・2回ともレスポンスは取れている。ソケットオープンも問題なし。

パターン2で送れない理由がさっぱりわかりません。
これで、なんか原因や解決策判ったりしますか?
831nobodyさん:2009/08/19(水) 13:22:35 ID:???
send_request関数が無いので何とも
832nobodyさん:2009/08/19(水) 13:24:22 ID:???
マルチだったのか。乙
833nobodyさん:2009/08/19(水) 14:29:22 ID:???
<?php
$mes ="
<html>
<head><title>aaa</title></head>
<body>aaa</body></html>";

echo $mes;
?>


たったこれだけのスクリプトがFirefoxでだけエラー起こす鯖があるんだけどなんでだろう
アドオンは当然全部切った

↓エラーメッセージ
501 Method Not Implemented
GET to /test.php not supported.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
834nobodyさん:2009/08/19(水) 14:36:00 ID:???
正しくヘッダ出してないからじゃね
835nobodyさん:2009/08/19(水) 14:38:06 ID:???
クッキー消せだって
836nobodyさん:2009/08/19(水) 14:57:27 ID:???
ありがとう
クッキー消したらうまくいった
クッキーなんて使ってないスクリプトなのになんでだろ・・・
837nobodyさん:2009/08/20(木) 01:28:48 ID:???
file_get_contentsとか、curl_execとかでPOST送信した場合、
相手から302が返ってくると遷移先にGETで送ってくれやがります
POSTで再送できないの?
838nobodyさん:2009/08/20(木) 09:59:34 ID:???
RFC2616
839nobodyさん:2009/08/20(木) 23:15:54 ID:???
>>838
「POSTして302が返ってきたら遷移先にもPOSTで送れって書いてあるのに
誰も守ってくれなかったから仕方なく303と307作った」
って読めるんだが違うの?

その本来の302の動作をさせたかったんだが。
とりあえずZend_Httpのstrictredirectsでできるのはわかったんだが、できれば標準関数で行いたかった。
840nobodyさん:2009/08/21(金) 15:54:18 ID:???
他人がつくったPHPアプリをメンテしているんですけど、スパゲッティになっています。
それで、どのPHPファイルが読み込まれるのかを調べたいんですけど、そのような機能はPHPにありますか。
つまり require_once() した時にそのファイル名をログファイルに出力させたりとか、そういうかんじの機能です。
よろしくお願いします。
841nobodyさん:2009/08/22(土) 03:08:28 ID:???
>>840
・配列のぐろーばる変数をつくる
・あらゆるPHPファイルの戦闘でグローバル変数に自分のファイル名を追加させる
・最後辺りで print_r する
842770:2009/08/22(土) 03:44:58 ID:???
>>840
使ったこと無いけど、inclued_get_dataはどう?
マニュアル見た感じ、取得出来そうなきがする
http://jp.php.net/manual/ja/intro.inclued.php
843nobodyさん:2009/08/22(土) 12:27:40 ID:???
>>841
全ファイルの先頭に追加するならそんなことしなくてもecho __FILE__すればいいだけじゃないのか・・・
844nobodyさん:2009/08/24(月) 00:53:18 ID:???
画像への権限について質問があります。
画面からファイル(画像)がアップロードされた場合に
http://test/img/test.jpg
という風にファイルを保存しています。

また、ファイルがアップロードされたタイミングでファイルの権限を640に設定し
そのままでは外部からアクセス出来ない様に設定しています。

ここで質問なのですが、A.phpのページにパスワードを入力しそのパスワードが
正しい場合のみそのクライアントからは、アップロードされたファイル(ここでは、 test.jpg )に
アクセス出来る様にしたいのですが何か良い方法はありますか?
845nobodyさん:2009/08/24(月) 01:29:01 ID:???
>>844
コード上の認証と絡めるなら、画像のURLをPHPにして、
パラメータでどの画像か判別させればいいのでは。

PHPからは、image なんちゃらの content-type ヘッダを
吐き出して、そのあとバイナリを送ればいいだけ。
846nobodyさん:2009/08/24(月) 01:40:50 ID:???
>>845
ごめんなさい。ちょっと難しいです。
何か参考になるサイトがあれば教えて頂けますでしょうか?
847nobodyさん:2009/08/24(月) 06:22:07 ID:???
マニュアルみながらBASIC認証なりセッションなりやればいいんじゃね
848nobodyさん:2009/08/25(火) 00:24:14 ID:???
>>844
test.jpg を、ブラウザからはアクセスできないフォルダに置く。
(できないサーバーもある)

それで、phpから、そのjpgを呼び出して表示するように
すればよい。

1.phpにアクセスすると、
その1.phpが、test.jpgを呼び出す感じ。

直接test.jpgにブラウザからはアクセスできない。

それで、1.phpに、パスワード認証をかけておいて、
パスワードが一致したら、ログイン成功、にして、
セッションでその情報をもちまわせばよい。
849nobodyさん:2009/08/25(火) 14:05:57 ID:???
オンラインチャットを作りたいのですが、一から言語を覚えて作るのは難易度高いでしょうか
プログラミングはvbとhtmlしか経験ありません
850nobodyさん:2009/08/25(火) 14:11:57 ID:???
>>849
技術的にはCometとかになるだろうから
インフラ的に無理
自鯖使うならいいけど
難易度的には難しくはないしその辺にサンプルも転がってるだろう
851nobodyさん:2009/08/25(火) 14:22:31 ID:???
1行掲示板みたいなので、javascriptで30秒リロードとかでいいんじゃねーの?
852nobodyさん:2009/08/25(火) 14:26:06 ID:???
いつの時代のチャットだよw
853nobodyさん:2009/08/25(火) 14:31:29 ID:???
>>850-851
ありがとうございます
インフラなら問題ありません

vbでLAN上のチャットなら作ったことがあるので
ほかの言語で作り直すのはどのくらい難しいのか
経験者の方からみてやめておいたほうがいいのかをご助言いただけるとうれしいです
854nobodyさん:2009/08/25(火) 14:40:32 ID:???
VBでクライアントアプリ作って、
PHPでデータ受けて返すのを作れば
完成なんじゃないか
855849:2009/08/25(火) 15:14:15 ID:???
>>854
一応ブラウザ上で動かしたいもので、すみません
856nobodyさん:2009/08/26(水) 00:56:09 ID:???
VBの経験があるならクライアントにSilverlight使えばいいんじゃない
857nobodyさん:2009/08/26(水) 05:55:55 ID:???
cURLに関しての質問です。

やりたいこと: 自分のホームページ上からヤフオクへログイン。

現状: mixiへのログインは出来たのですが、ヤフオクが出来ずに躓いてます。
mixiへログインすると正常にcookieも書き出してくれるのですが、
ヤフオクへアクセスを試みると Empty reply from server というエラーを
吐いてしまいます。もちろんcookieも書き出してくれません。
何かアドバイスを頂けると非常に助かります。m(__)m
(長くなるのでスクリプトは次レスで。)
858857:2009/08/26(水) 05:57:44 ID:???
>>857の続きです。

スクリプト:
<?php
// POSTデータ準備 hiddenで送ってるデータが非常に多いので視認性のため一部割愛

$post_data[".u"] = "2c2vi55595i07";
$post_data[".v"] = "0";
$post_data[".challenge"] = "bwDQLWdW58F9ZAsaWVZwpkkumuzc";
$post_data["hasMsgr"] = "0";
$post_data[".chkP"] = "Y";
$post_data[".done"] = "http://auctions.yahoo.co.jp/jp";
$post_data[".protoctl"] = "" ;
$post_data["login"] = "MYID";
$post_data["passwd"] = "MYPASSWORD";
$post_data[".persistent"] = "y" ;
859857:2009/08/26(水) 05:59:10 ID:???
>>858の続きです。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://login.yahoo.co.jp/config/login?");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
$result = curl_exec($ch);

if ($result === false) {
// エラーが発生した場合の処理(現在ここでエラーを吐きだして終了する。)
print curl_error($ch);
exit();
}

// ログインが成功してたらトップページへ接続
curl_setopt($ch, CURLOPT_URL, "http://auctions.yahoo.co.jp/jp/");
$result = curl_exec($ch);

curl_close($ch);
//取得結果を出力する。
echo $result;
?>

以上です。
860nobodyさん:2009/08/26(水) 06:10:12 ID:???
フィッシング詐欺?
861849:2009/08/26(水) 06:25:22 ID:???
>>856
今日図書館にいって調べてみます
ありがとうございました
862nobodyさん:2009/08/27(木) 16:53:40 ID:pMvyOdS/
現在表示しているページのURLの最後にくっついている「#」以降の文字列って
$_SERVERや$_GETに入ってますか?

$_SERVER['PHP_SELF']や$_SERVER['QUERY_STRING']では取得できなかったのですが
他に何かあれば教えてください;;
863nobodyさん:2009/08/27(木) 16:56:20 ID:???
無理
864nobodyさん:2009/08/27(木) 16:58:32 ID:lv8pbWG8
>>862
REQUEST_URIとか
つか$_SERVERとか$_GETとか定義されてるもの全部確認してから質問しろよ
http://www.php.net/manual/ja/reserved.variables.server.php
865nobodyさん:2009/08/28(金) 15:57:06 ID:???
ハッシュから一番目のデータを取り出し、
取り出した元ハッシュからは、その一番目のデータを取り除きたいです。

ベタに書くとこんな感じですが、
もっとかっこよく書けないでしょうか。

$array = array(
'a'=>'100',
'b'=>'200',
'c'=>'300',
);

list($data, $array) = foo($array);

print_r($data); // array('a'=>100)
print_r($array); // array('b'=>200, 'c'=>300)

function foo($array) {
$new_array = array();
$line = 0;
foreach ($array as $key=>$value) {
if ($line == 0) {
$data[$key] = $value;
$line++;
continue;
}
$new_array[$key] = $value;
}
return array($data, $new_array);
}
866nobodyさん:2009/08/28(金) 16:02:34 ID:???
>>865
通報したぞ ガチで
ハッシュは大麻同様違法
867865:2009/08/28(金) 16:10:54 ID:???
キめたら頭が冴えて自己解決しました。

function hash_shift($array) {
list($key) = array_keys($array);
$data[$key] = $array[$key];
unset($array[$key]);
return array($data, $array);
}

>>866
4点。
868nobodyさん:2009/08/28(金) 16:13:02 ID:???
$data = array_slice($array, 0, 1);
$array = array_slice($array, 1);
869865:2009/08/28(金) 16:48:07 ID:???
>>868
ありがとうございます。
おー、こうも書けるんですね。感心です。
870名無しさん@そうだ選挙に行こう:2009/08/30(日) 16:02:47 ID:???

日本語フォルダに対応してくれる神はいませんか?
http://popilol.lolipop.jp/NiconicoPHP/pipipiga.html
http://popilol.lolipop.jp/NiconicoPHP/faq/body.php?no=4

どうもmb_convert_encodingを使えばできるらしいのですが、
PHP作ったことないのでさっぱり。

871名無しさん@そうだ選挙に行こう:2009/08/30(日) 16:15:21 ID:???
$foldername = mb_convert_encoding($foldername, $toEncode, $fromEncode);
にすればおk
872nobodyさん:2009/08/31(月) 14:00:08 ID:???
携帯サイトを作っています(3キャリア対応、共通ソース)。
厳密に言うとPHPではないのかもしれませんが、<a name="〜〜">でのアンカーリンクが上手く動作しません。
header("Location:〜〜")でページをジャンプさせるのですが、その際にPHPSESSIDと共に#でページ内アンカーに飛ばしています。
ところが、まったく同じURLにジャンプさせているのにもかかわらず、機種やジャンプさせるボタンによってページ内アンカーに
飛んだり飛ばなかったりで、条件がよく分かりません。
飛ばしたいところのソースは、
<a name="face" id="face"></a>
となっていて、ジャンプさせるコードは、
header("Location:hogehoge.php?guid=ON&SSID=〜〜&".SID."#face");
となっています。
header("Location:")は、aタグのページ内アンカーに対応していないのかとも思いましたが、
場所によっては飛んでくれるところもあるので、そうではないようです。
ちなみにXHTMLで組んでいるので<div id="face">とやってみましたが、これでもジャンプしてくれませんでした。
一体何が原因なのでしょうか?
873nobodyさん:2009/08/31(月) 14:01:41 ID:???
上記に追記です。
ドコモで試したところ、header("Location:")内の#以降がスッパリとなくなっていました。
ドコモでは対応していないようですね・・・。
874nobodyさん:2009/08/31(月) 14:02:28 ID:???
AUでは?
875nobodyさん:2009/08/31(月) 14:21:09 ID:???
>874
auでは#以降はキチンと転送されているものの、ジャンプしてくれません。
876nobodyさん:2009/08/31(月) 14:34:02 ID:???
softbankでは?
877nobodyさん:2009/08/31(月) 14:34:29 ID:???
878nobodyさん:2009/08/31(月) 14:38:40 ID:???
>>874,>>876
初心者は回答しなくていいんだよ^^
879nobodyさん:2009/08/31(月) 14:40:52 ID:???
クソスレ三段論法についておしえてください
880nobodyさん:2009/09/01(火) 12:42:16 ID:???
実はここってレベル低いよな。
881nobodyさん:2009/09/01(火) 13:43:32 ID:???
>>878
その2つは質問なんじゃないかと
882nobodyさん:2009/09/02(水) 10:09:20 ID:???
PHP超初心者です(Apacheはインストール済みです)
で、今PHPのインストール設定のところで迷っているのですが、php-5.2.10-Win32.zipをダウンロードし、C:\phpに展開しました
その後php.ini-distをphp.iniに名前変更してWindowsディレクトリに入れました
その次の事が良く分からないのですが、このphp.iniの内容を書き換えろというのは、例えば自分でメモ帳やらTeraPadで書き換えろという事なのでしょうか?
それと、本に「extension_dir="c:/php/ext"」と書かれているのですが、コレはphp.ini内で検索して出てくる「extension_dir = "./" 」という部分を書き換えればいいのでしょうか?

また、自分は「独習PHP」を参照にしているのですが、このサイト(http://y-kit.jp/saba/xp/phpsetup.htm#down)やこのサイト(http://www.phpbook.jp/install/phpini/index.html)で、書かれている事などが違います
いったいどれを参考にし、どういうような書き換えをするべきなのでしょうか?
教えていただければ幸いです
883nobodyさん:2009/09/02(水) 10:16:57 ID:???
こっちのほうが分かりやすい

俺が初心者にPHPを伝授する
http://pc11.2ch.net/test/read.cgi/php/1167984858/
884nobodyさん:2009/09/02(水) 10:18:00 ID:???
>>882

883の10レス目に答えが書いてあるが
1から順番に読むことを進める
885nobodyさん:2009/09/02(水) 10:24:27 ID:???
はい、その通りです。
他のサイトのは貴方の環境には合いませんから違います。
886nobodyさん:2009/09/02(水) 10:31:33 ID:???
>>883-885
返答ありがとうございます
思っていたよりもPHP導入って難しいんですね
PHP学習するよりも何か導入の方が時間かかっている気がします(苦笑)
第1章がなかなか先に進みません・・・
887nobodyさん:2009/09/02(水) 11:57:26 ID:???
すみません、>>883さんの教えてくれた、「俺が初心者にPHPを伝授する」スレにも質問してしまったのですが、このスレの方が質問は適切かなと思いまして
上記のスレの>>1から続く設定方法を見てやってみたのですが、
>>13のPHPの設定で、Apachewo再起動したところ、httpd.confの「LoadModule php5_module C:/php/php5apache2.dll」がEroorになり、
「php5apache2.dll」がload出来ないと出ました
色々とやってみたのですが出来ません
いったいどこの設定が間違っているのでしょうか?
教えてください
888887:2009/09/02(水) 12:10:26 ID:???
バージョンはphp-5.2.10-Win32.zipとapache_2.2.13-win32-x86-openssl-0.9.8k.msiの組み合わせです
889nobodyさん:2009/09/02(水) 12:17:27 ID:???
せっかく向こうで答えたのにマルチ乙
890887:2009/09/02(水) 12:24:15 ID:???
>>889
ごめんなさい
むこうの方に絞ります
891nobodyさん:2009/09/02(水) 19:44:10 ID:???
sudo make install-cli
を実行しても、/usr/local/bin/php がインストールされません。
(--prefixはちゃんと/usr/localになっています。)
以前はこれでうまくいっていたはずなのに。
何が原因かわからないのですが、心当たりのあるひとがいたら教えてください。
PHP5.2.10, MacOS X Snow Leopard
892nobodyさん:2009/09/03(木) 01:24:57 ID:???
文字列を記述する場合""で囲むか''で囲むかはどうやって決めれば良いのでしょうか?
基本的すぎて?解説書に書いてない
893nobodyさん:2009/09/03(木) 01:39:12 ID:???
$hoge = "ほげ";

print "1 $hoge";
print '2 $hoge';

->出力
1 ほげ
2 $hoge
-----------------------------------------
速度的には ""の中に変数を書くのではなく、
print "1 ". $hoge;
とするのが早いらしい。
894nobodyさん:2009/09/03(木) 02:39:30 ID:???
シングルとダブルの速度差ってどこかで否定されてなかったっけ。
まあソースを追えばわかるんだろうけど。
895nobodyさん:2009/09/03(木) 02:53:32 ID:???
>>893
d
すみません、質問の仕方が不適切でした。
その違いはわかるのですが、シングルでもダブルでも動作に違いがない場合
どちらを使うかは全くどうでも良いことなのでしょうか?
具体的には、
$hoge['name']と書くか
$hoge["name"]と書くか悩んでる。現在統一されてなくてバラバラなので気になって。
896nobodyさん:2009/09/03(木) 03:41:35 ID:???
>>894
書き方が悪かった、
print "1 ". $hoge;
print '2 '. $hoge;
とやった際のスピードは殆ど変わらない
ダブルで変数が書かれていた場合、変数を呼び出す際に遅いということ。

>>895
シングル・ダブル、どちらでもかまわないが、文字+変数などでキーを指定する場合は
$hoge[ "As$num" ] ではなく、
$hoge[ "As".$num ] とやった方がいい
897nobodyさん:2009/09/03(木) 04:58:16 ID:???
ついでに質問
PERLだとシングルで囲むと不具合の出る日本語(カタカナのソとかだったような)があったけど、
PHPではその心配はしなくて良いのでしょうか?
898nobodyさん:2009/09/03(木) 15:35:06 ID:???
twitterのbot作ろうかと思ってSerivices:Twitterを入れてみたけど
これtwitterAPIがかなり不完全で辛いのだけど、他に使えそうなのないだろうか。
自作したほうがかゆいとこに手が届くのは確かだけど
既存のがあるのならそっち流用したほうが手間省けるし。
twitterのbotやツール関連スレないかと探してみたもののないっぽいね。
899nobodyさん:2009/09/03(木) 21:13:27 ID:???
xampp
1.7.2

MySQLを起動しているのに、
XAMPPの「ステータス」の画面では、
MySQL 起動していない

って表示されます。なんで?

起動していることの検出に
失敗している?
900nobodyさん:2009/09/03(木) 21:14:46 ID:???
それPHPと関係あんの?
901nobodyさん:2009/09/03(木) 21:27:49 ID:???
再インスコ
902nobodyさん:2009/09/03(木) 21:43:26 ID:???
だからXAMPPは素人に勧めたくないんだよな
903nobodyさん:2009/09/03(木) 21:52:33 ID:???
OSは?
チュートリアルどおりに正常にインストールが完了していれば
問題なく使えるようになっているはずだが
なんか余計なことした?
904nobodyさん:2009/09/03(木) 21:55:43 ID:???
php.infoが使えないサーバー

ってのに、遭遇したんだが、
これってどこから設定するの?
905nobodyさん:2009/09/03(木) 21:59:37 ID:???
>>904
1.phpinfoのタイプミス
2.PHP不可のサーバー使っている
3.その他こっち参照ttp://74.125.153.132/search?q=cache:GpgepT72DysJ:sakaguch.com/pastbbs/0033/B0016626.html+php.info&cd=1&hl=ja&ct=clnk&lr=lang_ja
906nobodyさん:2009/09/03(木) 22:07:05 ID:???
「サーバーセキュリティのため、
それは使えません」

って英語で出てきた。
907nobodyさん:2009/09/03(木) 22:11:20 ID:???
$a=array(1,2,3,,,,,,,,,,,);

これってphpだとダメなんだね。
908nobodyさん:2009/09/03(木) 22:16:03 ID:???
うん。
909nobodyさん:2009/09/03(木) 22:28:10 ID:???
>>907
$a=array(1,2,3,"","","");
$a=array(1,2,3,null,null,null);
910nobodyさん:2009/09/03(木) 22:30:58 ID:???
>>909
そうすればいいんかー

nullと空白って違うの?
どう違うの?

空白って英語ではなんていうの?
911nobodyさん:2009/09/03(木) 23:23:51 ID:???
""なら nul string かな、ヌルストリング(ナルストリング)、長さ0の文字列。
nullはnull、文字列では無い。
空白つったらspace。
912nobodyさん:2009/09/03(木) 23:25:02 ID:???
null string ですた。
913nobodyさん:2009/09/03(木) 23:29:37 ID:???
ぬるぽ
914nobodyさん:2009/09/03(木) 23:35:56 ID:???
>>913
ガッ!
915nobodyさん:2009/09/04(金) 00:06:06 ID:???
ぬるぽってCのヌルポインタから来てるんだよな
916nobodyさん:2009/09/04(金) 00:09:10 ID:???
ヌルポは韓国語で殴ってくださいの意味。
という話があってだな。
917nobodyさん:2009/09/04(金) 03:29:20 ID:???
ヘヘヘヘヘヘヘヘヘヘ
918nobodyさん:2009/09/04(金) 10:06:16 ID:+DFleHvH
サムネイルを指定したサイズでトリミングして作成したいのですが
どうも中心がずれてしまいます。
$src_img=ImageCreateFromJPEG(元の画像);
$img_w=ImageSX($src_img);
$img_h=ImageSY($src_img);

if($src_img){
//$resize_h,$resize_wトリミング後のサイズ
//$new_h,$new_w縮小後の画像のサイズ
if($resize_h>$resize_w){
$rate=$resize_h/$img_h;
$new_w=$rate*$img_w;
$new_h=$rate*$img_h;
$dst_y=($new_h-$resize_h)/2;//位置の調整
}else{
$rate=$resize_w/$img_w;
$new_w=$rate*$img_w;
$new_h=$rate*$img_h;
$dst_x=($resize_h-$resize_w)/2;//位置の調整
}
$dst_img=ImageCreateTrueColor($resize_w,$resize_h);
$result=ImageCopyResampled($dst_img,$src_img,0,0,$dst_x,$dst_y,$new_w,$new_h,$img_w,$img_h);
ImageJpeg($dst_img,$resize_path.$img_name);
imagedestroy($dst_img);
imagedestroy($src_img);

こんな感じなんですが、よろしくお願いします。
919918:2009/09/04(金) 10:27:33 ID:+DFleHvH
すいません
ImageCopyResampled($dst_img,$src_img,-$dst_x,-$dst_y,0,0,$new_w,$new_h,$img_w,$img_h);
↑で解決しました。
昨日一日使ってうまくいかず
imagecopyresampledのマニュアル(公式じゃない奴)調べなおしてうまくいきました。
お騒がせしました。
920nobodyさん:2009/09/04(金) 12:37:37 ID:???
>>915
違う
JavaのNullPointerExceptionから
921nobodyさん:2009/09/04(金) 12:39:10 ID:???
ところで・・・
>>915>>916
ガッ!
922nobodyさん:2009/09/04(金) 18:05:29 ID:???
板違いかもしれませんが教えてください
ネットワーク系のプログラミングはほとんど経験ありません
どこかのHPの専用ブラウザを作るにはそのHPのソースが絶対にわからないとだめなのでしょうか
この2ch専用ブラウザは誰が作ったのでしょうか
お願いします
923nobodyさん:2009/09/04(金) 18:17:06 ID:???
2ch専用ブラウザを作った人が作者です
924nobodyさん:2009/09/04(金) 19:29:22 ID:???
PHPがセーフモードのとあるレンタル鯖Aで
「拡張子がphpのファイルをphp5スクリプト(cgiモード)として扱う」という設定があります。
各所の説明を見ると、CGIモードならセーフモードの影響を受ける機能が使える
というような記述があるんですが、CGIモードにしても自作スクリプトが動いてくれません。
しかし、セーフモードである別のレンタル鯖Bだと問題なく動きます。
同じセーフモード環境下なのにAだけエラーが出る理由が分からないんですが、
phpini等の設定の違いでありえることなんでしょうか?
925nobodyさん:2009/09/04(金) 20:13:47 ID:???
>>922
そんなことはないと思う。
大事なのは、どんなリクエストを送るとどんな応答が帰ってくるか。それだけ。
926nobodyさん:2009/09/04(金) 20:22:03 ID:???
PHPでネットワークプログラムは・・・
色々制限もあるしWebプログラムのプラットフォームでやるようなことじゃないとおもう
927nobodyさん:2009/09/04(金) 20:33:34 ID:???
>>924
xreaでしょ
928nobodyさん:2009/09/04(金) 20:51:56 ID:???
>>924
そりゃどういうエラーが出てるかをいわなきゃわからんだろ
パーミッションは?cgiで動かすなら755とかにしないとだめだよ
929nobodyさん:2009/09/06(日) 01:41:17 ID:???
xamppの環境と相性のいいファイアーウォールソフトはなんですか?
ゾーンアラームはMySQLがインストールできないので
Outpost2009にしたのですが
Outpostはトラブルが多いので別のにしたいのですが
OSはXPです
930nobodyさん:2009/09/06(日) 02:15:39 ID:???
今時ソフトウェアでファイアーウォール入れてる人はほとんどいない
ルーターもってないの?
もってるならいらないからアンインストールしていいよ
931nobodyさん:2009/09/06(日) 05:58:42 ID:???
>>930
ADSLモデムを使ってるのですが
ポートを空けたりする必要があったりするやつには
いらないってこと?
932nobodyさん:2009/09/06(日) 10:34:40 ID:???
>>930
ないわ
自分の環境が地球の中心だと思ってる自己厨乙
933nobodyさん:2009/09/06(日) 19:17:24 ID:???
>>931
ルーター機能つきのモデムなんじゃない?(むしろADSLモデム機能つきルーターか)
ルーター自体がファイアーウォール機能が備わっている(外から中だけだけど)
ようするにルータがある状態ならバックドアだけに気をつけてればいいので
アンチウイルスソフトのみでいいというお話
(ここで遮断すれば中から外へ向かう悪意のあるソフトはインストールされないので)
XPからは中から外を検知するWindowsファイアーウォールなんてのもついてるしね
今時ルーターを通さないで直接接続してる人はまれだろう
(ブロードバンド契約時にルーターも貸し出されることが多い)
まだルーターが普及してないころに必要だったものなので
ソフトウェアのファイアーウォールは直接接続してる人にしかいらないもの
ソフトよりハードのほうが強力だしわざわざソフトとハードで二重にする必要はないよ(重いだけ)

>>932
初心者乙
934nobodyさん:2009/09/06(日) 19:27:51 ID:???
ノートとかで外出するときにルータがあるかわからない環境で
接続するときなんかを想定すると必要になる場合もあるけど
ルータがあってデスクトップで家のみで使う分にはいらない
935nobodyさん:2009/09/06(日) 20:29:40 ID:???
>>933
>今時ソフトウェアでファイアーウォール入れてる人はほとんどいない

お前の頭の中が心配で仕方ない
936nobodyさん:2009/09/06(日) 21:43:19 ID:???
>>935
セキュリティ初心者は黙ってろよ^^;
937nobodyさん:2009/09/06(日) 22:13:14 ID:???
>>933
ゾーンアラームのログを見たら
2年ぐらい使ってて外からの攻撃を受けたのが0件だったから十部ありえるんだよな
938nobodyさん:2009/09/06(日) 22:38:04 ID:???
ゾーンアラームはしらないけど
だいたい外からの攻撃として検出されるのは
攻撃前の下調べのポートスキャンが大半でしょ
ルータのログには残ってるんじゃない?
939nobodyさん:2009/09/07(月) 10:01:31 ID:???
ファイアーウォールの定義にもよるが、windowsでアンチウィルスソフト入れてれば
勝手に(パーソナル)ファイアーウォールは入ってるんじゃないの?
940nobodyさん:2009/09/07(月) 11:00:31 ID:???
>>939
入らない。セットになってる製品もあるけどね。
たとえば俺が使ってるカスペルスキーの製品でも、
ファイアーウォール機能つきのKaspersky Internet Securityと、
アンチウィルスのみのKaspersky Anti-Virusがある。
他の会社の製品も大体似たような感じで、
ファイアーウォール機能つきとついてない2種類の製品を用意してる場合が多い。
ファイアーウォールはアプリケーションとしては重い部類に入るし、不要な干渉も多いので、
セキュリティに詳しい人でルーター入れてる人は避ける傾向にある。
941nobodyさん:2009/09/07(月) 11:13:02 ID:???
>>940
詳しくなくて&phpと離れてしまって申し訳ないが
ルータのF/W機能で、Zone Alarmみたいにプログラム単位で許可・不許可を設定できる?
俺のiodataのルータだとそういうの見つからなかったから、ルータ側では使わないポート塞ぐ位しかしてない。
942nobodyさん:2009/09/07(月) 12:05:00 ID:???
ルータ側がOSで動作しているアプリケーションを判別する方法がないでしょ。
結局できてもプロトコル別やポート別が限界じゃないかな。
943nobodyさん:2009/09/07(月) 12:16:57 ID:???
>ルータのF/W機能で、Zone Alarmみたいにプログラム単位で許可・不許可を設定できる?
できない。
ファイアーウォールってのは字のごとく外からの不正アクセスを火の壁でブロックする(イメージ)機能。
ルータが行うことはまさにこれでこれ以上のことはしない。
直接インターネットに接続してる場合、ポートが開いている状態になっているので、
これをソフトウェア的に閉じるのがZoneAlarmみたいなソフト。
このようなソフトウェアは外から中への監視に加え、中から外へ向かう通信も監視している。
中から外への監視というのは、ウイルスなどで自PCにサーバ機能をもつソフトなんかを、
知らない間に設置されてしまったときの検出には役立つが、基本的に必要性がない。
なぜなら自分で意図的にいれたソフトウェアは最初から信頼しているわけだからね。
(たとえば2chブラウザを使うために入れてわざわざ通信の許可するのは不要だと思わない?)
それにウイルスに感染して上記のようなソフトを入れられた場合、
ルータをはさんでればポートが開くことはないのでその後の受け皿になることもないが、
ソフトウェアの場合、プロセスを強制終了させられて機能させなくすることも可能なので信頼性が低い。
上のほうでハード(ルータ)だソフトだいってるのはそういうこと。
ポートは基本的に全て開ける必要はないので全て閉じていい。
PHPの開発でApacheいれるにしてもlocalhostでの開発になるんだからわざわざ外に開ける必要はない。
944924:2009/09/07(月) 12:26:22 ID:???
>>927
xreaではないんです

>>928
Warning: session_start() [function.session-start]: SAFE MODE Restriction in effect.
で、スクリプトのディレクトリにtmpディレクトリ作ってsession.save_pathで指定してみたらエラーは消えたけど
ログインが出来ないっていう…。(ログイン成功で発行されるセッションの値がNULL)
945nobodyさん:2009/09/08(火) 17:21:31 ID:8FIeNmpA
最初のflag1とflag2は表示されるんですが下のflagは何も表示されないのは何故ですか?
while (list ($a, $b) = each ($c)){
$flag1 = eregi("test",$a);
$flag2 = eregi("test",$a);
echo $flag1;
echo $flag2;
}
echo $flag1;
echo $flag2;
946nobodyさん:2009/09/08(火) 17:26:50 ID:???
>>945
$cの中身よく見てみな。
whileの最後のループでeregiマッチしなくて$flag1と$flag2に空が代入されているからだろ。
947nobodyさん:2009/09/08(火) 17:27:47 ID:???
strpos使え
948nobodyさん:2009/09/08(火) 19:10:27 ID:???
MagpieRSSっていうRSSパーサーがあるんですが、
↓のブログのコメントの73番のやり方が分かる方はおられませんか??


ttp://ameblo.jp/yamasita-94nsr/entry-10018566158.html


PRという文字列を含む場合、ソート用の変数に追加させないようにしたいんですが
どのようなif文を追加すれば良いのか分かりません。
949nobodyさん:2009/09/08(火) 20:55:24 ID:???
広告外すの規約違反じゃないの?
950nobodyさん:2009/09/09(水) 07:04:04 ID:???
xampp 1.6.8でインストール後
workspaceの指定し
mysqlのエンコードを設定後

bin/httpd.confに

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
追加すると

apacheが立ち上がりません

イベントビュアーで確認をとったところ
上記書き換え行のシンタックスエラーがでてるみたいなのですが

subversionを使うには他に何か操作する必要があるのでしょうか?

OSはXPSP2です
ソフトはサクラエディタです
ファイアーウォールはウィンファイアウォールです
951nobodyさん:2009/09/09(水) 07:32:07 ID:???
952nobodyさん:2009/09/09(水) 07:33:21 ID:???
953nobodyさん:2009/09/09(水) 11:31:03 ID:???
class MyClass {
private $width;
public function __construct(){ 中身 }
public function __destruct(){ 中身 }
public function get_width(){return $this->width;} //@
}

ちょっと色々と省略していますが、このthisはいったい何を意味しているのでしょうか?
というよりも、@の部分はwidthプロパティを取得しているとの事らしいのですが、 $this->widthの部分が何をしているのかが分かりません
すみませんが教えていただきたく質問させてもらいました

954nobodyさん:2009/09/09(水) 11:38:37 ID:???
//$tihsは自分自身。
$foo=mew MyClass();
$foo->get_width();
//ならget_width()の$thisは$fooだし
$boo=mew MyClass();
$boo->get_width();
//なら$boo。
955nobodyさん:2009/09/09(水) 11:40:58 ID:???
>>953
$thisは自身を指す変数
->はアロー演算子と呼ばれるものでオブジェクトのメンバを参照するときに使う
http://www.shigeweb.jp/php/project_p/?page=class§ion=first
なんかを読むと良い
956nobodyさん:2009/09/09(水) 11:51:58 ID:???
いや公式マニュアル使えよ
957nobodyさん:2009/09/09(水) 14:39:09 ID:???
>>954-955
ありがとうございます
958nobodyさん:2009/09/09(水) 15:57:59 ID:???
PHPで、関数呼び出しをトレースする機能はありますか。
あるアプリケーションをメンテナンスすることになったのですが、動作がわからず困ってます。
せめて
・どのファイルが読み込まれたのか
・どの関数が呼び出されたのか
を知ることができたらと思い、質問させていただきました。
よろしくお願いします。
959nobodyさん:2009/09/09(水) 16:20:16 ID:???
960nobodyさん:2009/09/09(水) 18:01:48 ID:???
>>959
backtraceはちょっと求めるものとは違いました。
debug_backtrace()を使うには、すでに呼び出されることがわかっているコードの中で呼び出す必要がありますが、
どのコードが呼び出されるのかまるでわかってない場合には使いづらいです。

Xdebugについては知りませんでしたので、調べてみます。
ありがとうございました。
961nobodyさん:2009/09/09(水) 20:19:12 ID:???
calltreeが欲しいのかな?
962nobodyさん:2009/09/10(木) 10:14:01 ID:???
gtags やまともなエディタだったりして
963nobodyさん:2009/09/10(木) 15:21:24 ID:???
<?php
$to='メールアドレス@hotmail.co.jp';
$subject='テストメール';
$body='こんにちは、世界!';
if(mb_send_mail($to,$subject,$body)){
print('メール送信に成功しました。');} else {print('メール送信に失敗しました。');
}
?>
と書いたら、Fatal error: Call to undefined function mb_send_mail() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\samples\chap4\sendmail.php on line 5 と出てきました
php.iniの設定もSMTP、sendmail_fromともにちゃんと設定したつもりなのですが、何故メールを送れず構文エラーが出るのでしょうか?
ちなみにこの構文は参考書のコピーなのですが
964nobodyさん:2009/09/10(木) 15:29:16 ID:???
mb_string.dllをロードしてないんじゃ?
965nobodyさん:2009/09/10(木) 15:32:36 ID:???
php_mbstring.dllだった
966nobodyさん:2009/09/10(木) 15:35:20 ID:???
>>964
php.iniのextension=php_mbstring.dllの事でしょうか?
もしそれならばちゃんと設定してあります
967nobodyさん:2009/09/10(木) 15:40:07 ID:???
その環境で、mb_系の関数動くか、簡単に試してみよう
968nobodyさん:2009/09/10(木) 15:41:29 ID:???
>>966
Apache再起動だ
969nobodyさん:2009/09/10(木) 15:42:47 ID:???
>>963
phpinfoにmbstringが有効になってるか確認してください
970nobodyさん:2009/09/10(木) 15:43:44 ID:???
>>967さん、>>968さん
mb_系、全部動きませんでした
何が悪かったのでしょうか・・・
971970:2009/09/10(木) 15:46:49 ID:???
あっ、バージョンはphp-5.2.10-Win32.zipとapache_2.2.13-win32-x86-openssl-0.9.8k.msiの組み合わせです
972969:2009/09/10(木) 15:47:41 ID:???
なぜスルーされたんだ・・・
973970:2009/09/10(木) 15:51:06 ID:???
>>972さん
あっ、ごめんなさい今確認しているところです・・・すみません
974970:2009/09/10(木) 15:56:42 ID:???
すみません、phpinfoで確認してみたのですが、mbstringの欄が見当たりません
F4機能でも文字検索してみたのですが、ありませんでした・・・orz
975970:2009/09/10(木) 16:38:53 ID:???
その後、ネットで検索して問題解決に努めたのですが、
Configure Command で
cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack"
"--with-snapshot-template=d:\php-sdk\snap_5_2\vc6\x86\template" "--with-php-build=d:\php-sdk\snap_5_2\vc6\x86\php_build"
"--with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared"
と書いていて、mb_stringは入っていないようでした
で、色々と実験してみたのですが、やっぱり解決しませんでした
この場合どのようにすればいいのでしょうか?
一度アンインストールとかして最初からした方がいいのでしょうか?
976nobodyさん:2009/09/10(木) 16:43:36 ID:???
--enable-mbstringでビルドすればいいじゃない
977970:2009/09/10(木) 17:08:16 ID:???
>>976さん
すみません、ギブっす・・・
--enable-mbstringのビルドの仕方というものが自分には皆目分かりません
以下のようにネットで色々と調べてみたのですが、理解が出来ません
libmbflライブラリというものも何で、どこで入手し、どこに入れればいいのかも分かりませんし、
configure のオプションに、--enable-mbstring を追加という記述も、いったいどこに追加すればいいのかも分かりませんでした

http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_mbstring.html#compile
http://php.plus-server.net/mbstring.installation.html
http://www.php.net/manual/ja/mbstring.installation.php

申し訳ございませんがご教授願いたいと思います
先ほどからすみません
978nobodyさん:2009/09/10(木) 17:35:04 ID:???
>>977
コンパイル済みのバイナリじゃなくて自分でコンパイルしなさいよってことじゃないかと
979970:2009/09/10(木) 17:47:15 ID:???
>>978さん
PHPは筆記で今までやってきてそこそこ出来るようになったのですが、こういう設定の方はまだまだサッパリの初心者です
http://www.aconus.com/~oyaji/www/apache_linux_php.htm
こういうサイトを見つけたのですが、僕の問題の場合、Apacheの設定をしなければならないのでしょうか?
自分で--enable-mbstringを入れると言っても、いったい何のどこに加えればいいのかが分かりません
そもそも、このcongirureというものが良く分かりません
上記のサイトのPHPをインストールって箇所の黒い枠の部分に辿り着く方法がそもそも分からないのです
980nobodyさん:2009/09/10(木) 17:49:07 ID:???
>>979
http://www.php.net/manual/ja/install.unix.php
信頼性の低い個人サイトより公式マニュアル見たほうがいいよ
981nobodyさん:2009/09/10(木) 17:58:23 ID:???
>>979
windows環境でしょ?linuxの解説みて混乱しないでね。
phpのインストールはどこにした?

php.iniのextension_dirにphp_mbstring.dllある?
982nobodyさん:2009/09/10(木) 18:02:19 ID:???
http://2php.jp/php/install_php_windows.html

ここを見て入れなおしてもいいんじゃないかな。
php_mbstring.dll の有効化もガイドしてるから。
983nobodyさん:2009/09/10(木) 18:02:39 ID:???
984970:2009/09/10(木) 18:15:14 ID:???
>>981さん
あ、linuxでしたね、すみませんw

php_mbstring.dllはありますし、
php.iniの設定で、extension=php_mbstring.dllとしていますし、
extension_dirの指定ファイル先に、php_mbstring.dlというものがありますl
985970:2009/09/10(木) 18:16:41 ID:???
>>982さん

やっぱ再インストールですかね?
再インストールの場合は、PHP、Apache、どちらを再インストールすればいいのでしょうか?

>>983さん
そのスレは見て、それと参考書を加えた設定でやりました
986nobodyさん:2009/09/10(木) 18:30:57 ID:???
読み込んでるphp.iniが違うんじゃないの?
987nobodyさん:2009/09/10(木) 21:22:39 ID:Wu0Ynk2e
処理がタイムアウトした場合に次の処理に移動する方法がわからないよーー

set_time_limit();だと処理に時間掛かりすぎるから
30秒待ったら次の処理に行きたいんだけど
無理なのかーー
988nobodyさん:2009/09/10(木) 21:35:58 ID:???
>>987
何をしたいのかわからんので外していると思うが
forkさせてpcntl_alarmでタイマーを作成とかなら昔やった。
php5.3ならpcntl_sigtimedwaitが使えそうだ。

PHP: PCNTL 関数 - Manual
http://jp.php.net/manual/ja/ref.pcntl.php

989970:2009/09/10(木) 22:23:35 ID:???
マジで出来ません・・・
もう7時間格闘しているのですが、mb_stringが出来ません
php、Apatchともに再インストールしたりしたのですが・・・
何故か--enable-mbstringが出てきません
http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_mbstring.html#windows
configure のオプションに、--enable-mbstring を追加するとか書かれていますが、configureって何なんでしょうか?
もう流石に疲れてきました・・・・・・・・・・・・・・・・・・・・・
990nobodyさん:2009/09/10(木) 22:25:19 ID:???
おまいさんwindowsじゃなかったのけ?
991970:2009/09/10(木) 22:31:32 ID:???
>>990
Windows XPです
コレはphp.iniとかの問題じゃなく、自分のパソコンのOSの問題とかあるのでしょうか?
992nobodyさん:2009/09/10(木) 22:32:53 ID:???
mbstring を使用する方法
 a. 静的ライブラリとして組み込む方法
 b. 共有ライブラリとして使用する方法
 c. Windows 環境の場合

って書いてあるじゃないか・・・
993nobodyさん:2009/09/10(木) 22:33:42 ID:???
>>991
phpはzip解凍するだけ
apacheはmsiでインストール
あとはphh.iniとhttpd.confを確認するだけで平気なはずだが・・・

>>986でも書かれてるように、読み込んでいるphp.iniが違うというのはないのか?
994nobodyさん:2009/09/10(木) 22:35:15 ID:???
windowsは最近はインストーラの方向にシフトしてくみたいだけどね
995970:2009/09/10(木) 22:35:48 ID:???
>>992
では、a.とb.はLinuxなどの別のOS用のやり方なのでしょうか?
で、c.のやり方・・・

c. Windows 環境の場合
ダウンロードした PHP のパッケージの中に、php_mbstring.dll が含まれています。
php.ini で extension_dir と extension を設定します。
extension_dir = "C:/php/ext"
extension=php_mbstring.dll

ですけれど、それは既に何度も確認しています
996nobodyさん:2009/09/10(木) 22:37:34 ID:???
うん、で>>986
997970:2009/09/10(木) 22:37:50 ID:???
>>993
mb_string以外は .phpファイルは出来るのですが、mb_stringだけ出来ません

一応もう一度読み込むphp.iniを確認してみます
998970:2009/09/10(木) 22:42:12 ID:???
doc_root="C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
extension_dir = "C:/php/ext"
はファイル先は合っていますし、
extension=php_mbstring.dll
もコメントは抜けています
でも出来ません・・・
999nobodyさん:2009/09/10(木) 22:44:25 ID:???
phpinfoで確認するんだよ
1000nobodyさん:2009/09/10(木) 22:44:42 ID:???
このスレは1000の風になりました
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。