トップページ⇒php
1001コメント357KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/05/23(火) 22:05:17ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

過去スレは>>2
0348nobodyさん2006/05/28(日) 11:13:54ID:zxjIhcD+
>>346-347
mail(
0349nobodyさん2006/05/28(日) 11:14:42ID:zxjIhcD+
>>346-347
mail ("[email protected]", "the subject", "内容","From:");

にして、

; For Win32 only.
sendmail_from = [email protected]

のように、;をはずしました。
すると、
Warning: mail (): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in

とエラーが返ってきました。
もうダメポです。
教えてください。
03503492006/05/28(日) 11:34:05ID:zxjIhcD+
phpinfoでsendmail_fromの部分を見たところ
no valueとなっているのですけど、これは何か関係ありますか?
0351nobodyさん2006/05/28(日) 11:38:04ID:???
>>349
メールの送信自体はSMTPサーバが行い、PHPはSMTPサーバに送ってと命令を送るだけ。
SMTP=localhostになっているので、そのコンピュータにSMTPサーバを入れないと送信できないよ。

もしどこかのプロバイダに契約してるなら、そこのSMTPサーバ指定して送れると思う。
ただ最近はセキュリティが厳しいので、sendmail_fromをプロバイダから渡されたメールアドレスにする、
直前に受信するとかしないと送れないことが多いよ。
0352nobodyさん2006/05/28(日) 11:40:01ID:???
>>349
>>343によるとキミんちの設定では
SMTP = localhost
smtp_port = 25
自分のパソコンにSMTPサーバーがインストールされていることになってが
実際にはそんなものはないので送信できないよ、と文句言われてる。
掲示板上で手順を1から説明するのは厳しいので「Windows PHP メール送信」辺りでググるといいかと。
>>350
「[email protected]」なんて設定にしたことないのでよく分からん。
一目見りゃわかると思うんだがこれはサンプルのメアドであって、そんなの設定しちゃいかんよ。
0353nobodyさん2006/05/28(日) 12:59:33ID:???
ttp://wiki.2chx.net/php/index.php?%A5%E1%A1%BC%A5%EB%C1%F7%BF%AE%40windows
0354nobodyさん2006/05/28(日) 17:54:01ID:???
$_GET[url] に格納される

くだらねぇ質問
%E3%81%8F%E3%81%A0%E3%82%89%E3%81%AD%E3%81%87%E8%B3%AA%E5%95%8F
%A4%AF%A4%C0%A4%E9%A4%CD%A4%A7%BC%C1%CC%E4

エンコードされていない物 エンコードされていても文字コードが違うもの

これらを内部で一定にして扱う為にはどのようにしたら良いのでしょうか?
0355nobodyさん2006/05/28(日) 17:56:25ID:???
おまいら親切だな
エラーメッセージ読め、で済みそうなもんなのに
(実際エラーメッセージに書いてあるし)
英語とはいえ中卒レベルで読めると思うんだが
0356nobodyさん2006/05/28(日) 18:00:51ID:???
直接PHPに関わることじゃないんですが、
配布してるPHPで書かれたプログラムを、改造して利用するのはまずいですか?
利用と言うのは個人で利用するだけで、再配布するって意味じゃありません。
配布元にはその辺に関して何も書いてませんでした。
一般的にどうなのか教えてもらえると嬉しいです。
0357nobodyさん2006/05/28(日) 18:08:00ID:???
>>354
mb_convert_encoding()
rawurlencode()

>>355
あ、英語が義務教育になったのはいつからじゃ?

you is a big fool man.
こう?
0358nobodyさん2006/05/28(日) 18:21:30ID:???
>>354
入ってくる文字、出力する文字それぞれの文字エンコーディングを常に意識してスクリプトを書いていれば悩む必要は無いんでは?
全部mbstring.internal_encoding更にはmbstring.script_encodingに合わせておけばいいっしょ。

>>356
その人に聞くしかあるめえ
0359nobodyさん2006/05/28(日) 18:28:47ID:???
>>357
知っていてしかるべき(と世間一般では思われている)
知識レベルって意味だろ。

義務で教育されても出来ないやつは出来ないんだし。
ただ「英語だと類推して英語の辞書を引く」のは
0360nobodyさん2006/05/28(日) 18:38:52ID:???
そうだな。無料で辞書はたくさんあるわけだし。
0361nobodyさん2006/05/28(日) 18:41:21ID:???
レンタルサーバー(共有Linux鯖)で、セッションで認証を維持するページを作ろうと思います。
session.save_pathをデフォルトの./tmpから、/home/hogehoge.com/public_html/ses_dir
に変更したのですが、このディレクトリでは自動でガベージコレクションってされないですよね?
ログアウト処理せずにブラウザ閉じるとセッション情報のファイルが値を保持したまま残りっぱなし…

ガベージコレクションに類似したスクリプトを自動実行するような対策をするしかないですか?
0362nobodyさん2006/05/28(日) 18:58:06ID:???
コールバック関数を登録してデータベース使うのが一番楽なんじゃない?
03633612006/05/28(日) 19:03:38ID:???
申し訳ない自己レスです。GCちゃんとされるみたいですね。
セッション保持を短く・GC確率を100パーセントにするよう.htaccessに
php_value session.gc_maxlifetime "60" と php_value session.gc_probability "100"
として別々のブラウザでアクセス繰り返したら、
60秒なにもしなかったセッションのファイルが消えるの確認できました。

http://php.morva.net/manual/ja/ref.session.php には
「session.save_pathのパスの深さが2より大きい場合、ガーベッジコレクションは行われません」
ってあったのでできないと思いこんでましたが…これはどういう意味なんだろう…

板汚し失礼しました。もう少し試験を繰り返してみます。
0364nobodyさん2006/05/28(日) 19:25:56ID:???
MAC OS X 10.4で、PHPをPHP5.1.4にアップしたところ、
コードが正常に記述されていればちゃんと動くものの、
エラーがある場合にエラーメッセージを返さず、白紙状態に
なってしまいました。
いくつかのソースを書いてみたものの、結果は同じでした。

この状況について御存知の方、いらしたらお知恵を貸してくださいませんか。
なお、PHP5はentropy-phpのインストーラでインストールしました。
0365nobodyさん2006/05/28(日) 19:27:54ID:???
>>363
日本語の方にはあるけど
ttp://www.php.net/manual/ja/ref.session.php
英語の方には書いてないね。
ttp://www.php.net/manual/en/ref.session.php

CVSで見ると英語の方はRevision 1.13 (Wed May 14 14:19:03 2003 UTC (3 years ago))で修正されてるから、
ずっと翻訳されないままなんだろうね。

>>364
この辺りを自分の希望通りに設定しておいで。
ttp://www.php.net/manual/ja/ref.errorfunc.php
0366nobodyさん2006/05/28(日) 19:43:53ID:???
>>356
一般的な基準、だと再配布なしなら、
軽度改造は特に問題なし、
かなり派手に改造を加える場合は著作権表示の横に改造した旨を併記、
ってくらいじゃないかと思う。
(大幅に改造したのが他所で動いてるとたまに本家に質問が飛んできて困るのよね)
全然気にしない人も多いから聞いてみた方がいいと思うけどね。
03673642006/05/28(日) 20:36:00ID:???
>>365
ありがとう。おかげで解決したです。
では、勉強に戻りますノシ
0368nobodyさん2006/05/28(日) 21:55:07ID:???
>>366
法律って知ってるか?
0369nobodyさん2006/05/28(日) 21:57:15ID:???
>>368
知ってるよ
0370nobodyさん2006/05/28(日) 22:11:08ID:???
「一般」つうのは適用される場所や捉える人によって変わってくるからな。

他人の著作物を許諾を得ずにうpる人は、
一般的に良い人と見なされ神。
0371nobodyさん2006/05/28(日) 22:24:13ID:???
ていうかそういう質問は安易に答えない方が良いぞ。
>>356みたいにスレ違いなことを平気でしてくるんだから
あとで問題が起こったら>>366のせいだとか言われるかもしれないぞ。

まぁ俺なら間違いなく配布元に聞けとしか言わないけど。
他人のファイルをどうして俺たちが判断できようか。
0372nobodyさん2006/05/28(日) 22:41:29ID:???
フリーソフトとして配布してるなら作者本人に聞いても
多くは>>366みたいな回答が返ってくることが多いな。
神経質な人ならちゃんと明記するかライセンス形態を書いてるだろうし。

ただ>>356が根本的に無知で空気も読めないバカなだけに
そういうやつに安易に答えるもんじゃない、って意見も分かる。
そういうやつだと作者が暗に要求してるような事柄も
「明記されてないから分かりません」とか言って無視しそう。
0373nobodyさん2006/05/28(日) 22:46:50ID:???
著作物の権利についての議論は板違い
0374nobodyさん2006/05/29(月) 00:12:39ID:???
改造して使うのが普通だと思ってた・・・
0375nobodyさん2006/05/29(月) 00:16:07ID:VLMle6lT
教えてください。
DOSプロンプトからphpを実行して、そこで日本語を表示しようとすると文字化けします。

<?php print('2ch'); ?>

どっかでキャッシュ→自動変換されているんだろうと思ってmb_convert_encodingやら、
ob_start();を筆頭に書いてキャッシュしないようにやってみましたが変化がありません。
なぜ化けるのか教えてください。

PHP 5.0.3、winxp、文字コードはsjisで書いてます。
0376nobodyさん2006/05/29(月) 00:40:06ID:???
>>375
php.inの設定でoutputの文字コードがUTF-8かEUC-JPになってるんじゃない?
03773752006/05/29(月) 01:07:44ID:???
mbstring.http_outputのことでいいですか?
eucになってたんで = SJISに変更しましたが一切変化なし…。
0378nobodyさん2006/05/29(月) 01:24:31ID:???
internal_encodingはどうなってるんだよ
03793752006/05/29(月) 01:39:26ID:???
internal_encodingもSJISにしたらうまくいきますた!
んが、今度はeucで書いたapache通して使うほうが文字化けしたんで、
両方コメントアウトしたら成功しますた。

…今後どこに影響でるんだかやや心配ですがありがとうございますた!
0380nobodyさん2006/05/29(月) 02:32:02ID:???
>>375
・プロンプトで「type そのスクリプト」してSJISなのを確認する。
・そのPHPがenable-zend-multibyteでコンパイルされていることを確認。
(Windowsなら廣川さんがビルドしてるのを使うのが手っ取り早い)
・output_handlerに出力ハンドラは何も指定せずに、output_buffering = Off
・mbstring.language = Japanese、mbstring.encoding_translation = Off
・mbstring.internal_encoding = SJIS、mbstring.script_encoding = SJIS
(全てSJISなんだから、余計な自動変換の設定はいらない。)
0381nobodyさん2006/05/29(月) 03:21:03ID:???
>>380
>>379によるとeucで描いてるスクリプトも別にあるそうだぞ
0382nobodyさん2006/05/29(月) 03:48:31ID:???
>>381
他に
・UTF-8で格納してあるSQLite
・バイナリをアップロードするform
・EUC-KRなRSS
とかありそうなんで、ざっくり割愛。
0383nobodyさん2006/05/29(月) 09:25:36ID:???
PDO 使ってんだけど、SQLの文法は正しいのに
prepareすると、エラーを返さずページリダイレクトされるのは
なんで?
0384nobodyさん2006/05/29(月) 09:38:55ID:???
>>383
とりあえずコードを晒しなさいな。それだけじゃわかんないよ。
0385nobodyさん2006/05/29(月) 14:28:37ID:???
こんにちゎ。
PHPは4の初期頃までしかやっていなく、今は5になってかなりかわったみたいですね。
フォームからの投稿データは、

$name = $_POST["name"];

とかってやってていいんでしょうヵ?
0386nobodyさん2006/05/29(月) 15:28:00ID:???
キモイので答えることができません。お帰り下さい
0387nobodyさん2006/05/29(月) 15:32:38ID:???
あなたのほうがキモいです。
0388nobodyさん2006/05/29(月) 16:08:29ID:???
function speed_return( $res387 )
{
return ">>" .$res387. "<br>\nそれはありえません。鏡を見てから言ってください。";
}
0389nobodyさん2006/05/29(月) 16:31:20ID:???
$res387 とはセンスないよね。
$res[387]とかのほうがいいよ。
配列は覚えた方がいいからね。
0390nobodyさん2006/05/29(月) 17:03:53ID:???
しかも関数内の暫定的な変数に $res387だって頭わるそー
そういうときには番号つけずに、
$res とだけやるのが普通だよ。ばっかじゃないの?
0391nobodyさん2006/05/29(月) 17:05:18ID:8hg7YXeL
2chで最近評判が悪いレッツPHPにあるスクリプトに
ファイルの書き込み処理として

$fp = fopen($logfile,"a");
set_file_buffer($fp, 0);
flock($fp, LOCK_EX);
fputs($fp, $data);
fclose($fp);

とあるのですが、これは一般的に見て安全な書き込み方法なのでしょうか?
ちなみにこれはアクセス解析のlog.phpの最後の部分です。

読み込み処理は file("〜") とするだけでロックなどしなくても大丈夫でしょうか?

宜しくお願いします。
0392nobodyさん2006/05/29(月) 17:25:23ID:???
>>391
単にログを追加していくだけのスクリプトなら安全。
0393nobodyさん2006/05/29(月) 17:32:05ID:???
レンタルサーバ(エックスサーバー)でPHP(4.4.1)を使ってるんですけど、
テキストエリアのテキストをフォームでPHPモジュールに送信して
それをプレビューとしてHTMLとして出力すると10%くらいの確率で文字化けしてしまいます。
文字化けしてる時はSJISで出力されてしまってるみたいです。
プログラムは全てEUC−JPで作成してます。

本を参考にして
送信先のプログラムの先頭でmb_http_output('EUC-JP');としてみましたがダメでした。
そのすぐ後にob_start('mb_output_handler');も追加してみましたが文字化けが酷くなりました・・

・。

たぶん、レンタルサーバを使ってる他の人がSJISを使うように設定を変更してその影響を受けると推

測したんですが、 対処の仕方がわかりません。
原因とか対策が分かる方、よろしくお願いします。
03943902006/05/29(月) 17:37:10ID:8hg7YXeL
>>392
逆に聞きますと、どういうスクリプトで使用すると危険なのでしょうか?
このファイルの入出力の部分を流用とかはあまりしない方がいいのでしょうか・・。
0395nobodyさん2006/05/29(月) 17:40:38ID:???
>>393
METAタグの文字コード指定か、出力前に

header("Content-Type: text/html charset=euc-jp");

としてみてはどうでしょうか
0396nobodyさん2006/05/29(月) 17:41:37ID:???
>>394
ログファイルを一旦全部クリアして書き直すような
(特定のレコードの削除や、行頭へのレコード追加等)
処理の場合には、きちんとしたロック制御をしないとまずいです。
0397nobodyさん2006/05/29(月) 17:45:47ID:???
具体的には、処理全体を関係ないロック専用のファイルに flockして囲うか、

ログ読み込み時は fopen を r+ で開き次の行で flock をLOCK_EXでかけて、その後データを読み込み、
その読み込んだデータなどに基づき、書き込みデータを作成して、
ftruncateでファイルサイズを0にし、rewindで先頭に戻し、
fputsで書き込む。

このように、(読み込み→書き込み)までの一連が排他制御されてないといけません。
0398nobodyさん2006/05/29(月) 17:50:51ID:???
>>395
レスありがとうございます。

メタタグの指定はやってるんですけど、ブラウザの文字コード解釈ではなくて、
PHPが生成して返してくるHTML自体の文字コードが
全く同じリクエストを投げてもEUCだったりSJISだったりするんです。
なのでSJISで出力されると文字化けするんです。
たぶんPHPの方で勝手にEUCの文字列をSJISに変換して返してるんだと思うんですけど、
これを必ずEUCで出力するようにしたいんです。
これはレンタルサーバの仕様でしょうがないんでしょうか?
0399nobodyさん2006/05/29(月) 17:59:14ID:???
>>398
昔の古いテクニックで、
フォーム投稿データに hiddenで特定の漢字を入れるのと、
出力するhtml文に、コメントで特定の漢字を入れる、ってのがあったけどそれはどうかな?
0400nobodyさん2006/05/29(月) 18:02:20ID:???
>>399
それを調べて試してみます。
ありがとうございました。
0401軟式PHP2006/05/29(月) 18:07:44ID:???
>>391
>2chで最近評判が悪いレッツPHPにあるスクリプトに
ウケタ。そんな噂があるのか。
まぁ、あそこに置いてあったスクリプトで、ファイル処理で
$fp = fopen("aaa.txt","w");
flock( $fp, LOCK_EX );
っていうのがあったのがウケた。意味ないじゃーん。
0402nobodyさん2006/05/29(月) 18:11:28ID:???
>>401
CGI-Perl or PHP初心者にありがちな罠だよね^^;
0403nobodyさん2006/05/29(月) 18:23:50ID:???
>>399
美乳 か
04043902006/05/29(月) 18:40:04ID:???
>>396-397
ありがとうございます!
例えば掲示板などのスクリプトでログの一部を変更して書き込むなどの時は

$data = "";
$fp = fopen($logfile,"r+");
if ($fp) {
  flock($fp, LOCK_EX);
  while (!feof($fp)) {
    $buffer = fgets($fp, 4096);
    $data .= $buffer;  // 書き込みデータを作成
  }
  ftruncate($fp, '0');  // ファイルサイズを0
  rewind($fp);      // 先頭に戻す
  fputs($fp, $data);
  fclose($fp);
  flock($fp, LOCK_UN); // ロックを解放する
}

書き込みデータ作成処理は何もしていませんが、こんな感じでしょうか?

ログを表示するだけの時にも file(〜) よりも fopen +共有ロックを使用した方が
安全という認識で良いでしょうか?
マニュアル見ると色々とファイルの入出力の方法があるのですが、「これこそが王道」みたいな
ものを見定めるだけの能力がないので・・・('A`)
04053902006/05/29(月) 18:41:21ID:???
あっ

  flock($fp, LOCK_UN); // ロックを解放する
  fclose($fp);

でした。閉じた後に$fp使っても意味が無いですよね
0406nobodyさん2006/05/29(月) 18:54:16ID:???
>>404
私的にはそれでばっちり。
念を入れるなら flockの返り値などもチェックするにこしたことはないけど、
それで充分だとおもいまふ。

file()関数も便利だけど、
flock()がかかっている最中のファイルに対する挙動とかっていまいち不明なので、全体処理ロックの中でしか使わない。
0407nobodyさん2006/05/29(月) 19:21:06ID:???
関連質問。
flockで排他されている方は、処理が終わるまでジッと待っていてくれるもんでしょうか。
0408nobodyさん2006/05/29(月) 19:46:30ID:???
>>405
その前に名前390ってのは合ってるのか?
専ブラ使ってるとポップアップでレス抽出できるから、その辺も気を付けてくれ
0409nobodyさん2006/05/29(月) 20:28:32ID:???
>>407
flock中にsleepで10〜20秒眠って、
その間に別ブラウザでアクセスしてみたらどうだ?
0410nobodyさん2006/05/29(月) 20:33:08ID:Bdw+FLsC
Web上でPHPのエラーが出てしまうのを防ぐようにするには
どのような設定が必要ですか?
Apacheの設定でしょうか?
0411nobodyさん2006/05/29(月) 20:47:50ID:???
>>410
error_reporting(0)でエラー出力をなくせるが、
これに頼らずエラーの出ないスクリプトを書いてくれ。
0412nobodyさん2006/05/29(月) 20:50:34ID:???
>>410
display_errorsをOffにして、log_errorsをOnにする。
でもってerror_logにエラーログを記録するファイルを絶対パスで記述するのがオススメ。
まかり間違ってもerror_reportingを0にしてエラー自体を出さないようにすることは止めた方がいい。
0413nobodyさん2006/05/29(月) 20:51:07ID:???
>>410
<?php
error_reporting(0);
function manual_yomeyo($str) { return 'manual yomeyo '.$str; }
echo manual_yomeya('boke');
?>
もしくは
<?php
function manual_yomeyo($str) { return 'manual yomeyo '.$str; }
echo @manual_yomeya('boke');
?>
0414nobodyさん2006/05/29(月) 20:59:48ID:???
というわけで>>411が最も正論だな。
頼むからWarningレベルの警告が出るようなスクリプトは書かんでくれ
0415nobodyさん2006/05/29(月) 21:48:04ID:IjgGbccK
メール送信のフォーム作って
テストメール送信したんだが、
受信メールが文字化け↓

?\?????C?x???g???o?^???????????B
-------------------------------------------------
?J?????F2006/06/23
-------------------------------------------------
test2?e?X?g
-------------------------------------------------
?Q???E?s?Q?????o?^?????L?t?q?k?????¨???¢???????B

ソースの一部↓
function _mailSend($_mode,$_date,$_name,$_detail,$_email,$_keitai){
// ヘッダ作成
$headers =
04164152006/05/29(月) 21:50:05ID:IjgGbccK
// ヘッダ作成
$headers = "";
$headers .= "Content-Type: text/plain; charset=ISO-2022-JP\n";
$headers .= "Content-Transfer-Encoding: 7bit";
サーバApacheのデフォルトcharsetはnone、shift_jisどちらも試したが×
どこかの設定で文字コードが合わないのかもしれない。
わかる人いませんか?
0417nobodyさん2006/05/29(月) 21:53:51ID:???
>>416
none っておいおい。
AddDefaultCharset none は完全に間違っている。
AddDefaultCharset off が正しい。
0418nobodyさん2006/05/29(月) 21:54:14ID:???
文字列を指定すると、特定のフォルダ以下に含まれる全てのファイルの内容を走査し
その文字列が含まれるファイル名をリストアップする、
という感じの検索システムを作ろうと思っています。

そこで質問なのですが、
ディレクトリ関数やファイル関数を使ってひとつひとつ内容を調べていこうと思ってるんですけど
これはサーバーに対してかなり負荷をかけてしまうものなのでしょうか?
レンタルサーバーを借りて使っているので気になります。
04194152006/05/29(月) 21:55:03ID:IjgGbccK
>>417
返答どもです。
offで文字化け回避できますか?
今試してみます。
0420nobodyさん2006/05/29(月) 21:57:03ID:???
>>354 です

いろいろ試しましたがうまくいきませんでした

formからのリクエストに対してはある程度対応できますが ブラウザからの直接のGET参照がうまくいきません

ブラウザによってアクセス方法がまちまちで

?u=くだらねぇ質問
?u=%E3%81%8F%E3%81%A0%E3%82%89%E3%81%AD%E3%81%87%E8%B3%AA%E5%95%8F
?u=%A4%AF%A4%C0%A4%E9%A4%CD%A4%A7%BC%C1%CC%E4

とアクセスしたきた場合の処理でつまづいています。
04214152006/05/29(月) 21:59:42ID:IjgGbccK
>>417
ダメでした。
ほかに文字化け原因箇所ってありますか?
ぐぐって見ましたが、書いてませんでした。
04224152006/05/29(月) 22:03:37ID:IjgGbccK
受信メール文字化けでこまってます。
function _mailSend($_mode,$_date,$_name,$_detail,$_email,$_keitai){
// ヘッダ作成
$headers = "";
$headers .= "Content-Type: text/plain; charset=ISO-2022-JP\n";
$headers .= "Content-Transfer-Encoding: 7bit";
文字化けでこのソースが間違っているわけではないと思うの
ですが。どこかの設定(confファイル)が原因でなっている
と推測ですが。。考えられる原因箇所お願いします。
0423nobodyさん2006/05/29(月) 22:23:51ID:???
>>415
<?php
function mail_encode($str, $mime_encode = false) {
  $str = mb_convert_encoding($str, 'ISO-2022-JP', 'auto');
  if ($mime_encode)
    $str = mb_encode_mimeheader($str, 'ISO-2022-JP', 'auto');
  return $str;
}

function mail_send($to_name, $to_addr, $from_name, $from_addr, $subject, $message) {
  $to_name = mail_encode($to_name, true);
  $from_name = mail_encode($from_name, true);
  $subject = mail_encode($subject, true);
  $message = mail_encode($message);
  $headers = "MIME-Version: 1.0\r\n"
    ."Content-type: text/plain; charset=ISO-2022-JP\r\n"
    ."Content-Transfer-Encoding: 7bit\r\n"
    ."From: {$to_name} <{$to_addr}>\r\n"
    ."Reply-To: {$from_name} <{$from_addr}>\r\n";
  return mail($to_addr, $subject, $message, $headers);
}
mail_send('ボケ', '[email protected]', '俺', '[email protected]', 'ボケへ', 'マニュアル・RFCくらい嫁やボケ');
?>
0424nobodyさん2006/05/29(月) 22:36:18ID:???
>>420

>>357がほとんど正解を教えてくれてるのに、お前はほんとに試したのか?
マニュアル読まない、ヒントもらっても試さず動かないと言う。
どうしようもない奴だな。

$a = array(
  'くだらねぇ質問',
  '%E3%81%8F%E3%81%A0%E3%82%89%E3%81%AD%E3%81%87%E8%B3%AA%E5%95%8F',
  '%A4%AF%A4%C0%A4%E9%A4%CD%A4%A7%BC%C1%CC%E4',
  );
foreach ($a as $u) {
  echo mb_convert_encoding(urldecode($u), 'utf-8', 'auto').'<br />';
}
0425nobodyさん2006/05/29(月) 22:49:24ID:???
>>406
前々から思っているんだが、fcloseの前にflockで明示的にロックを解除してんのに
その前でfflushを使っているスクリプトを(あるかも知れんが)見たことが無い。
実際、fcloseの前にflock/fflushは不要で、単にfcloseのみをすれば暗黙的に
fflush→flock→fcloseの順で処理してくれるハズなのでうまく行くハズなんだが、
先に明示的にロックを解除すると、flock→fflush→fcloseの順で処理されて
まずいような気がするんだが。

>>422
mailSend()の中の処理を推測して回答しろ、と?
0426nobodyさん2006/05/29(月) 23:22:11ID:???
>>422
まずinternal_encodingとhttp_inputの値ぐらい出せんか。
そして素直にmb_send_mail関数使え。
0427nobodyさん2006/05/29(月) 23:38:15ID:???
>>424
説明が足りませんでした

?u= に入った値に fopen で接続を試みます。

0428nobodyさん2006/05/29(月) 23:39:45ID:vMvjotbL
質問があります。
とあるキーワードを変数$keyに入れたいのです。

私が$keyに入れたいキーワードは
「パソコン 激安 販売」の「パソコン」部分だけです。

「メガネ 高値 販売」の「メガネ」部分だけです。

「パソコン 激安 販売」には
計2つの半角スペースが入っているのですが
1つめの半角スペースから左の部分を$keyに入れる 見たいな事をコード化することは可能なのでしょうか?
0429nobodyさん2006/05/29(月) 23:44:37ID:???
可能です。strpos substr
0430nobodyさん2006/05/29(月) 23:45:03ID:???
list($key) = expload(' ', 対象文字列);
0431nobodyさん2006/05/30(火) 00:02:58ID:???
display_errorsがonなのに、エラーが画面に表示されず、真っ白のままです。
でもログにはエラーがきちんと記録されています。

どうして画面にエラーが出力されないのでしょうか・・・?
display_errors以外にチェックすべきポイントはありますでしょうか。
04323912006/05/30(火) 00:12:56ID:???
>>401
extract を利用したスクリプトが多いのが原因だと思います。
たしか前スレあたりでその話が出てたと思います。

>>408
ま、間違えていました・・・>>391でした(汗

>>406
ありがとうございました。とても勉強になりました。

>>425
という事は>>391を

$data =
0433nobodyさん2006/05/30(火) 00:13:08ID:???
>>418
find & grepか。
ディスクアクセスが必要な処理だから、相応に負荷はあるけど
そういったベタなやり方は禁じ手という訳でもない。
常用するならもちっと工夫するなりDB活用するなりしろといった感じ。

ファイルが多くて容量も大きければ、(Web経由なら)ブラウザのタイムアウトへの工夫とか、
PHPのタイムアウト、無限ループのプロセスと見なされないよう管理者との相談や
別サービスへの移行勧告とか出てくるかもね。
0434nobodyさん2006/05/30(火) 00:13:48ID:???
>>427
説明が足りない、お前の頭と同じくらい足りない。
質問するなら、何をどうしたいのか的確に書けよ、ボケナス。
で、allow_url_fopenはOnになってるんだろうな?
0435nobodyさん2006/05/30(火) 00:19:20ID:???
>>427
Path Traversal作るなよ
どうでもいいが多バイト文字でfopenかますという設計に疑問を抱かざるを得ない
0436nobodyさん2006/05/30(火) 00:28:34ID:pEJEKC/o
なるほど、えと もう既に $keyに文字列が入っている場合 それから
1つめの半角スペースから左の部分を削った上で再度$keyに入れるみたいな感じでやってみたのですが今一わかりません。
<?php
〜略
$key = $afafa[1]; //既にここで$keyにキーワードが入っている
$key = expload(' ',"$key"); //ここで1つめの半角スペースから左の部分を削った上で再度$keyに入れる
echo $key; //ここで削ったキーワードを表示
?>

こんな感じでやりたいのです。
0437nobodyさん2006/05/30(火) 00:38:41ID:???
>>436
$keyには1つの値しか入らん。
従って$keyに削った後の文字列とキーワードを同時に入れることは不可能。

あと変数だけをダブルクォーテーションで括るのは気持ち悪いから止めた方がいい


$key = expload(' ', $key);
echo array_shift($key);

$key = join(' ', $key);
04384372006/05/30(火) 00:42:23ID:???
上のコードは$keyを配列にして先頭要素を除去、再び文字列に〜というあまり気持ちよくないコード(見れば分かるか)

expload→explode
joinよりimplodeの方がいいな、どう考えても
0439nobodyさん2006/05/30(火) 00:46:29ID:pEJEKC/o
ご丁寧に有難う御座います、早速やってみます。
0440nobodyさん2006/05/30(火) 00:48:16ID:pEJEKC/o
1つめの半角スペースから左の部分を削った上で再度$keyに入れる 訂正です。。

右の部分でした。すいません。やってみます。
0441nobodyさん2006/05/30(火) 01:06:50ID:???
>>425
そういえばどっかでみたような気がする。
>flock解除を明言するなら、フラッシュしてから。
Perlの青らくだだったかな
0442nobodyさん2006/05/30(火) 01:07:04ID:???
hogehoge
0443nobodyさん2006/05/30(火) 01:20:25ID:pEJEKC/o
>>437
できました〜!えとarray_shiftでやはり最初以外の右部分が挿入されていました。
類似関数を調べたところ
array_pop辺りしかないようですね。削る関数は。
一応これで満足です!ご丁寧にありがとうございました。色々関数があって面白いですね。
0444nobodyさん2006/05/30(火) 01:34:35ID:???
確かにPHPって関数多いよな〜
0445nobodyさん2006/05/30(火) 02:05:29ID:???
うん
1000個もある
0446nobodyさん2006/05/30(火) 02:18:09ID:KRBUwnPN
質問です。
どこで質問すればいいか全くわからないので、スレ違いなら誘導願います。

HTMLのIFRAMEを使ったプログラムを書いているのですが、
IE6でのみクッキーが取れなくて困っています(FirefoxとOperaでは取れました)。
以下がそのソースコードです。

http://a.com/cookie_get.php
---------------
<?php
setcookie('t',$_SERVER['HTTP_HOST'],time()+1000);
echo 'cookie:'.$_COOKIE['t'];
?>
---------------

http://b.com/test.html
---------------
<iframe src=
0447nobodyさん2006/05/30(火) 02:18:49ID:KRBUwnPN
http://b.com/test.html
---------------
<iframe src="http://a.com/cookie_get.php"></iframe>
---------------

ブラウザ(IE6)で、
http://a.com/cookie_get.php にアクセスすると、意図通りに
「cookie:a.com」と表示されますが、
http://b.com/test.html にアクセスすると、IFRAMEの中には
「cookie:」とのみ表示されます。クッキーは取得できません。

重ねて書きますが、FirefoxとOperaでは問題なく取得できています。
IEのセキュリティが厳しいのかもしれませんが、
IEでIFRAMEの中からクッキーを取得できる方法があるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています