【PHP】下らねぇ質問はID出して書き込みやがれ 113
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/11/29(火) 19:55:27.17ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 112
http://hibari.2ch.net/test/read.cgi/php/1320005469/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0408nobodyさん
2011/12/14(水) 21:42:57.79ID:???0409345
2011/12/14(水) 21:47:23.87ID:QUjeWNXAFatal error: Maximum execution time of 30 seconds exceeded in
すみません、phpのループの設定だった。
0410345
2011/12/14(水) 21:48:32.82ID:QUjeWNXAこれみたい。
0411nobodyさん
2011/12/14(水) 22:06:44.80ID:Ur9qSeounumber_of_comments だとちょっと長いかな
0412nobodyさん
2011/12/14(水) 23:47:05.88ID:???$comment_count かなあ
$comments でもいい気がしたけど、これだとコメントが詰まった配列みたいだし
よく使う変数なら短くしたい $come_count とかさ
意識はしてないけど、「$変数の対象_変数の用途や型」って書き方してる
まあ、数えるものが限定されているなら $count でもいいかな
0413nobodyさん
2011/12/15(木) 00:50:50.57ID:???http://toro.2ch.net/test/read.cgi/tech/1311942721/
0415345
2011/12/15(木) 02:24:51.02ID:nOE9twusどうもです。 あれはphpのループの設定で解決しました。
つか、文字列から↓の記号を排除する関数、ってどこかにないでしょうか?
↓の記号が出てきたら、空白に置き換えるでも、削除するだけでも、どんなんでもかまいません。
Windowsのファイル名に使えない文字。
\/:*?"<>|
0416nobodyさん
2011/12/15(木) 02:37:01.83ID:???0417345
2011/12/15(木) 02:51:10.82ID:nOE9twusおー、どうもありがとうございます。
0418345
2011/12/15(木) 06:29:31.80ID:nOE9twusってことは、PHPで検索エンジンを作ろうとした場合、DOMを使うといい、ってことなのでしょうか?
0419345
2011/12/15(木) 06:33:42.81ID:nOE9twusと書くと、
Deprecated: Function ereg_replace() is deprecated in C:\xampp\htdocs〜〜
が出るのですが、正しくはどうすべきでしょうか?
0420345
2011/12/15(木) 07:13:00.67ID:nOE9twus動かないと絶望のどん底に落ち込むから、トータルでは健康に悪いんじゃないですかね?w
0421345
2011/12/15(木) 07:16:20.70ID:nOE9twushtml、css、php、ジャバスクリプトをマスターしなければならないんだけど、
こんなの1人だけでやってる人いるんですかね?
0422nobodyさん
2011/12/15(木) 07:37:15.25ID:???0423nobodyさん
2011/12/15(木) 07:39:28.13ID:???君だけのスレじゃないから
0424nobodyさん
2011/12/15(木) 08:28:16.45ID:???PHPプログラマ〜のお姉さんだよぉ〜
今日はどんな質問が残ってるのかな?
0425nobodyさん
2011/12/15(木) 12:46:01.86ID:Ddg6IIc70427nobodyさん
2011/12/15(木) 16:19:29.00ID:uDMRC9viさらにいうなら
html
css
php
Java script
action script
sql
perl
apache
smarty
覚えることが多すぎるのがWEB
0428nobodyさん
2011/12/15(木) 16:33:58.87ID:???0429nobodyさん
2011/12/15(木) 16:40:26.23ID:BuhzkLXW0430nobodyさん
2011/12/15(木) 16:55:14.47ID:IwZ5fbUN<?php
echo "<input type='submit' name='del[9294]' value='削除'>";
echo "</form>";
echo "<br>";
if($_POST){
echo "<pre>";
print_r($_POST);
echo "</pre>";
echo "<br>";
echo $_POST['del[9294]'];
}
?>
出力結果
Array
(
[del] => Array
(
[9294] => 削除
)
)
Notice: Undefined index: del[9294]
$_POST['del[9294]']で取り出すのかと思ってたら多次元配列になるとか聞いてないよー
0431nobodyさん
2011/12/15(木) 17:01:15.77ID:???0432nobodyさん
2011/12/15(木) 17:05:38.43ID:???○チェックボックス
0433nobodyさん
2011/12/15(木) 17:14:02.71ID:???用途次第で、buttonもcheckboxもradioもhiddenもありうるだろう。
取得値が多次元配列になるのは同じ。
0434nobodyさん
2011/12/15(木) 18:10:55.11ID:???0435nobodyさん
2011/12/15(木) 18:18:27.02ID:8PBzw4Kx0436nobodyさん
2011/12/15(木) 18:39:23.54ID:???print json_decode("\"$str\"");
utf8以外ならその後変換して
0437nobodyさん
2011/12/15(木) 19:56:58.41ID:3eA/ytGy今、webアプリで3つのSNSのapiに文章をポストする仕組みを作ってるんですが
フォームの送信ボタンを押した後、apiへのアクセスと投稿部分は時間がかかるため
exec()でバックグラウンド処理させました。が、それでも時間がかかりすぎる気がします
時間の捕捉方法は以下の通りです
$session->starttime = date("Y-m-d H:m:s");
funcImageUpload(~~~);//写真アップロード
funcQuery(~~~);//DBクエリ
exec(~~~);//apiへの投稿
$session->endtime = date("Y-m-d H:m:s");
この状況で処理時間が
○テキストのみ投稿
・exec();をコメントアウト:1秒
・exec();を実行:3秒
○テキストと写真を投稿
・exec();をコメントアウト:3秒
・exec();を実行:9秒
いくら3つもapiにアクセスしてるからって3秒とか9秒は時間かかり過ぎじゃないでしょうか?
バックグラウンド処理=一瞬で済むものだと思ってたのですが違うんでしょうか
exec();自体初めて利用した処理なのでおかしい点があるとしてもわかりません
初心者にありがちな穴などあるんでしょうか?
または、高速化する方法を教えてもらえると嬉しいです
すみませんがアドバイスお願いします
0438nobodyさん
2011/12/15(木) 20:07:17.22ID:???標準出力を nullかなんかにリダイレクトして & つけてる?
windows だったら execじゃダメ
0439nobodyさん
2011/12/15(木) 20:09:19.52ID:TSU9Et/j以下のように宣言した変数をさらにクラスメンバの宣言(?)で使いたいのですが、
'bar' => $piyo の部分がエラーになります。
class Hoge {
public $piyo = 'piyo';
public $foo = array(
'bar' => $piyo
// 'bar' => $this->piyo これもダメです。
}
}
上記のように値を使い回したい場合どうすればいいでしょうか?
0442nobodyさん
2011/12/15(木) 21:12:38.85ID:3eA/ytGyありがとうございます
exec("/usr/bin/php {$execFile} {$params_exec} {$twitter_userToken} {$twitter_userTokenSecret} >/dev/null 2>&1");
{$execFile} 実行ファイル
{$twitter_userToken} パラメータ1
{$twitter_userTokenSecret} パラメータ2
という感じです
間違ってるんでしょうか?
>>441
すみません、恥ずかしいんですがノンブロックとはなんでしょう?
apiへの処理の成功の可否は、エラーコードをDBに登録するようにしてあります
0443nobodyさん
2011/12/15(木) 21:14:07.20ID:8PBzw4Kx↑このプロパティを { } で囲むのはどんな意味があるんですか?この記法に名前はありますか?
0444nobodyさん
2011/12/15(木) 21:14:34.92ID:8PBzw4Kxありがとうございます!
0445nobodyさん
2011/12/15(木) 21:30:57.86ID:???>>438のいうとおり、&がついてないからだね。
ノンブロック(ノンブロッキング)ってのは、
何かの処理を行ったとき、その処理によってメインの処理がブロックされる/されない の意味で使われるよ。
同期/非同期みたいな。
0446nobodyさん
2011/12/15(木) 21:44:25.15ID:???>/dev/null 2>&1"); を > /dev/null &"); に変更したら上手くいきました!
ノンブロックって言葉も勉強になりました、ありがとうございました
0447nobodyさん
2011/12/15(木) 22:03:39.25ID:QbiaPFTgmember/register?codeのregisterってなんですか?
フォルダではないようなのですが
0449nobodyさん
2011/12/15(木) 22:18:40.03ID:???ファイルだろうな
それ以外の可能性もあるけど、PHP と関係ないな
>>448
俺も思ったけど、話が PHP から逸れるからさ
>>446 は、標準エラー捨てるなら >/dev/null 2>&1 & と書きな
0450447
2011/12/15(木) 22:25:59.73ID:QbiaPFTgすみません。apacheのrewriteruleの設定によるものでした。
おっしゃるとおりPHPに関係ないです
0451446
2011/12/15(木) 23:22:53.45ID:???標準エラーってのは実行したスクリプトがエラー起こした時のエラーの返り値ですよね?
いらないから >/dev/null 2>&1 & が正しいわけですね
ちょっとまだよくわかってないことが多いみたいです、も少し勉強してみます。ありがとうございました
0452nobodyさん
2011/12/16(金) 00:10:18.82ID:6sQrAgQt5
1
<?php
$file = fopen("./settei.txt","r");
if ($file)
{
while (!feof($file))
{ $strBuf = fgets($file,1024);
$i++;
if ($i == 1){ $a = $strBuf / 100; }
else
{ $b = $strBuf; }
}
fclose($file);
}
else
{ die("open-err"); }
echo $a."<br>".$b;
?>
出力結果0.05
$bが表示されません。なぜでしょうか。教えてください
0454nobodyさん
2011/12/16(金) 01:15:32.83ID:6sQrAgQt>>452をコピペしたけど0.05は表示されるけど<br>も出力されてる。「1」は表示されません。
PHP Version 5.2.6-1
「1」はtrueと解釈されてるとか
0457452
2011/12/16(金) 01:29:04.38ID:6sQrAgQt作らなかったのに上書き保存するとemacsのカーソルが3行目に移動できるようになってしまいます。
3行目ができた?ということなのかな?
0459452
2011/12/16(金) 01:53:56.17ID:6sQrAgQt上書きでsettei.txtの3行目が出現したとすると$iが3になってsettei.txtの3行目の空文字?で
$bが代入されるので表示されないと思う。
ので、この書き方はせず、行を1行ずず読み込んで配列にして配列のキー0は$aに、キー1は$bにと
したほうがいいとおもいました。
0461452
2011/12/16(金) 02:12:35.46ID:6sQrAgQt0462nobodyさん
2011/12/16(金) 02:43:47.71ID:???0464nobodyさん
2011/12/16(金) 03:25:19.33ID:???0465nobodyさん
2011/12/16(金) 05:01:14.15ID:???他は言語で、一個だけテンプレートエンジンって
0466nobodyさん
2011/12/16(金) 06:18:27.22ID:???html css sqlあたりはプログラム言語ではないわけだが
ただ知ってる単語を列挙しただけって見ればわかるでしょう
0467nobodyさん
2011/12/16(金) 06:19:51.42ID:???0468nobodyさん
2011/12/16(金) 06:21:19.23ID:???理由は、UTF-8でないと認識されると検索がストップする、文頭、文末の認識が確実でない。
UTF-8の文書であってもu(UTF-8)を付けずにバイナリデータとして検索はできる。
0469nobodyさん
2011/12/16(金) 06:40:16.01ID:???0470nobodyさん
2011/12/16(金) 07:08:39.26ID:8Mabj+H2個数は数万個〜数十万個とかです。
バイナリデータとしてディスクに格納されているケースもあります。
0473nobodyさん
2011/12/16(金) 15:34:29.21ID:???0474nobodyさん
2011/12/16(金) 17:46:35.62ID:???0476nobodyさん
2011/12/16(金) 19:04:57.86ID:???ユーザー同士のメッセージのやり取りを
最新20件くらい表示するだけで、保存先はファイルにしようかなと考えています。
DBだとレコード数がすごくなりそうなんで、ユーザーが増えたら読み込みが大変になるかなと。
で、ログ解析やバックアップ用にDBにも入れようかなと。
Cache_Liteを使って、ファイルとして利用しようかなと思っているのですが
このやり方以外にいい方法ってありますか?
よろしくです
0477476
2011/12/16(金) 19:06:17.04ID:h9+fuNNV0478nobodyさん
2011/12/16(金) 19:30:20.93ID:???0479476
2011/12/16(金) 19:48:10.33ID:h9+fuNNV0480nobodyさん
2011/12/16(金) 19:59:45.62ID:jjdr3xuV日付/ID/レベル1のGZファイル
0481nobodyさん
2011/12/16(金) 20:05:50.06ID:jjdr3xuVデータベース使うと照合やロックに手間・負荷が掛かる。
一ファイルごとなら他のファイルまでアクセス待ちなど起こらない。
0482nobodyさん
2011/12/16(金) 20:24:26.80ID:???それしないなら、まあ良いんじゃね?
0483476
2011/12/16(金) 20:56:25.74ID:h9+fuNNVメッセージ書き込みと同時に、ファイルとDBと両方に入れようかなと思ってます。
AからBへのメッセージ書き込みがあった場合
→Aの送信ファイルへ書き込み
→Bの受信ファイルへ書き込み
→DBへINSERT(ファイルが壊れた時のバックアップ用)
なので基本、メッセージの読み込みはファイルのみです。
ファイルへの書き込み時に、Cache_Liteを使おうかなという感じでした。
ま、ただ単にいろいろ機能があって、楽かなと思ったので。
>>480
>日付/ID/レベル1のGZファイル
こんな感じのディレクトリ構造は、Cache_LiteでもOptionで実装できるんで
2階層くらいにしようかなと思ってます。
fileを作成・更新を普通に作ったほうがいいですか?
0484nobodyさん
2011/12/16(金) 20:57:13.63ID:???0485nobodyさん
2011/12/16(金) 21:04:07.31ID:???みたいな感じで出力したほうが管理楽そう
0487nobodyさん
2011/12/16(金) 21:19:00.96ID:???テスターはVIPの有志にやってもらう
0488nobodyさん
2011/12/16(金) 21:20:35.61ID:iBDY3MbI$sql = "grant all privileges on test_db.* to test_user@'localhost' identified by 'test_pass'";
$ret = mysql_db_query("localhost",$sql);
こんな感じにしてみたけど
Unknown database 'localhost'
ってエラーになってしまう。
0490nobodyさん
2011/12/16(金) 21:44:16.48ID:???検索したり検索結果をソートしたりするにはDBはいいけど。
たとえば動画や画像はデータベースに入れないだろ。
なんでもDBにいれればいいわけではない。
0491nobodyさん
2011/12/16(金) 21:51:10.07ID:???テーブルロックするわけじゃあるまいし。
ファイルアクセスならアクセス待ちが起こらないってのもへんな話。
まぁ、会員が数万人なら、長い目で見ても10億件くらいでテストすればいいんじゃないか?
んで、DBとファイルとどっちがよいかを検討すればよい。
俺ならDB
0493nobodyさん
2011/12/16(金) 22:12:34.91ID:???ファイルへのパスやURLだけ追加しとけば十分。
0494nobodyさん
2011/12/16(金) 22:16:17.15ID:iBDY3MbIそういうことか。
$ret = mysql_db_query("localhost",$sql);
↓
$ret = mysql_db_query("mysql",$sql);
で出来ました。
マジ感謝です。
0495476
2011/12/16(金) 22:21:39.60ID:h9+fuNNVありがとうございました。
0496nobodyさん
2011/12/17(土) 00:29:21.58ID:???0497nobodyさん
2011/12/17(土) 01:25:40.44ID:bKvSYMrD文末から逆順で正規表現の検索はできますか?
0498nobodyさん
2011/12/17(土) 01:40:44.00ID:???正規表現 Part9
http://hibari.2ch.net/test/read.cgi/tech/1323566370/
0499nobodyさん
2011/12/17(土) 06:03:16.70ID:???preg_matchだとstrlen-N〜strlenになる。
0500nobodyさん
2011/12/17(土) 14:32:17.37ID:???0501nobodyさん
2011/12/17(土) 15:56:48.17ID:???【MySQL】下らねぇ質問はID出して書き込みやがれ 2
http://toro.2ch.net/test/read.cgi/db/1322402682/
0502nobodyさん
2011/12/17(土) 16:11:17.20ID:bPlXPOXmつまり、以下を1つの関数で行えますか?(キーは保持しなくてよいです)
$arr_c = array_merge( $arr_a, $arr_b );
$arr_c = array_unique( $arr_c );
0503nobodyさん
2011/12/17(土) 16:30:23.23ID:???0504nobodyさん
2011/12/17(土) 16:49:55.12ID:bPlXPOXm10万くらいの配列が元で、1万ぐらいの配列からarray_diffしたら止まりました。
そもそも無茶だったかな?
0505nobodyさん
2011/12/17(土) 16:54:38.98ID:sPFPpSkQ他にクライアントIPを取得する方法はありますか?
■ このスレッドは過去ログ倉庫に格納されています