【PHP】下らねぇ質問はID出して書き込みやがれ 101
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/11/15(月) 13:00:07ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 100
http://hibari.2ch.net/test/read.cgi/php/1288168893/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0159nobodyさん
2010/11/21(日) 01:38:41ID:???xamppの構成要素の一つとしてPHPがあるだけで
メールサーバの動かし方とか設定の仕方をPHPスレで聞くのは全くもってスレ違い
まずPHPを経由せずにメールを送れるようになってから質問することをお勧めする
0163nobodyさん
2010/11/21(日) 03:23:19ID:???xamp(というよりwindows自体)は設定とか訳が分からなくてやる気が失せた
windowsはサーバー用途に向いてないね。
0164nobodyさん
2010/11/21(日) 03:27:31ID:???0165nobodyさん
2010/11/21(日) 03:37:00ID:???0166nobodyさん
2010/11/21(日) 05:41:53ID:9VXuUNTgどこが信用できそうですかね。
何箇所かあるのですが、利用規約で当社の都合で止めることがあるって
所が多いもんで。
それと、JavaScriptでローカルからリクエストするのと
Ajaxでサーバからリクエストするのとどっちがいいんでしょう。
0167nobodyさん
2010/11/21(日) 07:02:59ID:???http://www.kawa.net/works/ajax/ajaxzip2/ajaxzip2.html
これならフリーで自前で完結する。データは自分で要更新。(宣伝じゃないよ)
> それと、JavaScriptでローカルからリクエストするのと
> Ajaxでサーバからリクエストするのとどっちがいいんでしょう。
あのぉ・・・ AjaxってJavascriptを利用した技術?なんですが・・・
Ajaxもクライアントがサーバーにリクエストする基本は同じ。
0168nobodyさん
2010/11/21(日) 07:09:19ID:???大抵のサービスは日本郵政でDLできるKEN_ALL.CSV使ってるだけだから自分で作ったら?
フォーマットちょっとクセがあるからしょぼいサービスだと060-0000とか604-0971とかで検索すると結果が変になる。
月1回、差し替えする作業をしたくないという意味だったら
日本郵政からzipをDLして設置するスクリプトを動かすとか。
後半は「外部API叩く時、Javascriptから直接か、ProxyにPHPを挟むか」ってことだね?
IPアドレス単位でリクエスト数制限掛かってる場合はできるだけ直接で実装、
APIの返却結果が信用ならないとか、クロスドメイン関係で何か問題出る時は
仕方ないのでProxy挟むか…という感じ。
ここまで書いたからもう投稿するけど、どこにPHPの要素がw
0170nobodyさん
2010/11/21(日) 09:25:00ID:???つまりしょぼくないって事さ!
0171nobodyさん
2010/11/21(日) 11:30:23ID:???0172nobodyさん
2010/11/21(日) 11:33:09ID:???Ruby 1995年
Perl 1987年
0173nobodyさん
2010/11/21(日) 11:34:43ID:???むしろ最近新しいスクリプト言語出てないんだな
0174nobodyさん
2010/11/21(日) 11:51:05ID:???Groovyとか2003年だよ
まぁJAVAって言っちゃえばあれだけどさ
0175nobodyさん
2010/11/21(日) 11:54:52ID:???0176nobodyさん
2010/11/21(日) 12:08:06ID:???PHPは3が出た98年くらいにはかなり一般層まで流行ってたじゃん
0177nobodyさん
2010/11/21(日) 12:57:10ID:x8KxVX64データベース絡みですが、SQL 構文自体ではなく php 側の設定の問題だと思うのでここでお願いします。
PDO を通して SQLite3 を使っています。
初期設定をし、以下の方法で SQLite3 のデータベースを表示できました。
$dbh = new PDO('sqlite:test.sqlite3');
$sql = 'SELECT * FROM test;';
$res = $dbh->query($sql);
$row = $res->fetch(PDO::FETCH_ASSOC);
...
ところが、以下の方法だとエラーが出てしまいます。
$dbh = new PDO('sqlite:test.sqlite3');
$sql = 'SELECT * FROM test;';
$sth = $dbh->prepare($sql);
$res = $sth->execute();
$row = $res->fetch(PDO::FETCH_ASSOC);
...
Fatal error: Call to a member function fetch() on a non-object in 〜.php on line 58
(つづく)
0178177
2010/11/21(日) 12:57:35ID:x8KxVX64このエラー自体は検索すると多くでてきたのですが、大概は SQL 構文が間違ってると言われます。
ただ、query が上手く通ってるので、SQL 構文に間違いはないと思います。
execute の結果を var_dump してみたところ、bool(true) と出ます。
確かにオブジェクトではないのでエラーが出るのは分かるのですが、
マニュアルによると execute は、SQLite3Result オブジェクトもしくは FALSE を返すとあるので、
true が返ってきている原因が分かりません…。
環境は以下の通りです。
Windows XP
Apache 2.2 (httpd-2.2.17-win32-x86-no_ssl.msi)
PHP 5.2.14 (php-5.2.14-win32-installer.msi)
PupSqlite (pupsqlite_ver_1991.zip)
長くなってしまいましたがよろしくお願いします。
0179nobodyさん
2010/11/21(日) 13:12:59ID:???http://www.php.net/manual/ja/pdostatement.execute.php
0180nobodyさん
2010/11/21(日) 13:14:33ID:???http://www.revulo.com/blog/20060522.html
0181177
2010/11/21(日) 13:26:08ID:???http://www.php.net/manual/ja/sqlite3stmt.execute.php
間違えて↑を見ていたようです。>>179 さんのリンクで全て解決しました。
>>180 さんと合わせて、本当にありがとうございました!
0182nobodyさん
2010/11/21(日) 13:56:31ID:???0183nobodyさん
2010/11/21(日) 14:08:20ID:???0184nobodyさん
2010/11/21(日) 16:03:58ID:???0185nobodyさん
2010/11/21(日) 16:08:53ID:???0186nobodyさん
2010/11/21(日) 16:12:48ID:???SQLiteの方が移植性高くて楽
PHP5以降だとPHPあれば動くしな
どこかに移すのもSQLiteのファイルをもってくだけ
これほど楽なものはない
0187nobodyさん
2010/11/21(日) 16:14:05ID:???0188nobodyさん
2010/11/21(日) 16:20:08ID:???権限周りの設定云々も必要になってくる
文字コードの設定もね
本や配布スクリプトの場合
そういった環境依存になる部分がSQLiteの方が少なくなる
だからSQLiteの方が多くなるのは必然と言える
0189nobodyさん
2010/11/21(日) 16:23:13ID:???どこがだよw
0190nobodyさん
2010/11/21(日) 16:26:13ID:???0191nobodyさん
2010/11/21(日) 16:28:01ID:???0192nobodyさん
2010/11/21(日) 16:30:44ID:???0194nobodyさん
2010/11/21(日) 16:34:35ID:???0195nobodyさん
2010/11/21(日) 16:35:29ID:xEOrsG3N0197nobodyさん
2010/11/21(日) 16:53:03ID:???答えられないんじゃねぇかw
ともかく別にMySQL好きなわけでもないけどそれでもSQLiteが多いはねーわ。
シェアも機能も、やっぱりオマケ程度のDBだよ。
0198nobodyさん
2010/11/21(日) 16:54:27ID:???0199nobodyさん
2010/11/21(日) 16:57:31ID:???このスレでは今後も不毛なレスが続く
0200nobodyさん
2010/11/21(日) 16:59:23ID:???そして前提として本や配布スクリプトとも書いてる
そこにMySQLとSQLiteの比較をするのは馬鹿としか言いようがない
シェアとしては利用できる規模等も考慮すれば
MySQLの方が多いのは当たり前
因みにchromeやfirefoxでもsqliteが使われてるわけだが
これらをシェアとして考えれば多いとも言えるな
利用ケースを考えろよ
0201nobodyさん
2010/11/21(日) 17:07:52ID:???0202nobodyさん
2010/11/21(日) 17:12:52ID:???こっちこなくていいから
0203nobodyさん
2010/11/21(日) 17:45:17ID:???>多くなると書いてるんだが・・・
だからその根拠は(ry
>そして前提として本や配布スクリプトとも書いてる
MySQLのインストールCDが付属している本もあるし
MySQLが必要なフリー配布スクリプトだってあるけど?
だから、それらの前提でSQLiteが多いって主張したいならそれでもいいけど、その根拠を示さないとまったくもって無価値な主張じゃないか。
>因みにchromeやfirefoxでもsqliteが使われてるわけだが
>これらをシェアとして考えれば多いとも言えるな
ほうほう、で、数字は?
0204nobodyさん
2010/11/21(日) 17:47:24ID:???0205nobodyさん
2010/11/21(日) 17:48:19ID:???0206nobodyさん
2010/11/21(日) 17:53:37ID:???ヲチスレとか作ってそこでやるのはどうだろうか。
この板に作るなら「PHPerに突っ込みを入れるスレ」とか多少範囲を広く取らざるを得ないだろうけど。
ネットwatchなら「PHP関連スレのヲチスレ」とか。
スレに関する苦情はこちらみたいな感じに>>6あたりに入れといてくれたら誘導もしやすい。
>>202の言う隔離ってのがこれの事ならURL出した上で誘導して欲しい。
0207nobodyさん
2010/11/21(日) 17:55:47ID:xL1nv8Noクライアントに結果を返した後に、処理を続行することってできますか?
本来は全ての処理が完了するまではクライアントに待ってもらう必要があると思います。
クライアントに関係の無い処理がある場合に、途中で結果を返したいのです。
アドバイスよろしくお願いいたします。
0208nobodyさん
2010/11/21(日) 18:08:36ID:???output_bufferingが有効になってると、出力が貯められ
実行完了時に一気に出力されます
ob_flashを実行すれば貯められたバッファを送信できます
マニュアルの出力制御のあたりを見て下さい
PHP: ob_flush - Manual
http://jp.php.net/manual/ja/function.ob-flush.php
0209nobodyさん
2010/11/21(日) 18:09:04ID:???醜いわ!
0211nobodyさん
2010/11/21(日) 18:22:24ID:???ignore_user_abort()してそのまま続ける方法もあるけど、
別プロセスをバックグラウンド実行させるのが楽だと思う
`/usr/local/bin/php backgroundprocess.php > /dev/null 2>&1 &`;
CGI版ならclose(STDOUT)でできるかもしれない。未確認。
0212207
2010/11/21(日) 18:54:02ID:xL1nv8Noありがとうございます。説明不足でした。
「途中」ではなくて、その段階でクライアントとの接続を終了したいのです。
--------------------
echo "welcome";
// この段階で、クライアントとの接続を終了したい
// => クライアント側では、この段階で表示が完了する
...あとはサーバ側の処理のみ...
--------------------
>>211
ありがとうございます。
connection_abortみたいな関数があれば助かるんですけどね。。
この手の処理は簡単には実現できないのでしょうか。
他に簡単な方法があれば教えていただきたいです。
0213nobodyさん
2010/11/21(日) 19:58:46ID:???どうもありがとう。
自分で作るのはメンテが面倒。
APIはサ−ビス終了すると困る。
というあたりが悩みどころでした。
サーバー側はPHPで書いているんで、このスレでもいいんじゃないかと。
それこそすれ違いだけど、日本郵政がサービスしてくれるのが
いちばんいいんですけどね。
こういうのこそSaaSで実現すべきですよ。
0214nobodyさん
2010/11/21(日) 20:24:17ID:???0215nobodyさん
2010/11/21(日) 20:53:05ID:???なんだそれ。
0217nobodyさん
2010/11/22(月) 02:35:44ID:???0218nobodyさん
2010/11/22(月) 08:19:44ID:???開き直るとは許しがたい。
0219nobodyさん
2010/11/22(月) 08:48:51ID:???暇なPHPerが他に書き込むスレも無くこのスレにたむろして
何か書けることは無いかとレスを捻り出した結果だな
0220nobodyさん
2010/11/22(月) 08:56:43ID:???0221nobodyさん
2010/11/22(月) 14:24:34ID:???ぴー ひゃら ぺーぺー
0222PHP忍者 ◆vx6KgJyjvE
2010/11/22(月) 17:32:07ID:???0223nobodyさん
2010/11/22(月) 18:22:17ID:???0224nobodyさん
2010/11/22(月) 18:59:46ID:???0225nobodyさん
2010/11/22(月) 19:03:28ID:???適当に言っただけなのにww
0226nobodyさん
2010/11/22(月) 20:34:36ID:???チャイナです
0227nobodyさん
2010/11/22(月) 21:30:53ID:???0228PHP忍者 ◆vx6KgJyjvE
2010/11/22(月) 22:52:33ID:???0229nobodyさん
2010/11/22(月) 23:56:33ID:???3回回ってワンと言え
0230PHP忍者 ◆vx6KgJyjvE
2010/11/23(火) 00:00:00ID:???|r'⌒X⌒X⌒ヽ ∩゙⌒゙、⊃
|ヽ__乂__乂__ノ (。Д。)⊃ ワン
0231nobodyさん
2010/11/23(火) 00:03:15ID:???質問お待ちしておりまーす
0232nobodyさん
2010/11/23(火) 00:13:06ID:???Call to a member function quoteSmart() on a non-object
と出て使えません。
0234nobodyさん
2010/11/23(火) 00:31:39ID:???0237nobodyさん
2010/11/23(火) 19:23:33ID:NoNXE+F/0238nobodyさん
2010/11/23(火) 19:30:48ID:???PHP: file_get_contents - Manual
http://php.net/manual/ja/function.file-get-contents.php
第5引数でバイト数指定できる
0239nobodyさん
2010/11/23(火) 20:47:22ID:ZNYYZV27print_r(glob('*表示*'));
とすると、0x5Cに引っかかるのか、ファイルが存在しても何も表示されません。
mb_internal_encoding などを変えてみたり、mb_convert_encoding もしてみましたが、解決できていません。
何とかならないでしょうか。よろしくお願いします。
0240nobodyさん
2010/11/23(火) 20:52:40ID:???0241nobodyさん
2010/11/23(火) 21:13:13ID:???0242nobodyさん
2010/11/23(火) 21:19:51ID:???0243nobodyさん
2010/11/23(火) 21:49:42ID:???0244nobodyさん
2010/11/23(火) 22:06:37ID:???それも駄目でした。
php4.4.9でも同じになるようです。
もちろん、'*示*' だと正常に結果を返してくれます。
0245nobodyさん
2010/11/24(水) 04:36:40ID:???mb_internal_encodingやmb_convert_encodingをどう変えてみたのか具体的に。
環境変数$LANGに合わせてエンコードを変えていますか。
0246239
2010/11/24(水) 07:53:39ID:???>>245 ありがとうございます。
環境変数$LANGとは何のことでしょうか?
試したコードは以下のようになります。
以下を一行にしたものをコマンドプロンプトから実行します。
php -r "mb_language('Japanese');
mb_internal_encoding('SJIS-win');
mb_regex_encoding('SJIS-win');
print_r(glob(mb_convert_encoding('*表示*','SJIS-win')));"
0247nobodyさん
2010/11/24(水) 09:19:11ID:???http://www.geocities.jp/rui_hirokawa/php/win/
0248nobodyさん
2010/11/24(水) 10:02:09ID:???0x5CはWindowsではディレクトリの区切りを表す文字コード
つまり'*表示*'とした場合、「表」の先頭コード0x95で終わるディレクトリ以下にある「示」で始まるものを探索してるということ
0249nobodyさん
2010/11/24(水) 10:38:27ID:???0250nobodyさん
2010/11/25(木) 01:51:53ID:???globがUTFを返せばいいんだろ?
環境が無いので試せないが、php.iniの設定で変更できんのか?
0251nobodyさん
2010/11/25(木) 05:58:30ID:???プログラムはUTFで書いて、データはSJISが普通。
読み上げと書き込みの時に変換する。
0252nobodyさん
2010/11/25(木) 06:04:08ID:???0253nobodyさん
2010/11/25(木) 07:31:23ID:???そうじゃなくてglobに渡す&返す文字列がSJISじゃなければ
>>248-249のようなことにならなくて済むと思うんだが
0254nobodyさん
2010/11/25(木) 09:26:23ID:???理由はwin32/glob.c、win32/readdir.cあたりを見れば分かる。
globみたいのは元々ネイティブAPI丸投げだし、Windows環境のエミュも結構てきとう。
回避策1: glob('*')とかreaddirで全部読んで、PHPスクリプト内でフィルタリングする。
回避策2: win32/readdir.cを改造してUTF-8とかに変換する。
win32/glob.cをstreamWrapper系に改造すればもっと汎用的になるのかな?
よく知らないけど。
0255nobodyさん
2010/11/25(木) 10:32:38ID:???Windowsってファイル名は内部ではUnicodeで管理してるんじゃなかったっけ。
0256nobodyさん
2010/11/25(木) 11:22:17ID:???NTFS上にもUTF-16で保存されてる。
Win32APIのAとWとUNICODEマクロの話は省略。
win32/readdir.cではFindFirstFileA/FindNextFileAでSJISに変換済みのchar*を読んでる。
0257nobodyさん
2010/11/26(金) 07:38:25ID:8z1vMVxd自動的にプログラミングで判別してカテゴリに分けたいです。
検索する文字列はクーポンのタイトルとクーポンの紹介文のみを使います。
※「飲食」のカテゴリに分けたい時
mb_strpos を使い、「カレー」、「焼肉」、「ピザ」 などの文字が紹介文に入ってて、
「エステ」、「マッサージ」、「脱毛」 などの文字列が入ってない。
上記のようなプログラムで判別しようと思っているのですが、
このやり方の問題点、もしくは最適な関数、もっとよいやり方などがあれば
教えてもらえないでしょうか?m(_ _)m
■ このスレッドは過去ログ倉庫に格納されています