【PHP】下らねぇ質問はID出して書き込みやがれ 123
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2012/09/25(火) 23:39:55.21ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
PHP】下らねぇ質問はID出して書き込みやがれ 122
http://kohada.2ch.net/test/read.cgi/php/1344963135/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
0874nobodyさん
2012/11/14(水) 15:44:04.85ID:???0875nobodyさん
2012/11/14(水) 17:18:39.07ID:???なるほど
0876nobodyさん
2012/11/14(水) 17:22:58.46ID:???0877nobodyさん
2012/11/14(水) 19:46:09.89ID:zP8rSMneこれさ、文字コードを適切に設定してれば問題なくね?
0878nobodyさん
2012/11/14(水) 21:25:11.35ID:???いまだにこういうレベルの低いノウハウがサイトに山盛り残ってるんだよな。
間違った対処法で誤魔化したりしてるから、一向に正しい知識がつかない上に、トラブルの元でしかない。
Incorrect string value のエラーを返してるのは mysql側 で \xEF\xBD\x9E が受け取れないって言ってる、
そのうえ、UTF8の他の字ならいいんだろ? DBの設定違い以外に無いじゃないか。
DBの設定をどうやって確認して、どうなってたのか見せてみ。
0879nobodyさん
2012/11/14(水) 21:51:21.15ID:JaYxwXt2下記コマンドを実行すると正常にcakePHP2.0 で定義したシェルが実行される状態です。
%php /home/myaccount/cake/app/Console/cake.php HogeMaster Hoge hikisu_hoge -app /home/myaccount/apps/hogehoge.com
このコマンド実行をcronにてさせようとしていますがやり方が分かりません。
http://memo.mkmin.com/cakephp/?p=13
このサイトを参考に次のシェルを作成し
/home/myaccount/apps/hogehoge.com/Vendor/cron_hoge.sh
< 中身 >
#! /bin/sh
/usr/local/bin/php /home/myaccount/cake/app/Console/cake.php HogeMasteer Hoge aaabbb -app /home/myaccount/apps/hogehoge.com
と定義したんですけど、どうやってこのシェルを実行したらよいのでしょうか?
TeraTerm上から
Vendorのパスまで移動し ./cron_hoge.sh をやろうとしたところPermission deniedのエラーメッセージが表示されてしまいます。
0880nobodyさん
2012/11/14(水) 22:20:55.34ID:???base64_encode(gzdeflate($bindata, 1))か
base64_encode(gzcompress($bindata, 1))
でテキストにして挿入しとけ。
データベース固有のエスケープ(エンコード)関数と比べ、サイズも速度も良い場合が多い。
0881879
2012/11/14(水) 23:14:29.21ID:JaYxwXt2楽勝でした。
0882nobodyさん
2012/11/15(木) 02:14:55.08ID:???<?php
define('repeat', 1000);
$urls=array(
'http://www.youtube.com/', 'http://www.yahoo.co.jp/', 'http://www.amazon.com/', 'http://jp.msn.com/',
'http://blog-imgs-43-origin.fc2.com/m/a/k/makamaka001/11050050044.jpg',
'http://blog-imgs-32.fc2.com/s/a/n/sannan6666/20080109091130.png',
'http://blog-imgs-19-origin.fc2.com/k/i/t/kitarock/obama.jpg');
$fncs = array('gzdeflate','gzcompress');
$tmp = array('time'=>0, 'size'=>0);
$cnt=array('gzdeflate'=>$tmp,'gzcompress'=>$tmp);
foreach($urls as $url) {
echo "downloading...$url\n";
$data = file_get_contents($url);
foreach($fncs as $fnc) {
echo "measuring in progress...$fnc\n";
timer();
for($n=0;$n<repeat;$n++) $cnt[$fnc]['size']+=strlen($fnc($data, 1));
$cnt[$fnc]['time']+=timer(); }
print_r($cnt); }
function timer() {
static $flg=0,$start=0;
if(!$flg) { $flg=1; $start = microtime(true); return; }
$t0=microtime(true); $t1=$t0-$start; $start=$t0;
return $t1; }
0883nobodyさん
2012/11/15(木) 09:09:15.92ID:???PHPでMySQLのデータを処理するにあたってですが、
一回のselectクエリで最大何件くらいのデータを取得するのがプログラム的に妥当ですか?
例えば5万件のデータがあるテーブルなら、100件とか1000件とかをLIMIT句で順々に取得した方が安全ですか?
0884nobodyさん
2012/11/15(木) 10:26:29.66ID:???0885nobodyさん
2012/11/15(木) 10:31:30.90ID:???そういうのは、自分のblogかなにかでやってください。
削除依頼メンドクサイです。
>>883
1件のデータ量と、マシンの能力と、それで何をするかによる。
そもそも、危険だと思ったのはなぜですか? どこかに書いてある?
0886nobodyさん
2012/11/15(木) 11:11:43.95ID:yORZGjm1これさ、後でデータを人間が探す時に苦労しねぇ?
0887nobodyさん
2012/11/15(木) 11:28:43.46ID:lInARbbJ5.3から導入されたネームスペースって
バックスラッシュ区切りですけど、
Perlみたいにコロン2つにできなかったんでしょうか?
何か構文的に問題があるんでしょうか?
0888nobodyさん
2012/11/15(木) 12:30:03.26ID:???0889nobodyさん
2012/11/15(木) 12:36:09.34ID:???0890nobodyさん
2012/11/15(木) 12:48:27.17ID:???https://wiki.php.net/rfc/namespaceseparator
0892nobodyさん
2012/11/15(木) 13:47:11.66ID:???コロン2つ区切りですけど、
xxxxみたいにバックスラッシュにできなかったんでしょうか?
何か構文的に問題があるんでしょうか?
という質問に変わるだけだw
0893nobodyさん
2012/11/15(木) 16:54:55.29ID:???1. requireはメインに戻ってする? ローダークラスなど作ってその中でrequire?
2. newはインスタンス内でする? メインでnewしてインスタンスに渡す?
こういった孫オブジェクト的なものの扱いがよくわかりません。どうかご教授ください。
0896nobodyさん
2012/11/16(金) 19:13:09.15ID:3ZAHI2sw外部ライブラリを使わずに地道にHTMLコード解析して文字列操作で
今取得していますが、こういったスクレイピング方法はやはり邪道なのでしょうか?
0897nobodyさん
2012/11/16(金) 21:23:01.15ID:???0898nobodyさん
2012/11/16(金) 23:14:10.21ID:???0899nobodyさん
2012/11/17(土) 11:02:06.99ID:???邪道も何もそこらにあるライブラリより優れてるものなら自分で作ればいい
有名なHTMLパーサでも一部のHTML解釈できなかったりするしね
それ以下のものしか使えないなら外部ライブラリに頼ってもいい、その程度
0900nobodyさん
2012/11/17(土) 11:54:05.69ID:???速度重視で正規表現で狙うか、
作ったものを再利用するか、
対象HTMLの構造はコロコロ変わるか、
とかいろいろある
0901nobodyさん
2012/11/17(土) 14:21:13.20ID:Q83xuEL3一々ページタイトルなどをmysqlから引き出すとかなりの負荷がかかってしまいます。
Wordpressなどはどのように記述しているのでしょうか?
0902nobodyさん
2012/11/17(土) 14:33:07.69ID:Q83xuEL3ページURL取得→mysqlに問い合わせ→データ表示
というようにやっていきたいのです。
0903nobodyさん
2012/11/17(土) 14:52:18.25ID:???どのように記述されてるかは、オープンソースだから見りゃ分かるでしょ
毎回DBアクセスするのがイヤならキャッシュ化すればいい
header部分だけ取得するくらいで負荷がどうとか言い出したら何も作れんぞ
0904nobodyさん
2012/11/17(土) 15:13:04.31ID:Q83xuEL3キャッシュ化はよくわからないので、毎回DBにアクセスすることにします。
0906nobodyさん
2012/11/17(土) 19:24:00.26ID:???ほんとphp厨ってマジキチしかいないのな。
だからphpユーザーじゃなくてphp厨って呼ばれるんだよ。
0907nobodyさん
2012/11/17(土) 19:42:48.32ID:???0908nobodyさん
2012/11/17(土) 22:35:25.46ID:nrePNH6L0909nobodyさん
2012/11/17(土) 23:49:38.04ID:nrePNH6Lhttp://sub.mannkodaisuki.com?word=manko
とアクセスすると
http://sub.mannkodaisuki.com/?word=manko
という風に「/」が「?」の前に挿入されてしまうんですけど
これって仕様なんでしょうか?
どうも気持ち悪いです。そもそもURLとして正しく無い気がしておりますが
実際のところW3Cの規約的にはどうなのでしょうか?
0910nobodyさん
2012/11/17(土) 23:58:40.45ID:???0911nobodyさん
2012/11/18(日) 00:09:44.88ID:fIpttR/Iという事は、
http://sub.mannkodaisuki.com/?word=manko
と自動で書き換えられるURLは別に不正では無いとい事でしょうか?
0912nobodyさん
2012/11/18(日) 00:27:43.82ID:???0913nobodyさん
2012/11/18(日) 00:28:48.96ID:???スラッシュが必要な理由がはっきり分かるはず
0914nobodyさん
2012/11/18(日) 00:31:12.82ID:???GET / HTTP/1.0
...
GET /?word=hoge HTTP/1.0
...
0916nobodyさん
2012/11/18(日) 02:46:57.91ID:???0918nobodyさん
2012/11/18(日) 03:38:51.97ID:???お前色々終わってるよww
0920nobodyさん
2012/11/18(日) 04:34:12.41ID:???今のブラウザはリクエスト前に勝手にスラッシュつけてくれてますね
昔はサーバーがリダイレクトしなかったらエラーになってたような記憶が
0921nobodyさん
2012/11/18(日) 06:33:10.02ID:???0922nobodyさん
2012/11/18(日) 07:42:11.16ID:???0923nobodyさん
2012/11/18(日) 17:45:02.18ID:???BCC=chg
TO=frank
AA=ggg
のように、キー=値が改行区切りでたくさん入っているテキストファイルがあり
それを、「CCの値は**で、BCCの値は**で、」のように、**の部分をphpで自動的に入力させたいのです。
キーは変更されませんが削除の可能性はあり、削除の場合は、「-」などと入力させたいです。
値は後々、変更を加える可能性があります。
0924923
2012/11/18(日) 17:45:28.77ID:b+JMfR6z0926923
2012/11/18(日) 17:50:30.45ID:b+JMfR6zどういう風に作れば良いのか、教えていただければ
PHPの基本的な構文はわかっているので、後は自分で作れると思います
0927nobodyさん
2012/11/18(日) 18:06:42.31ID:???添削してやる
0928nobodyさん
2012/11/18(日) 18:23:17.98ID:???http://toro.2ch.net/test/read.cgi/hp/1351174578/316
0929923
2012/11/18(日) 18:29:57.37ID:b+JMfR6z参考にしてやってみます!
0930nobodyさん
2012/11/18(日) 19:17:09.81ID:???phpでやれますか?
ってかどこで聞いたらいいですかね?
0931nobodyさん
2012/11/18(日) 19:24:07.22ID:???サーバーに攻撃ツールをインストールして
PHPからはコマンドで叩くくらいしないと…
PHP単体ならせいぜいF5アタックくらいしかできないと思います
0932nobodyさん
2012/11/18(日) 19:26:46.61ID:???メドアからサーバーを特定できるのですか?
迷惑メール対策に「なりすまし」とか言うのもあるので、
その辺の、本格的なことはさっぱり分かりません。
phpってサーバー側と聞いているので結構な攻撃ができるのではない
かと考えています。
0933nobodyさん
2012/11/18(日) 19:39:23.96ID:???メールサーバーのログみたら克明に向こうのIPアドレス載ってる
なりすまメールもIPまでなりすませないし
ただ大半は故意にスパムメール送ってるんじゃなくて
スパマーに不正中継されてるだけだったりするので
無条件に攻撃対象にはできない…
0936nobodyさん
2012/11/18(日) 20:37:16.88ID:???0938nobodyさん
2012/11/18(日) 23:48:47.51ID:???電子計算機損壊等業務妨害幇助
0939nobodyさん
2012/11/19(月) 10:48:02.73ID:???0940nobodyさん
2012/11/19(月) 14:32:26.15ID:???0941nobodyさん
2012/11/19(月) 17:45:44.38ID:???色々な飲食店の店員さんが自分で自分の店の情報を修正できる飲食店情報を作っております。
PHPとMYSQLを使った、ログイン認証システムを作りたいのですが、行き詰っております。
どこかのサイトや、おススメの本などで、ソースコード(できれば猿でもわかる解説も)が載っているところはないでしょうか?
教えていただけると助かります。よろしくお願いいたします。
0942nobodyさん
2012/11/19(月) 17:51:08.60ID:BtGSfFeyそのレベルなら外注した方が良いと思うけど、PHP基礎から勉強したいっていうんなら
http://www.flzphp.com/
俺は最初このサイト見て始めたよ
0943nobodyさん
2012/11/19(月) 18:15:02.02ID:???0944nobodyさん
2012/11/19(月) 18:37:35.68ID:???0945nobodyさん
2012/11/19(月) 18:39:05.99ID:BtGSfFey他の部分が問題だと思うわ
0946nobodyさん
2012/11/19(月) 19:07:55.52ID:HivB7EyV0947nobodyさん
2012/11/19(月) 19:21:41.70ID:rwL97+Id0948nobodyさん
2012/11/19(月) 19:22:35.72ID:???初心者が自分で作るより遥かに信頼性がある
ソースも見れるしここで聞く話じゃないな
0949nobodyさん
2012/11/19(月) 20:19:48.16ID:???また、1行読み込んだら2行目が返されるの?
0951nobodyさん
2012/11/20(火) 15:11:23.22ID:???0952923
2012/11/20(火) 15:24:07.52ID:???ある程度、xampp上で動作確認が取れた所でレンタルサーバーにファイルをアップロードしてみたのですが上手く動いてくれません。
http://iki.snapmix.jp/
レンタルサーバーでは、このように、表が1行しか作成されません
http://gyazo.com/4c224f7087159a31e7b1669b04ce5b4e
本来はこのようになるはずです
試行錯誤してみた結果、
foreach($data_array as $k => $v){
echo $k;
echo $v;
}
この部分がうまく動いていないようです。
どのようにすればレンタルサーバー上でもきちんと動くようになるのでしょうか。
ソースコードは以下URLのものです。
http://iki.snapmix.jp/source.txt
0954923
2012/11/20(火) 15:58:57.55ID:Uya9dRFtテスト環境の方が5.38で、サーバー側が5.2.13でした。
バージョンの違いによるものなのでしょうか・・・。
0955nobodyさん
2012/11/20(火) 16:04:10.33ID:???0956923
2012/11/20(火) 16:15:38.41ID:Uya9dRFt再現してみます
0957923
2012/11/20(火) 16:34:36.20ID:Uya9dRFt最小の構成でいくとこんなかんじです。
<hr>より上が実行結果で、下がソースコードです。
echo $lines[1] が BBS_TITLE=私のニュース速報@2ch掲示板
echo $kが空白
echo $vがArrayになります
localhostで実行した時は、$kにBBS_TITLEが入っているので、2行目は空白ではなく、BBS_TITLEになります
0958923
2012/11/20(火) 16:40:54.08ID:Uya9dRFt$vは私のニュース速報@2ch掲示板です
連想配列のキーをforeachで抜き出せないみたいなんです。
0959nobodyさん
2012/11/20(火) 16:59:57.99ID:???0960923
2012/11/20(火) 17:01:21.99ID:Uya9dRFtecho $lines[1]が正常に動作してるので、そこまではいけてると思います
わざわざ外部から拾ってこなくても、直接文字列入れても良かったですね・・・
なおします
0961923
2012/11/20(火) 17:10:17.21ID:Uya9dRFtforeachも関係なかったみたいです・・。
$keyに値が入ってませんね・・・。
0962nobodyさん
2012/11/20(火) 17:21:39.37ID:???0963923
2012/11/20(火) 17:23:17.03ID:Uya9dRFtすみません、コピペした後phpの方しか修正してませんでした。
ソースの方はちゃんと$linesになっています。
0964nobodyさん
2012/11/20(火) 17:23:46.06ID:???ファイルポインタを取得して何処でも使ってないw
$lines = file($url); の後に var_dump($lines) を追加して中身みてみないとなー
0965nobodyさん
2012/11/20(火) 17:26:48.19ID:???アルファベットだけでやってみて
0966923
2012/11/20(火) 17:27:05.18ID:Uya9dRFtあ、、ホントだ。
fopenは入りませんでしたね・・・。解説サイトのものをコピペ、改変して使ってたので気付きませんでした。
file読み込み関連ではないようです。
今、>>961のURLのソースまでエラーの範囲が狭まっていて、$keyに値が何故入らないのかわからない状況です
0967923
2012/11/20(火) 17:29:14.76ID:Uya9dRFt多分、strstrが原因だと思いますが、$valの方には入って、$keyの方に入らないのはどうしてなのでしょうか
0968nobodyさん
2012/11/20(火) 17:30:41.78ID:???0969nobodyさん
2012/11/20(火) 17:34:01.97ID:???0970923
2012/11/20(火) 17:36:51.81ID:Uya9dRFtダメでした。
http://iki.snapmix.jp/iniget/
$b = strstr("abcd=efgh",'=',true);でも通らないので、strstrの第三引数をtrueにすると、ダメなようです。
0971nobodyさん
2012/11/20(火) 17:45:45.77ID:???explode か preg_split でどうか。
0972nobodyさん
2012/11/20(火) 17:46:04.34ID:???echo $a;."<br>"; $a;. となっている部分
0973nobodyさん
2012/11/20(火) 17:49:05.03ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。