【PHP】下らねぇ質問はID出して書き込みやがれ 127
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/03/19(火) 22:13:49.76ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 126
http://kohada.2ch.net/test/read.cgi/php/1359808868/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0757nobodyさん
2013/05/05(日) 19:49:51.60ID:???制約コロコロ変えたり拡張が簡単になってるんでそ
断片化が半端なさそうだが
0758nobodyさん
2013/05/05(日) 20:02:15.57ID:???0759nobodyさん
2013/05/05(日) 20:18:14.45ID:???SQLの知識が足りないなら無理せず>>755みたいにPHP側に回せばいいだけだな
0760nobodyさん
2013/05/05(日) 20:24:49.96ID:???0761nobodyさん
2013/05/05(日) 20:26:34.38ID:???0762nobodyさん
2013/05/05(日) 20:32:37.47ID:???0763nobodyさん
2013/05/05(日) 20:34:58.73ID:???PHP→SQLって流れが一般的かと
そうするとPHPのほうが楽な人も多いと思う
0766nobodyさん
2013/05/05(日) 23:54:57.58ID:???0767nobodyさん
2013/05/06(月) 00:18:24.18ID:???アホばっか
0768nobodyさん
2013/05/06(月) 00:23:13.86ID:???そりゃSQL自由自在に使える奴ならSQLでやったほうが早いに決まってる
0769nobodyさん
2013/05/06(月) 00:37:03.05ID:???0771nobodyさん
2013/05/06(月) 00:39:03.38ID:???SQLの方が理解できる人多いと思うわ
0774nobodyさん
2013/05/06(月) 04:49:12.12ID:???継続的にやるとかなら負荷とか処理速度とか考えるけど
0775nobodyさん
2013/05/06(月) 04:56:27.67ID:???0776nobodyさん
2013/05/06(月) 07:17:16.77ID:???多くの場合PHPで加工を入れたほうが遅いのは想像に易い
が一応ちゃんとベンチとってからそういう事言わないとな
PosqlみたいなのもあるしSQLが早いっていう考えはちょっとおかしい
0777nobodyさん
2013/05/06(月) 10:20:41.47ID:???パッと見て何がやりたいのか、なんでそうなるのか凡人の頭じゃさっぱりわからないキチガイSQL
0778nobodyさん
2013/05/06(月) 11:08:56.63ID:???いくらなんでも片手間の俺よりはできるだろうと思って外注に出してるけど、
業者さんがこのレベルってことはないよね?
0780nobodyさん
2013/05/06(月) 11:49:12.07ID:???まぁSQLやらない/できない言い訳を必死に考えてんだろうけど
0781nobodyさん
2013/05/06(月) 11:54:27.69ID:???SQLでやったほうがいい処理もあるし、PHP側でやったほうがいい処理もあるに決まってんだろ
そんなにSQL好きならHTMLタグまで全部SQL側で生成しろよwwwww
0782nobodyさん
2013/05/06(月) 17:11:55.85ID:???0783nobodyさん
2013/05/06(月) 20:04:40.44ID:???0784nobodyさん
2013/05/06(月) 20:05:17.12ID:???0785nobodyさん
2013/05/06(月) 20:48:18.75ID:???外注とはコスト削減のために使うものであって、自分より質の高いものを得るために使うものじゃない(確信)
0786nobodyさん
2013/05/06(月) 21:16:20.05ID:???0788nobodyさん
2013/05/06(月) 22:19:17.49ID:???0790nobodyさん
2013/05/06(月) 22:59:21.71ID:???0791nobodyさん
2013/05/07(火) 00:30:53.24ID:???0792nobodyさん
2013/05/07(火) 01:37:23.03ID:zoq9xUOzphpって実行時に一度C言語に変換された後機械語に変換されるんですか?
それともphpインタプリタが直接機械語に変換するのでしょうか?
プログラムの動作する仕組みがよくわからないので教えてください。
0794nobodyさん
2013/05/07(火) 02:41:07.19ID:zoq9xUOzあざっす。
その変換されたものをファイルに書き出すことってできないんですかね?
というのも実行時にいちいち変換するより、もうほとんど手を加えないとういプログラムなら
変換したものを動作させたほうが速いだろうと思うのですが。
開発中 -> インタプリタで実行するごとに変換
本番環境 -> コンパイル?されたファイルを変換せずに実行
0795nobodyさん
2013/05/07(火) 04:43:13.60ID:???0796nobodyさん
2013/05/07(火) 06:06:21.19ID:zoq9xUOzそうなんですか。ありがとうございます。
初心者が言うのも変ですが、変換はできてそれを実行もできるのに
変換したものを保存することができないってのがよくわからんです。
c言語ならコンパイルしたものがファイルとして保存できますよね。
なぜphpは変換したものが保存できないのですか?
0797nobodyさん
2013/05/07(火) 07:00:35.00ID:???http://www.php.net/manual/ja/intro.apc.php
0798nobodyさん
2013/05/07(火) 08:19:30.37ID:???どうやってんのかしらんけど
0799nobodyさん
2013/05/07(火) 09:24:00.12ID:zoq9xUOzapc_bin_dumpfileでできましたー。
これ以前試したことがあってできなかったからapcはまだ不安定なんだと思ってたんですが、
php5.4.13 + apc3.1.13でファイルに書き出せました。
このバイナリデータはすでにphpは関係ないってことですよね?
ということはc言語も関係ないってことだと思うのですが、
これどうやって実行すればいいんでしょうか?
0800nobodyさん
2013/05/07(火) 09:47:48.19ID:???HipHop VM
Phalanger
0801nobodyさん
2013/05/07(火) 10:36:29.78ID:n6USVSPe【PHPのバージョン】5.4.13
【連携ソフトウェア】
【質問内容】超初心者です。
HTMLの記述の中に、<?PHP 〜 ?>を書いて、そこにPHPプログラムを書いて動的なものにしていくと思うんですけど、
while とかで求める繰り返し処理をして連想配列から出した値を、HTMLの記述のあちこちに表示させたい場合、
その表示させたい箇所ごとにwhile分を使わないといけないんでしょうか?例えば
<?PHP
<body>
while (list($key,$val) = each($arr)){
echo "$key $val \n";
}
</body>
?>
の場合だと問題ないのですが、<body>にけっこう多いコードがあったときにもし"$key"と"$val"をバラバラの場所に
表示させたいときに、それぞれにwhileを使うしかないのでしょうか?
よろしくお願いします。
0802nobodyさん
2013/05/07(火) 10:38:35.04ID:???好きにやればいい
0803801
2013/05/07(火) 10:40:42.79ID:n6USVSPewhile (list($key,$val) = each($arr)){
echo "$key";
?>
〜間にHTMLの記述〜
<?PHP
echo "$val";
}
?>
こんな感じで上と下に表示できるかなーと思ったのですが、ダメでした。
よろしくお願いします。
0804nobodyさん
2013/05/07(火) 10:47:24.21ID:???0805nobodyさん
2013/05/07(火) 10:49:30.54ID:???間のHTMLは一回だけにしたいって意味?
ループ中は文字列変数につないでいって
ループ出てからechoすりゃ一回でいける。
0806801
2013/05/07(火) 10:56:47.81ID:n6USVSPeやっったりしてました。
?>と<?PHPで、いったんPHPから抜けたら 間のHTMLはループされずに
echo "$key" と echo "$val" だけループされるのかと思ったけど、そうなりませんでした。
変数につないでいってループ出てからechoをやってみます。
ありがとうございました。
0807nobodyさん
2013/05/07(火) 10:57:43.28ID:???$str = "";
while(...) {
$str = "<li>".$key."=>".$val."</li>";
}
echo $str;
echo $str;
echo $str;
後は好きにしろ
0808nobodyさん
2013/05/07(火) 11:03:54.13ID:???APCに読ませてPHPに実行させる。
独立したapacheモジュールみたいなものを書き出しているわけじゃないよ
0809nobodyさん
2013/05/07(火) 11:04:07.17ID:???0810nobodyさん
2013/05/07(火) 19:18:37.58ID:???ああ
<?PHP
echo implode('', array_keys($arr));
?>
〜間にHTMLの記述〜
<?PHP
echo implode('', array_values($arr));
?>
0811nobodyさん
2013/05/08(水) 17:19:35.07ID:QMrGFLn3<?php
echo "1";
echo "2";
echo "3";
?>
sample.php
$file = file('test.php');
としたときに
$file[0]
には
echo "1";
がはいります。
しかし
$file[5]
には
?>
が入っています。
?>は取得出来るけど<?phpはどうやっても取得されないのでしょうか?
実際には2行目にecho "1";が来るのに配列としては[0]なのであわせられればと思っています。
0813nobodyさん
2013/05/08(水) 18:04:15.48ID:???0814nobodyさん
2013/05/08(水) 18:19:51.72ID:QMrGFLn3array(5) {
[0]=>
string(6) "
string(10) "echo "1";
"
[2]=>
string(10) "echo "2";
"
[3]=>
string(10) "echo "3";
"
[4]=>
string(2) "?>"
}
となってました。
ブラウザ側のソースには
[0]=>
string(6) "<?php
"
[1]=>
string(10) "echo "1";
と表示されています。
html上のものでなぜソースが異なるのかちょっと意味がわからないです。
0815nobodyさん
2013/05/08(水) 18:25:42.54ID:???"
[1]=>
がタグ扱いでブラウザで表示されないだけじゃねーか。
0816nobodyさん
2013/05/08(水) 18:26:35.32ID:???表示しなくするだろw
どうしてもブラウザに出したければ、htmlspecialcharsを通すとかでどうかな。
0818nobodyさん
2013/05/08(水) 19:10:17.99ID:???0820t
2013/05/08(水) 21:34:36.96ID:zJfXxHKJ【PHPのバージョン】5.3
【連携ソフトウェア】
【質問内容】
$encodingText=htmlspecialchars($writingText);
$encodingText=str_replace('\r\n','<>',$encodingText);
$encodingText=str_replace('\n','<>',$encodingText);
$encodingText=str_replace('\r','<>',$encodingText);
$encodingText=str_replace(PHP_EOL,'<>',$encodingText);
ここで聞く事なのかどうか。。2chのlogみたいにcsvにフォームからの書込みを一行保存したくて改行を<>に変換したいですけど
これだとcsv内は改行されてしまいます。。何故かPHP_EOLを使った部分で改行が「"改行<>"」という形でcsvに保存されます。
どうすりゃ改行を一行にまとめられますかね???ちなみに最初のhtmlspecialcharsは関係なかーたです
0821nobodyさん
2013/05/08(水) 21:40:22.63ID:???0822nobodyさん
2013/05/08(水) 21:52:05.37ID:???改行コード(\n)がシングルになってる。
展開させるためにはダブルにしろ。"\n"
htmlspecialcharsは出力の直前にかけろ。
ただし2chがそういう仕様ならそれを真似るなら仕方ない。
str_replaceでまとめられるものはまとめろ。
つまりstr_replace(["\r\n", "n"], '<>',$encodingText);
"\r"で改行なんて今更ない。昔あったのかも知らん。
遺贈。
0823nobodyさん
2013/05/08(水) 22:19:17.07ID:???反転させるような関数はありますでしょうか?
なければ100-(100*2)みたいな感じしかないでしょうか。
0824t
2013/05/08(水) 22:26:44.16ID:zJfXxHKJありがとうございます。str_replaceのシングルをダブルクオートに変えたら行けました。
どーもですどーもです。
ちなみにその[]で囲むやり方知らなくてこっちで動かなくて気になるんですができれば。。。。。
0825t
2013/05/08(水) 22:28:51.25ID:zJfXxHKJ-1をかけたらええですよ
0827t
2013/05/08(水) 23:17:42.41ID:zJfXxHKJおーどーもです。うーむ無理か。。
0828nobodyさん
2013/05/08(水) 23:57:01.25ID:???こうすればいけるよ。
>>826のは
5.4から array() の代わりに [] が使えるようになったよって意味の => かと。
0829nobodyさん
2013/05/09(木) 00:11:27.65ID:???0830nobodyさん
2013/05/09(木) 09:06:33.16ID:Jsywf66a【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】
datetimeの比較がうまくいきません。
$start = new DateTime("2013/05/08 12:30:30");
$end = new DateTime("2013/05/04 12:30:30");
if( $start > $end )
{
echo "true";
}
else
{
echo "false";
}
としてもfalseのみが出ます。
仮に$startと$endを入れ替えてもfalseとなります。
http://php.net/manual/ja/datetime.diff.php を見るとオブジェクトの比較が出来ているようなのですが何か違っていますでしょうか?
0831nobodyさん
2013/05/09(木) 09:11:48.64ID:???http://ideone.com/7kfq6S
0834nobodyさん
2013/05/09(木) 10:26:25.73ID:???new を使っているからオブジェクトで定義しているんじゃないの?
中の値で比較するんだったら
if($start->gettimestamp() > $end->gettimestamp())
とかで比較しないとダメなんじゃない?
0836nobodyさん
2013/05/10(金) 22:59:44.03ID:nZ5eiGcK0837nobodyさん
2013/05/10(金) 23:03:50.33ID:???0838nobodyさん
2013/05/10(金) 23:21:28.67ID:iT9k79IA0839nobodyさん
2013/05/10(金) 23:26:36.03ID:???0840nobodyさん
2013/05/10(金) 23:50:29.42ID:ReW38688要素についてtrue(1)かfalse(0)かを確かめたいのですが
var_dumpで
object(SimpleXMLElement)#1 (1) {
["result"]=>
object(SimpleXMLElement)#4 (4) {
["options"]=>
object(SimpleXMLElement)#2 (0) {
}
["raw"]=>
object(SimpleXMLElement)#3 (0) {
}
["status"]=>
string(1) "0"
["statusmsg"]=>
string(5) "Sorry"
}
}
のようになっているのものを
if($object->result->status)
とすると0の場合も1の場合もtrueになってしまいます。
string型の0はfalseと判断されないのでしょうか?
0842nobodyさん
2013/05/11(土) 09:14:21.17ID:3jYy1XhqQRコード読み取りから空メールさせる方法とは別に、
サイトからユーザに空メールを送るようにもさせたいと思っております
mailtoを貼り付けようと思ったのですが、この場合spamが心配です
たとえば、phpで動的に書き出したページにmailtoを仕込んでおけば
spam対策になるもんでしょうか
それともなにか他に手だてがありますでしょうか
0844nobodyさん
2013/05/11(土) 12:18:36.78ID:OhMoHBiSフィールド名いじっておいて
普通に使うフィールド名は罠フィールドとしてcssで非表示
罠フィールドに何か入ってたらbotとして拒否
ということやってる
0845nobodyさん
2013/05/11(土) 22:28:31.55ID:JC/Ksawh質問1
message_typeで1を指定したらメールを送れるってことですが、
この場合このPHPが入ってるのと同じサーバのsmtpdを利用するってことですよね?
他サーバのsmtpdを使うことは出来ないんでしょうか
アプリケーションサーバとメールサーバを分けたい場合はどうすれば良いんでしょうか
質問2
エラーを出力保存するファイルを指定できるようになっていますが、
蓄積されたエラーが膨大になった時に、過去ログ化して新しい同名のファイルを
作成することになるんだと思います。
このとき、何を基準に新規ファイル作成するんでしょうか
そういうのを指定できるオプションってないですか?
よろしくお願いします
0846nobodyさん
2013/05/11(土) 22:36:28.21ID:???1
http://www.php.net/manual/ja/mail.configuration.php
2
logrotate
0848nobodyさん
2013/05/12(日) 12:39:50.54ID:kHm/fQGTググるとたくさん該当する話が出てくるんですが
$msg = "エラーです";
error_log($msg.'\n', 3, '/tmp/error.log');
error_log($msg.'\r', 3, '/tmp/error.log');
error_log($msg.'\r\n', 3, '/tmp/error.log');
error_log($msg.'\n', 3, '/tmp/error.log');
error_log($msg.'\r', 3, '/tmp/error.log');
error_log($msg.'\r\n', 3, '/tmp/error.log');
とどうやっても改行されません
エラーです\n
エラーです\n
と、そのまま出てしまいます
どうしたらいんでしょうか
0849848
2013/05/12(日) 12:46:50.30ID:???0850nobodyさん
2013/05/12(日) 12:52:41.37ID:???0853nobodyさん
2013/05/12(日) 22:07:17.68ID:4FW3vhI4178:名無しさん@13周年[]
2013/05/12(日) 20:54:52.39 ID:VA7SdRMg0
ふーーーんwwww
民主党調子こいてんなあwwww
ようおまいらwww元気ぃ?wwwよろしくやってたかい?www
--- 以下スレ情報 ---
【政治】「自民が反対したから」「官僚が抵抗したから」 民主党の『大反省会』、反省どころか、言い訳や責任転嫁がほとんど★3
http://uni.2ch.net/test/read.cgi/newsplus/1368355843/
0854nobodyさん
2013/05/13(月) 13:12:37.61ID:Y6gDftln【PHPのバージョン】5.3
【連携ソフトウェア】
【質問内容】HTMLの入力フォームにURLを入力して、
予め保存してある複数のURLと重複していないか、
リンク切れではないかという判定をしたいのですが
うまくいきません。
まず重複の判定は、入力フォームからの文字列を$str、
予め保存してるURLを"urlist.txt"に保存してます。
if(!$fp=fopen("urllist.txt","r")){
return ERROR(1);
}else{
$urllist = file("urlist.txt");
foreach( $urllist as $url ){ //URLの重複チェック
if (mb_ereg( "$str","$url" )){
return ERROR(2);
break;
}
}
fclose($fp);
}
こんな感じで、普通のURLだと重複チェックできるのですが、
yutubeやニコニコ動画などのURLだとなぜか判別できません。
0855854
2013/05/13(月) 13:14:40.79ID:Y6gDftlnget_http_headerというのをつかってみたのですが
うまくできませんでした。
何か良い方法があれば教えてください。
よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています