【PHP】質問スレッドpart21【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/08/27 18:00ID:???・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ等>>2-4
0002nobodyさん
04/08/27 18:01ID:???【PHP】質問スレッドpart20【php】
http://pc5.2ch.net/test/read.cgi/php/1091774679/
0003nobodyさん
04/08/27 18:04ID:???Pear
http://pc5.2ch.net/test/read.cgi/php/985665522/
【PHP】Smarty【Template】
http://pc5.2ch.net/test/read.cgi/php/1047225437/
0004nobodyさん
04/08/27 18:28ID:???0005nobodyさん
04/08/27 19:51ID:9bd9wFW/PHPインストール時になんか特別なことしなきゃならなかったんでしょうか?
0006nobodyさん
04/08/27 19:58ID:PYuyKaM7$com = str_replace("[",",",$com);
echo $com;
これをすると化けてしまいます。
ereg_replaceでもmb_ereg_replaceでも化けます。
"["のようなメタ文字を置換しても化けないようにできないでしょうか?
0007nobodyさん
04/08/27 20:10ID:???0008nobodyさん
04/08/27 20:12ID:tl2C9eKh正規表現でUserAgentを見てあらかじめ登録しておいたサイズに
照らし合わせてリサイズするという方法しかないんでしょうか?
どうか教えてください!偉い人!
00106
04/08/27 20:18ID:PYuyKaM7$comには
[名前] 明日野 条
[住所] 日本関東
みたいな情報が並んでいます。
0011nobodyさん
04/08/27 20:48ID:MFxEexml$comの文字エンコーディングは?
0012nobodyさん
04/08/27 20:49ID:???それしかありません。
一部携帯は、画面サイズとかヘッダ情報からとれますが、
3キャリア対応だと無理ですね。
まあ、新しい機種が発売されるたびに更新する必要があって面倒ですが。
0013nobodyさん
04/08/27 23:04ID:s0PWqgRO0014nobodyさん
04/08/27 23:06ID:???対応してるも何も、サーバーで動いてるやん
0016nobodyさん
04/08/27 23:29ID:???require_once("lib/hoge_db.php");
この形でファイルを読み込んでいるのですが、サーバによってはシングルクオートで
括らないと、ファイル読み込み出来ない事があります。それぞれのファイルに定義して
あるユーザ関数を、一つのファイルにまとめて実行してもエラー出力はないのですが、
この場合、どういったところから洗い直していけばよいのでしょうか?
PHP4.3.8 / configureオプション, php.iniは、基本的に同じ設定で、エラーレベルは
E_ALL, display_errors = Onになっています。
0017nobodyさん
04/08/27 23:38ID:VDNxy0Veその辺皆さんはどうやって補完していますか?
0018nobodyさん
04/08/27 23:43ID:???0019nobodyさん
04/08/27 23:46ID:???0020nobodyさん
04/08/27 23:47ID:???0021nobodyさん
04/08/27 23:47ID:???0022nobodyさん
04/08/28 00:04ID:???メールアドレス確認の時に携帯宛に
http://〜略/index.html?03169785436
とかあるっしょ?
それはどういう意味なんでつか?
ただ乱数発生させてるだけなんですかね?
002422
04/08/28 00:07ID:???0025nobodyさん
04/08/28 00:15ID:???↑みたいなアドレス使って何したいの?
これは業者が携帯番号掴む為によくやる手法だが
それしたいってのならまるっきり業者じゃん
0027nobodyさん
04/08/28 00:48ID:???0028nobodyさん
04/08/28 00:54ID:???AddSlashesをif()式で囲んでいなかった為、無駄にslashが追加されてしまい、その部分だけ
「表」「パ」などの文字が文字化けしてしまいまい、
逆にその文字列にstripslashesを実行しても変化がありませんでした。
どのようにすれば元に戻せるのか、教えていただけませんでしょうか。
0029カポコン
04/08/28 01:23ID:???でも使いなさい。
0030nobodyさん
04/08/28 01:31ID:???Smartyはあるのになぁ
0031nobodyさん
04/08/28 01:58ID:???http://2ch.lock.client.jp/data/034697845289.html
0032nobodyさん
04/08/28 02:45ID:???サービス契約者以外が知ることのない、
IDとPassの組み合わせを使って認証&同定する。
# 固有番号もあてになんねぇしな。
0033nobodyさん
04/08/28 08:51ID:XkJS6oW1mail、mb_send_mail、imap_mailがありますが
あと、CCとBCCってなんだっけ
0034nobodyさん
04/08/28 08:59ID:???それぞれのマニュアルを読むとそんな質問は出てこない気がするんですが....
まだ読んでないのならこの機会に熟読されることをお勧めします。
CC・BCCについては「メール CC BCC」で検索すれば答えが見つかると思います。
003533
04/08/28 09:24ID:???関数分かっても文の書き方がわからないぽ_| ̄|○
003633
04/08/28 09:35ID:XkJS6oW1これでメールが送信できるのかどうか
0037nobodyさん
04/08/28 10:34ID:???0038nobodyさん
04/08/28 11:45ID:???0039nobodyさん
04/08/28 12:04ID:imkrnG7Fメタで指定しても優先順位が拡張子が最初なのでどうしてもEUCで読み込んでしまいます。
もちろんHTMLならシフトJISで読み込みます。
これをPHPでも最初からシフトJISで読み込む方法はないでしょうか?
なぜシフトJISなのかというと携帯で表示させたいのです。
だからデータベースからPHPまではEUCでそこからシフトJISに変換後
ブラウザに表示させるといった感じです。
どうかアドバイスよろしくお願いします。
0040nobodyさん
04/08/28 12:06ID:???0042nobodyさん
04/08/28 12:21ID:???0043nobodyさん
04/08/28 12:30ID:imkrnG7F単純な問題なのでしょうが、テンパっていて何も思い浮かびません。
納期間近なのでよろしければ方法を教えてください。
0044nobodyさん
04/08/28 12:37ID:???0045nobodyさん
04/08/28 12:38ID:???てか本職ならそれぐらい分かれ
004644
04/08/28 12:38ID:???0047nobodyさん
04/08/28 12:43ID:???つーか、質問の内容がよく分からんのだが
そのまま納期を迎えてみたら?
そのまえにな、まともな回答キボンヌならソースくらい提示しろ糞が!
0049nobodyさん
04/08/28 12:59ID:imkrnG7FPHPの場合メタでシフトJISにしててもEUCで開きますよね?だから開いたとき文字化けしてるのです。
方法ありますか?
0051nobodyさん
04/08/28 13:02ID:???header('Content-type: text/html;charset='シフトJIS');
?>
をHTMLの先頭にする。
0052nobodyさん
04/08/28 13:04ID:???世も末だ。
0053nobodyさん
04/08/28 13:06ID:???005539
04/08/28 13:24ID:imkrnG7Fできたーー!!こんな単純なことだったのか!
あなたたちはほんとにすごいね〜
みんなの知恵が重なったときに力って発揮されるもんだね
本当にありがとう!
>>53
どの部分かが長けてれば仕事にはなるよ
0056nobodyさん
04/08/28 13:27ID:???分かってなかったのはあんただけだから
0057nobodyさん
04/08/28 13:30ID:bA6FLPcw0058nobodyさん
04/08/28 13:31ID:imkrnG7Fそっか|Д`)
まあ良いじゃんわからないときは助け合いで!
すごい良いスレだよね〜
0059nobodyさん
04/08/28 13:34ID:???お前らな、500円やるから他職逝けと
プログラマってのはな、もっと神聖としてるべきなんだよ
得意げな顔して何が、「どの部分かが長けてれば仕事にはなるよ」だ
お前、プログラマを絶対舐めとるちゃうんかと
まあお前らド素人は、せいぜい今のうちに余生を楽しみなさいってこった
0060>>59
04/08/28 13:47ID:imkrnG7F営業、マーケティング、製作とマルチにやってる
そしてプログラマを舐めてるつもりもない
ここはわからない部分を質問して教えてもらうスレじゃないのか?
>>51さんが教えてくれて俺は救われた
2ちゃんという掲示板の存在意義はここにもあるのでは?
0061nobodyさん
04/08/28 13:52ID:Mb7EMv7r0062nobodyさん
04/08/28 13:57ID:v9ahrS8whttp://wa-ka.net/mash/sozai/yakumo/index.html
↑のような、シンプルな一言掲示板をインラインフレームを使わずに
htmlページに貼り付けたいのですが。
そんなCGI無いですか?
0063nobodyさん
04/08/28 14:03ID:bA6FLPcw煽られるのも叩かれるのも2ch
0065nobodyさん
04/08/28 14:09ID:???>CGIを探してくれるスレが見つからんので・・・
検索かけたら直ぐ見つかったが?
【CGI】こんなCGI探してますver.14
http://pc5.2ch.net/test/read.cgi/hp/1087986364/
0066nobodyさん
04/08/28 14:20ID:v9ahrS8wアリガトウゴザイマシタ。サッソクケンサクスレイッテキマス。
0067nobodyさん
04/08/28 15:25ID:B6xIg3wkfile_exists でファイルの存在確認をして、存在しなかったら exec によりそのファイル生成を行うコマンドを実行し、
再び file_exists でファイルの存在確認をしています。
if(!file_exists('test.txt')) {
exec('make_test');
if(file_exists('test.txt')) {
echo 'ファイルがある';
}
else {
echo 'ファイルが無い';
}
}
else {
echo 'ファイルがある';
}
上記のようにしたところ、exec が成功して目的のファイルの生成が完了しているにもかかわらず、
ファイルが無いと出てきます。
調べたところ file_exists は、その結果をキャッシュするため、続けて実行するときには clearstatcache が
必要なる記述を見つけました。
続く
006867
04/08/28 15:27ID:B6xIg3wkclearstatcache(); // ←追加
if(!file_exists('test.txt')) {
exec('make_test');
clearstatcache(); // ←追加
if(file_exists('test.txt')) {
echo 'ファイルがある';
}
else {
echo 'ファイルが無い';
}
}
else {
echo 'ファイルがある';
}
でも結果は変わりません。
webで調べてみたところ、
http://ns1.php.gr.jp/php-jp/archives/msg05496.html
のような症状を発見し、これと同様のことが起きているものと思われます。
しかしこのMLは、結論が出ることなく話題が終わっています。
PHPのバージョンは 4.3.7 です。
解決策をご存知の方、ぜひ教えてください。
006967=68
04/08/28 15:35ID:???0070nobodyさん
04/08/28 15:52ID:???この辺りの詳細が欲しい
007167
04/08/28 16:05ID:???DBにアクセスして、その内容を編集したファイルを出力するものです。
出力ファイル名は、上記スクリプト内でチェックしているものと一致しています。
さらに、各 file_exists の前に、デバッグ用に system('ls') を追加してみたところ、その出力には目的ファイル名の
存在が見て取れます。
にもかかわらず、file_exists は false を返すのです。
また >>69 にもあるように、2度目の実行では file_exists は true を返しているようです。
function file_exists2($filename) {
return (boolean)glob($filename);
}
安全を考えるなら検索するファイル名を制限しなければならない。
globは"*"とかに対応した関数だから。
function file_exists2($filename) {
return !preg_match('/[\*\{\}\?]/', $filename)
and (boolean)glob($filename);
}
007367
04/08/28 16:30ID:???ええと、実は上記スクリプトは、もっと大きなスクリプトの一部分なんですが、ここに公開した部分だけで
動かすとうまくいくみたいです・・・
ごめんなさい。
ただ、元のスクリプトでも、該当部分でやってることは上記スクリプトと全く同じなんですけどね。
>>71 で書いたexec('ls') を挿入した話は、元のスクリプトの方でやってます。
exec('ls') で存在確認できるファイルが、file_exsits では false になってしまうという問題は
依然として解決できません。
とにかく、これからもくもくと実験します。
スレ汚しすみませんでした。
ところで、コマンドラインから実行する場合と apache から実行される場合とで、挙動が違ったりするってことは
ありますか?
>>72
実はこの部分はわりと頻繁に実行されるところなので、できるだけシンプルな処理にしたいです。
でも、どうにもならなくなったらそのアイディア頂戴します。
ありがとうございます。
パーミッションとしては許可されていても開けない場合があるから注意。
■ このスレッドは過去ログ倉庫に格納されています