【PHP】下らねぇ質問はID出して書き込みやがれ 91
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/12/08(火) 13:53:09ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 90
http://pc11.2ch.net/test/read.cgi/php/1258187482/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0412nobodyさん
2009/12/19(土) 00:41:54ID:r/vk1BgH$start = microtime(true);
$a = array();
for ($i = 0; $i < 10000; $i++) {
$a[] = $i;
}
echo microtime(true) - $start . "<br>";
$start2 = microtime(true);
$b = array();
$j = 0;
while ($j < 10000) {
array_push($b, $j, $j+1, $j+2, $j+3, $j+4);
$j += 5;
}
echo microtime(true) - $start2;
?>
array_pushが遅いとマニュアルに書いてたのでベンチを取ってるつもりです
いくつpushしたらpushのほうが速いのかという比較なのですが
ベンチマークのとり方ってこんな感じでよいのでしょうか?
一応ちゃんと動いてるような気はします
0413nobodyさん
2009/12/19(土) 00:57:29ID:???速度の違いをわかる方法なら何でもいいんじゃない?
でも、forならfor、whileならwhileに統一しないと、正しく評価できないよ。
あと、ループの回数はもっと多くしたほうがいい。
0415nobodyさん
2009/12/19(土) 01:08:08ID:???返事が遅くなりすいません。なおしていただき感謝です
今からおかしかったところ調べたいと思います。
またこけたらお願いします
0417nobodyさん
2009/12/19(土) 21:02:45ID:x0H9DwDhDBに入っている画像のバイナリを表示させた場合、それを著作権有りの画像として表示させたい。
GD使えばそういう風にできる?
なんか携帯でメールに添付できない画像があるんだけどそういう風にしたい。
ただ既にDBに入っている画像はコピーライト有りになってない。
それともそういう画像は画像編集ソフトとかでコピーライト有りに編集しなきゃいけないのかな?
教えてよ。
0418nobodyさん
2009/12/19(土) 21:05:37ID:???0419nobodyさん
2009/12/19(土) 21:14:43ID:???0421nobodyさん
2009/12/19(土) 21:20:38ID:???0422nobodyさん
2009/12/19(土) 21:32:16ID:x0H9DwDhそのやり方を教えて。
関数だけ教えてくれればあと自分でできるから。
でもPHPマニュアル見たけど無かったような
0424nobodyさん
2009/12/19(土) 21:45:24ID:JB1i7e9bCtrl+Shift+FのFormat機能をカスタマイズすることは可能でしょうか?
エディタの設定でtab幅を2にしてるのにFormatすると全部4になってしまったり、
pタグが勝手に改行されたりと、いまいち使い辛いのです。
0425nobodyさん
2009/12/19(土) 21:46:47ID:???http://docs.aptana.com/docs/index.php/Customizing_your_formatting_preferences
0427nobodyさん
2009/12/19(土) 21:56:23ID:???GDにコメント取得はあっても、セットするのがねーな。
ソフトバンクはヘッダつけるだけなので画像データいじらなくてよし。
0428nobodyさん
2009/12/19(土) 21:56:44ID:JB1i7e9bうおーこんなのがあったのか。ありがとうございます!
設定したフォーマットをエクスポートして共有できるとかすご過ぎる
0429nobodyさん
2009/12/19(土) 21:58:02ID:???http://feed.designlinkdatabase.net/feed/outsite_2882.aspx
あう
http://au.kddi.com/ezfactory/tec/spec/gif.html
0431nobodyさん
2009/12/19(土) 23:57:46ID:5CrPM6Aj$val = isset($array[$key]) ? $array[$key] : NULL;
unset($array[$key]);
return $val;
}
みたいな関数は標準でありますか。
ようは、配列から値を取り除きつつ、その取り除いた値を取得したいということです。
0432nobodyさん
2009/12/20(日) 00:14:51ID:???http://php.net/manual/ja/ref.array.php
無いっぽいね。
というか、配列は参照渡しにしないと、やりたい事が出来ないよ
function array_delete(&$array,$key){ 〜〜
0433340
2009/12/20(日) 00:45:15ID:???気持ち程度にコメント追加しました
あと、代表的な処理のアクティビティ図と、ER図も追加して
jQueryを使って遊んでみたものをうpしてます
SQLインジェクション対策は必須だと思うけどしてませんw
mysql_real_escape_string()を通すとDBに追加、更新ができなかったので
コメントにしてますが原意を調べる時間をとってません
0436nobodyさん
2009/12/20(日) 02:37:27ID:???0437nobodyさん
2009/12/20(日) 03:03:16ID:???0438nobodyさん
2009/12/20(日) 05:59:44ID:???0439nobodyさん
2009/12/20(日) 08:03:07ID:???0440nobodyさん
2009/12/20(日) 11:00:40ID:???0441nobodyさん
2009/12/20(日) 11:27:53ID:???標準の関数がなくても、下の2行で済むんじゃない?
自作の関数もいらないような・・。
$val = $array[$key];
unset($array[$key]);
0442nobodyさん
2009/12/20(日) 12:20:31ID:Zrftzoad0443nobodyさん
2009/12/20(日) 12:38:18ID:???0444nobodyさん
2009/12/20(日) 12:46:07ID:???0445nobodyさん
2009/12/20(日) 12:54:54ID:???0446nobodyさん
2009/12/20(日) 12:55:48ID:???0448nobodyさん
2009/12/20(日) 13:09:01ID:???PHP検定を主催してボロ儲けなんてどうだろ
0449nobodyさん
2009/12/20(日) 13:10:54ID:???テンプレート→Smarty
フレームワーク→CakePHP・ZendFramework
このあたりが日本で主流だと思われる
フレームワークを使う場合テンプレートエンジンは別に必要ではない
ライブラリは環境依存になることが多いのでなるべく使わないようにする(特にPECLはSUでないとインスコできない)
あとは使用するプログラムのライセンス形態を調べること
SmartyはLGPLなので商用では注意が必要(この辺が面倒で自分はテンプレートは自作したものを使ってる)
0450nobodyさん
2009/12/20(日) 13:21:26ID:???フレームワーク使おうが使うまいがテンプレートエンジンは別に必要ではない
0451nobodyさん
2009/12/20(日) 13:29:39ID:???$body = "%8F%91%82%AB%8D%9E%82%DE&FROM=%66%75%73%69%61%6E%61%73%61%6E&MESSAGE=test&bbs=php&key=1260247989&time=1";
$length = strlen($body);
$head = "POST /test/bbs.cgi HTTP/1.1\r\nHost: pc11.2ch.net\r\nUser-Agent: monazilla/1.00\r\n".
"Referer: http://pc11.2ch.net/test/read.cgi/php/1260247989/l50\r\nContent-Type: application/x-www-form-urlencoded\r\n";
$out = $head."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("pc11.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
$cookie = "Cookie: ";
while (!feof($fp)) {
$str = fgets($fp, 128);
if (strpos($str, "Set-Cookie: ") === 0) {
$str = str_replace("Set-Cookie: ", "", $str);
list($cook, ) = explode(";", $str);
$cookie .= $cook."; ";
}
}
fclose($fp);
$cookie .= "NAME=\"\"; MAIL=\"\"; suka=pontan\r\n";
$out = $head.$cookie."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("pc11.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
?>
0452nobodyさん
2009/12/20(日) 13:33:50ID:???これ実行してもなぜか書き込めません><
他の人はどうですヵ?;;
0453nobodyさん
2009/12/20(日) 13:35:12ID:HokspEf/【連携ソフトウェア】Apache2.2 【やりたいこと】 mail()を使ってメールの送信
参照したサイト: ttp://www.php.net/manual/ja/function.mail.php ttp://www.php-labo.net/tutorial/php/mail.html
下記コードでメール送信を試みましたが、2個のエラーメッセージが出ました。
$to = 'abc@ne.jp';
$subject = 'the subject';
$message = 'hello';
//
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
if (mail($to, $subject, $message, $headers)) {
echo "メールが送信されました。";
} else {
echo "メールの送信に失敗しました。";
}
エラーの内容は以下の通りです。
Notice: Undefined variable: headers in C:\〜\MailTest_01.php on line 10
***
これは $headers .= 'From: Birthday Reminderの箇所でこれを削っても駄目でした。
Warning: mail() [function.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 C:\〜\MailTest_01.php on line 13
メールの送信に失敗しました。
***
Line13は、if (mail($to, $subject, $message, $headers)) { の所です。
どう修正すべきでしょうか?
やっぱり、本物のサーバーにUpしないと駄目なのでしょうか?
0454nobodyさん
2009/12/20(日) 13:37:33ID:???ローカル環境でメールサーバ構築してテストしれ
0455nobodyさん
2009/12/20(日) 13:43:48ID:???0456nobodyさん
2009/12/20(日) 14:58:46ID:???【PHPのバージョン】 php 5.2.6
【質問内容】
php.iniでの
zend_extension=xxx.so
のような設定をhttpd.conf内で記述したい場合、どの様にしたら良いのでしょうか。教えて下さい。
0458456
2009/12/20(日) 15:26:32ID:ruVQmLxH0459nobodyさん
2009/12/20(日) 15:38:17ID:???http://jp2.php.net/manual/ja/configuration.changes.php
0460456
2009/12/20(日) 15:55:24ID:ruVQmLxH試したのですが、どうやらロードされていない雰囲気です、、、(phpinfoで確認しました)
先に言っておくべきだったのですが、ロードしたいのはxdebugです
0461nobodyさん
2009/12/20(日) 16:12:44ID:???0462453
2009/12/20(日) 16:14:27ID:???ありがとうございます。
>>メールサーバ構築してテスト
>>送信サーバ設定をそのまま書きこむ
すいません。全く手法が分からないのでヒントを下さい。
0463nobodyさん
2009/12/20(日) 16:15:10ID:???そこでアカウントの設定で送信サーバとか入れてるだろ?
0464nobodyさん
2009/12/20(日) 16:16:12ID:Fw0pzpEVとするのと、
echo sprintf("%s=%s&%s=%s&%s=%s", $k1, $v1, $k2, $v2, $k3, $v3);
とするのでは、どっちがどのくらい速いでしょうか。
0465nobodyさん
2009/12/20(日) 16:17:53ID:???0467456
2009/12/20(日) 16:47:24ID:ruVQmLxHphp_admin_value zend_extension "/usr/lib/php5/20060613/xdebug.so"
上記の設定を書き加えましたが、phpinfoにはxdebugについての情報が一切吐かれませんでした。
php_admin_valueの部分をphp_valueに書き換えても同様でした。
もちろん、上記のパスが正しいことは確認済みです。
0468nobodyさん
2009/12/20(日) 16:52:58ID:???あとその行に文法エラーになるような文を書いてApacheの起動に失敗するかも確認
0469456
2009/12/20(日) 17:02:07ID:ruVQmLxHphp_admin_value error_log /path/to/dir
などの様に他の設定を行っていますが、正しく動作しているようです。
php_admin_value zend_extension "/usr/lib/php5/20060613/xdebug.so"
abcdef
などの不適切な設定をした場合、syntax errorでapacheは起動しませんでした。
そもそも、php_valueを用いて、zend_extensionの設定を行うことは可能なのでしょうか・・・?
0470nobodyさん
2009/12/20(日) 17:08:21ID:???ちなみに、php_valueだよ
0471456
2009/12/20(日) 19:12:14ID:ruVQmLxH0472nobodyさん
2009/12/20(日) 21:23:11ID:???【PHPのバージョン】php5.29
【質問内容】
メッセージを既読の状態で imap_append するにはどうしたらいいのでしょうか?
よろしくお願いします。
0474nobodyさん
2009/12/21(月) 21:59:39ID:sxjnmPYw※PHP環境はレンタルサーバーなので不明
CCで複数のメールアドレスに送信する際、(実験で)意図的にエラーメアド
を含ませて、エラーメールを「-f オプション」でメインの宛先に戻そうとしています。
コードは下記です。
$to = 'メインの宛先';
$subject = 'MailTest_02';
$message = 'MailTest_02 desu';
//
$headers .= 'From: Birthday Reminder <送信元メアド>' . "\r\n";
$headers .= 'Cc: 意図的にエラーメアド,正しいメアド@,正しいメアドA' . "\r\n";
$errorTo = "-f送信元メアド"//-f オプションを使用
if (mail($to, $subject, $message, $headers, $errorTo)) {
echo "メールが送信されました。";
} else {
echo "メールの送信に失敗しました。";
}
これだと下の文法エラーが出ます。
Parse error: syntax error, unexpected T_IF in /〜.php on line 16
該当行は if (mail($to, $subject, $message, $headers, $errorTo) なのですが、
間違いが分かりません。ご指摘願います。
0475nobodyさん
2009/12/21(月) 22:18:49ID:???とりあえず、こいつをセミコロンで締めようか。
0477nobodyさん
2009/12/22(火) 00:13:38ID:2mzdqR1Wcaseの値に演算子は使えますか?
0478nobodyさん
2009/12/22(火) 00:15:15ID:???0479nobodyさん
2009/12/22(火) 00:21:17ID:2mzdqR1W即レス感謝です。
0480nobodyさん
2009/12/22(火) 01:20:22ID:???0481nobodyさん
2009/12/22(火) 13:54:57ID:???1.ダウンロードしたいファイルの全体サイズを要求して、帰ってきた値をn分割する
2.サーバーからn個の塊(セグメント)のそれぞれのバイナリの最初からをダウンロードする
3.最後に保存したバイナリを結合
サーバーに負担かけるけど、これで速くなりますよね?理論上
0482nobodyさん
2009/12/22(火) 14:02:13ID:???0484nobodyさん
2009/12/22(火) 19:26:00ID:hbkj7edcfalse:゙゙,null など
変数を文字列にキャストしたときに、一文字目に文字が存在してればok
みたいな判断がしたいのですが
出来るだけ簡潔に書ける方法ってないでしょうか?
一行で書けるくらいの簡潔さが理想です
0485nobodyさん
2009/12/22(火) 19:33:36ID:???0486nobodyさん
2009/12/22(火) 19:43:44ID:???0487nobodyさん
2009/12/22(火) 22:19:00ID:CYPjupAHSQL全部を渡したらダメなんだな
あと、firefoxでもタスクリストのソートや検索が動くようにjQueryのメソッドを使うようにした
http://www.geocities.jp/retort_curry119/TaskManage.htm
直接途中のページにアクセスされるのを禁止するには
$_SERVER[HTTP_REFERER] で許可するページかどうかチェックする方法?
もっといい方法ありますか?
0488nobodyさん
2009/12/23(水) 00:24:47ID:???何から始めればいいのでしょう・・・ HTMLのソースならあるのですが(´・ω・`)
0489nobodyさん
2009/12/23(水) 00:40:17ID:5FKPpQ9S0490nobodyさん
2009/12/23(水) 00:45:48ID:5FKPpQ9S0491nobodyさん
2009/12/23(水) 00:46:12ID:???奇遇だな、俺も今それでなやんでいたんだ
bodyの部分だけバイナリでファイルに書き込んでgzの拡張子にしてもなんだか壊れてるとかで開けなかった
もしわかったらこのスレに書き込んでくれ
俺もわかったら書き込むわ
0492nobodyさん
2009/12/23(水) 00:47:49ID:cvJgDWhA今日は解決できなかったから寝るけど明日にでもまたやってみるわ
0493nobodyさん
2009/12/23(水) 00:57:59ID:5FKPpQ9S圧縮されたデータをbase64エンコードしてDATAスキームとして読み込みgzopen -> gzreadしました
$data = curl_exec($ch); //gzip圧縮されたデータ
$data = "data:application/x-gzip;base64,".base64_encode($data); // dataスキームに整形
$fp = gzopen($data,"r"); // gzopen
echo gzread($fp,1024); //読み込み
0494nobodyさん
2009/12/23(水) 00:59:41ID:???0495nobodyさん
2009/12/23(水) 01:19:52ID:VLbb10P/0496nobodyさん
2009/12/23(水) 01:27:35ID:5FKPpQ9S$data_scheme = "data:application/x-gzip;charset=iso-8859-7,".urlencode(curl_exec($ch));
$fp = gzopen($data_scheme,"r");
echo gzread($fp,524288);
>>494
この方法だと一度ファイルに書き込む必要が有りますよね
データ取得する度にファイルを生成するのは避けたいのです
0497nobodyさん
2009/12/23(水) 05:40:00ID:9xQ+acVIそして返ってきたヘッダーにsetCookieが有った場合、それを任意のファイルに保存する事が出来、
そのファイルを指定すると、そのクッキー内容をセットして送信してくれる
またその関数はオプションで、レスポンスヘッダーにLocationが存在した場合、自動的にそのURLにリダイレクトもしてくれる
という関数を探しています。
以前使った記憶があるのであるはずなのですが、どうにも検索出来ません。
php cookie ですと、サーバーからクライアントにクッキーを渡す、受ける方法しか出てこないので。
この関数に心当たりの有る方、是非教えてください。
0498nobodyさん
2009/12/23(水) 06:20:09ID:yNzqV2OY用途を言え
さすれば>>499が答えてくれるはず
0500nobodyさん
2009/12/23(水) 07:13:44ID:9xQ+acVIそれです。ありがとうございました。
>>498
サイトのソースを取得したかったが、file_get_contentsだと「オメーのアクセス不正だからデータ出してやんねー」
って弾かれるから、セッションとかその辺がいかんのかなぁと思って聞いた。
が、どうもUAが空なのが原因だったらしい。
0501nobodyさん
2009/12/23(水) 09:31:57ID:???stream_filter_append で convert.base64-decodeと bzip2.decompress なんて手も。
0502nobodyさん
2009/12/23(水) 10:34:14ID:cvJgDWhA俺もやってみるわ。なんか書き込んでとか生意気なこといったのに応じてくれてありがとう
0503nobodyさん
2009/12/23(水) 10:35:28ID:GedKCbN8function print_current_date($params, &$smarty)
{
if(empty($params['format'])) {
$format = "%b %e, %Y";
} else {
$format = $params['format'];
}
return strftime($format,time());
}
?>
質問させてください。
関数print_current_dateの第2引数 &$smarty の意味が分かりません
参照渡しだと言う事は分かるのですが、引数に指定された時にはいったいどういう挙動をするのでしょうか?
0505nobodyさん
2009/12/23(水) 10:50:58ID:???その関数でsmartyの機能を参照できるようにするためで、引数に渡される。
使わないなら何もしない。 その関数の中で $smarty->trigger_error とか使うためのもの。
0506nobodyさん
2009/12/23(水) 11:04:44ID:GedKCbN8ありがとうございました
0507nobodyさん
2009/12/23(水) 17:00:21ID:NNi2TGwI何も表示されません。
クッキーの受け渡しは出来ているのですが、
もしかしてIFRAMEだとクッキーを認識しないのでしょうか?
0508nobodyさん
2009/12/23(水) 17:15:07ID:???してみろ
0509nobodyさん
2009/12/23(水) 17:28:54ID:???0510507
2009/12/23(水) 17:28:57ID:NNi2TGwIPHPSESSIDはでますが、クッキー用の変数は出ません
0511nobodyさん
2009/12/23(水) 17:33:01ID:???■ このスレッドは過去ログ倉庫に格納されています