【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等)・フレームワークは各該当スレへ
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を取得する方法はありますか?
0508nobodyさん
2011/12/17(土) 17:23:45.16ID:sPFPpSkQSSLとphpはcoreserver (xrea)に設置してます
検索したところサーバーのIPになるのは正常みたいですが・・
0509nobodyさん
2011/12/17(土) 19:36:32.56ID:A5TEnh+5"Undefined index: log4php.threshold"とでます
0510nobodyさん
2011/12/17(土) 20:48:58.19ID:???0511nobodyさん
2011/12/17(土) 21:58:06.60ID:???"Undefined index: log4php.threshold"と出るんですね?
0513nobodyさん
2011/12/17(土) 23:50:37.11ID:D3Nl9AMj0514nobodyさん
2011/12/18(日) 01:39:49.23ID:???それ書かなきゃ分かんないよ。
0515nobodyさん
2011/12/18(日) 04:48:11.98ID:???log4phpで
"Undefined index: log4php.threshold"とでます
原因と解決方法を聞いているのですが。
0517505
2011/12/18(日) 05:09:47.88ID:KlBUbzzu0518nobodyさん
2011/12/18(日) 06:27:11.95ID:r5XCNL9Mアイデアありがとうございます!
つまり、キーと値を入れ替えるといったことでしょうか?
0519nobodyさん
2011/12/18(日) 08:55:46.14ID:TZzNKfzxとforeachの中で変数に$allの中身を展開していて、
中身のほとんどはひとつの変数にひとつのデータが入ってるんですが、
ひとつだけ$item->categoryは中身が配列なんです
こういう場合、
$category = $item->category;
では配列の先頭のひとつしか取り出せないのですが、
うまいことやり方はないでしょうか
【PHPのバージョン】5.3
0520nobodyさん
2011/12/18(日) 09:30:46.68ID:???foreach ($all->page->item as $item) {
if (is_array($item)){
foreach ($item as $valeu) {
$echo $valeu;
}
}
}
次に「動けこのポンコツマシン」と叫びながらenterキーを押します
0521nobodyさん
2011/12/18(日) 10:03:02.25ID:3BlI9Ok7【PHPのバージョン】5.2.0
【質問内容】
サイトを参考にしながらtwitterのbotを作っているのですが、
Notice: Trying to get property of non-object
というエラーが出て困っています。
該当箇所は
$timeline = $Bot->Get_TL("home_timeline",$since_id,50);
で、Get_TL関数は
function Get_TL($type,$sid = null,$count = 30){
$opt = array();
$opt['count'] = $count;
if($sid){$opt['since_id'] = $sid;}
$req = $this->Request("statuses/".$type.".json","GET",$opt); // JSON形式の方がちょっと扱いやすい
if($req){
if($req->Code != "200"){die("Error: ".$req->Code);}
$result = str_replace(":NULL,",':"NULL",',$req->Body);
} else {die('Get_TL(): $req is NULL');}
$result = json_decode($result);
if($result->error){die($result->error);}
return array_reverse($result);
}
こんなかんじです。
エラー内容を調べたところNULLの扱いが良くないみたいなんですが、どういうふうに直せばいいか検討が付きません
ご教授願います
0522nobodyさん
2011/12/18(日) 10:07:55.46ID:TZzNKfzxできました
ありがとうございます
0523nobodyさん
2011/12/18(日) 10:42:16.96ID:???echo "ガッ";
>>522
スクリプトがちゃんと動いたら 「よーし いい子だ」 のセリフも忘れないようにしましょう
0525nobodyさん
2011/12/18(日) 11:58:40.87ID:3BlI9Ok7巧妙なぬるぽしてましたか私…\(^o^)/
>>524
えーっと、
class Twitter_Bot{}
の中に先ほどのGet_TL関数がはいっていて、
$Bot = new Twitter_Bot($user,$consumer_key,$consumer_secret,$oauth_token,$oauth_token_secret);
と宣言してるんですが、これではダメでしょうか…?
というかこういうことじゃなかったらすいません
0526nobodyさん
2011/12/18(日) 12:00:59.32ID:3BlI9Ok7すいません追記です。
function Twitter_Bot($usr,$consumer_key,$consumer_secret,$oauth_token,$oauth_token_secret){
$this->user = $usr;
$this->TO = new TwitterOAuth($consumer_key,$consumer_secret,$oauth_token,$oauth_token_secret);
$this->times = array_sum(explode(" ",microtime()));
}
もいれてます。
0528nobodyさん
2011/12/18(日) 12:17:36.17ID:???http://www.city.hitachi.ibaraki.jp/viewer/list-notice.html
コメントの入ってない古代兵器のリプレイスはイヤでござる
0529nobodyさん
2011/12/18(日) 12:32:55.35ID:3BlI9Ok7かなり長いのでちょっと無理です…。
もっと勉強して出直します
>>528
日立市になにが起きてるんでしょうか…
0530nobodyさん
2011/12/18(日) 12:41:02.98ID:???職員がきっと作ったんだな
0531nobodyさん
2011/12/18(日) 13:01:28.97ID:???↓
phpがバージョンアップとかセキュリティホール発見とか
↓
フレームワークの開発者が行方不明で対応しない OR
WEB屋が行方不明で対応できない
↓
他のWEB屋に発注
↓
なんとか動いてる状態
ネットバブルの遺産であり 仕事のタネ
0533nobodyさん
2011/12/18(日) 21:02:41.90ID:WFHhC1hOcURL等にてFlashコンテンツ(動画とか音声とか)を取得したいと思うのですが、可能なのでしょうか?
対象のHTMLソースを確認してもアドレスなど指定方法が分かりません
画像なんかのように簡単にはいかないと思いますが、どのようにすればいいのでしょうか?
0534nobodyさん
2011/12/18(日) 21:05:38.00ID:???0535nobodyさん
2011/12/18(日) 21:06:20.40ID:???0536nobodyさん
2011/12/18(日) 21:15:53.47ID:WFHhC1hOhttp://www.cbsnews.com/
は普通に
http://www.cbsnews.com/common/includes/CBSNews_v2_Remote.swf
のように書いているので取得できそうですが(今プログラミング出来る環境にいないので試せないのですが)、
http://www.nhk.or.jp/gogaku/english/business2/index.html
これなんかはサッパリ解決法が分かりません
どのような指定をすればいいんでしょうか?
ただ単にcURLにてこのページを全部取得するだけではFlashコンテンツは取得できないと思うのですが
0537nobodyさん
2011/12/18(日) 21:34:30.67ID:???0538nobodyさん
2011/12/18(日) 21:50:09.44ID:???プログラムとも関係ない
取得手順の自動化部分だけなら関係ある
■ このスレッドは過去ログ倉庫に格納されています