トップページphp
1001コメント269KB

PHP】下らねぇ質問はID出して書き込みやがれ 122

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/08/15(水) 01:52:15.26ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 121
http://kohada.2ch.net/test/read.cgi/php/1343219409/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
0106nobodyさん2012/08/16(木) 00:31:24.39ID:???
このスレは終了を議論しています。
質問受付は行なっていませんので別スレへお願いします。
0107nobodyさん2012/08/16(木) 00:32:48.36ID:???
PHPを開発した韓国人のページ貼っておく
http://blog.seabow.pe.kr/?tag=php
0108nobodyさん2012/08/16(木) 00:44:28.60ID:???
Rubyが流行るといいなwww
0109nobodyさん2012/08/16(木) 00:46:59.15ID:???
※質問受付は停止していますので別スレへお願いします。
0110nobodyさん2012/08/16(木) 02:01:26.66ID:CIBfaLN/
サーバー上にアップロードしたファイルを
時限式で消すってphpで可能ですか?どうやるのですか?
0111nobodyさん2012/08/16(木) 02:21:48.87ID:???
>>110
できてもできなくても1レス前の注意書すら読めないお前には無理だから関係なくね?
さっさと失せろ池沼
0112nobodyさん2012/08/16(木) 03:45:28.53ID:???
お前ら実に楽しそうだなあ・・・
0113nobodyさん2012/08/16(木) 08:37:12.09ID:J+KpjArQ
>>110
http://digital-gate.com/2008/11/php-2.html
0114nobodyさん2012/08/16(木) 08:47:35.10ID:???
スレ存続希望理由を募集しています。
以下、理由一覧です。

・質問者が袋叩きになるところをみたいから
・質問者と回答者のバトルをみたいから
・回答者の自己満足
・適当な質問で回答者を釣るため

※質問受付は停止していますので別スレへお願いします。
0115nobodyさん2012/08/16(木) 09:00:36.46ID:???
>>114
募集と言いつつ終了させたいんだろ?
0116nobodyさん2012/08/16(木) 09:50:16.12ID:Rr8bqNuS
【OS名】CentOS 5.7
【PHPのバージョン】5.1.6
【連携ソフトウェア】MySQL
【質問内容】
通常はdate関数を使っていたのですが2038年問題で困っております。
date_createを使うことで回避できると見かけますがPHP5.1.6のせいで使用できません。
PHPのアップデートを行うことは出来ないのですが、PHP5.1.6でも2038年問題を回避する方法はありますでしょうか?
アドバイスいただけると助かります。
0117nobodyさん2012/08/16(木) 10:14:17.33ID:???
PEAR::Dateとか使えばいいんじゃ?
0118nobodyさん2012/08/16(木) 10:30:22.41ID:???
そろそろ保険や住宅ローンの満期とかで2038年超えるケースがでてきてるな
0119nobodyさん2012/08/16(木) 10:44:55.62ID:???
それまで平成が続いてるかどうかが問題
0120nobodyさん2012/08/16(木) 11:04:06.61ID:Rr8bqNuS
PEAR自体が入ってなくてもPEAR::Dateは単体で使えるんでしょうか。
単体で動くのであれば大丈夫なんですが、アップデートとかそういった追加が出来ない環境なもので。
0121nobodyさん2012/08/16(木) 11:23:08.69ID:???
>>110
定期的に実行できるなら定期的に消す
できないならPHPの実行のたびに消す
0122nobodyさん2012/08/16(木) 12:23:42.56ID:???
スレ存続希望理由を募集しています。
以下、理由一覧です。

・質問者が袋叩きになるところをみたいから
・質問者と回答者のバトルをみたいから
・回答者の自己満足
・適当な質問で回答者を釣るため

※質問受付は停止していますので別スレへお願いします。
0123nobodyさん2012/08/16(木) 12:25:13.63ID:J+KpjArQ
>>120
http://pear.php.net/manual/ja/installation.shared.php
0124nobodyさん2012/08/16(木) 12:46:04.65ID:???
PEAR入れるならPyrusを強くオススメする
0125nobodyさん2012/08/16(木) 12:49:16.92ID:???
あるアドレスに下記の様にHTTPヘッダー関数で移動すると返ってくる内容がブラウザに表示されるのですが
header("Location: {$add}") ;

file関数、fgets関数等で下記の様に読み込むと中身がカラッポで入っていません
$data = '' ;
if ($fp = @fopen($add, "r")) {
 while (!feof($fp)) $data .= @mb_convert_encoding(fgets($fp, 1024), "EUC-JP", "auto");
 fclose($fp);
}
$data = htmlspecialchars($data);

そこでエラー抑制を外してみました
if ($fp = @fopen($add, "r")) {

if ($fp = fopen($add, "r")) {

そしたら次の様なワーニングが出てきました

Warning: fopen(アドレス) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in 動いてるスクリプト on line 374

どうもアクセス相手側から拒否されている様です
しかしヘッダー関数では取得できる様なのでどうにかしてfile関数等でデータを取り込みたいのですが
どうしたら良いかご存知のかたいらっしゃったら教えて頂ける様お願いします
0126nobodyさん2012/08/16(木) 12:55:53.12ID:???
google検索とかはそういう対応してるよ
スクリプトからのアクセスは拒否してるところなんか結構ある
諦めな
0127nobodyさん2012/08/16(木) 13:05:57.13ID:???
>しかしヘッダー関数では取得できる様なので
headerのLocationは受け取ったブラウザ側が勝手に転送するだけでしょ、別に何も取得してない
あるアドレスに・・・ってことは他のアドレスなら大丈夫なの?allow_url_fopenがfalseになってるってオチじゃなく?
スクリプトからのアクセス拒否してたとしても、Snoopyとか使うとかすりゃ取得できるでしょ
0128nobodyさん2012/08/16(木) 13:40:53.71ID:J+KpjArQ
IDお願い致します。
0129nobodyさん2012/08/16(木) 13:42:32.51ID:PIc6ODkK
>>125
とりあえず>>1読んでID出せ

質問は、
「とある外部サイトのURL」に対して
・ブラウザからはアクセスできる
・PHPからアクセスすると 403 Forbidden になる
ということかな?

アクセス先のURLがアクセス制御に使用する情報は一般的に
・IPアドレス
・UserAgent
・Cookie
・リファラ
とかがあるけど、今回はUserAgentかな

ini_set で user_agent を設定したらいいと思う
http://hain.jp/index.php/tech-j/2007/09/03/file_get_contents%E3%81%AEuseragent
fopenも対応してるかは試してないが、file_get_contentsのほうが楽だろ
0130nobodyさん2012/08/16(木) 13:49:36.24ID:J+KpjArQ
http://php.net/manual/ja/wrappers.http.php 参照
fopenでも、そのヘッダは送信されるよ。

--
IDなしに誘導しながら回答するのは、合意が取れなかったよ。
0131nobodyさん2012/08/16(木) 13:50:09.71ID:???
>>129
おまい良回答者だな
0132nobodyさん2012/08/16(木) 13:52:49.37ID:???
偶然知ってる内容だったから答えたくなったんだろう
他のことは全く分かってないのに
0133nobodyさん2012/08/16(木) 13:53:34.96ID:???
掲示板の質問回答ってそういうもんだろw
01341252012/08/16(木) 14:08:35.61ID:5y13Q7LX
>>all
thnx

>>128,129
とりあえずID出しときます
0135nobodyさん2012/08/16(木) 16:47:31.92ID:???
本スレ

【PHP】気軽にPHP質問スレ
http://kohada.2ch.net/test/read.cgi/php/1343015189/
0136nobodyさん2012/08/16(木) 19:06:09.39ID:???
そもそも2chで質問してる時点で天井はたかが知れてる
他人と議論するなら分かるけどタダで教えてって言ってる時点で根性は腐ってるし世間知らずだし
自分で解決する能力が全くないわけだから答えられる人が現れなければ死ぬまで開発がそこで止まるわけだ

世間知らず+誰でも答えられる程度の知識
つったらどの程度のものができるか分かるよな
0137nobodyさん2012/08/16(木) 19:17:48.05ID:???
タダじゃなくても、教えてくれたら多少金払ってもいいから
教えてもらえる掲示板ってないもんかね
と思うことがある
0138nobodyさん2012/08/16(木) 19:33:24.24ID:4XRI9B/2
質問です。
配列の要素の型(intとstrの混合)を文字列型(str)に統一したいです。
その場合、strvalとarray_mapを使えばよいのでしょうか?

$arr = array_map("strval", $arr);
他に良い方法があれば、ご教示お願い致します。
0139nobodyさん2012/08/16(木) 19:55:44.70ID:???
>>138
要件満たせているのであれば、それが一番いいんじゃないかな
0140nobodyさん2012/08/16(木) 21:23:42.78ID:aZw5FRyV
SQLITEで質問があります。

カラム名とその順番も同じテーブルが違う名前で4つあります。

この4つのテーブルの全データをあるカラムを基準に並び替え、
上位10個を取りたいと思ってます。

ですが、テーブル名が違うデータを取得してからどうやって並び替えればいいかわかりません。
SQLITEの構文でそのようなものがあるのか、
もしくはそれぞれのテーブルでデータを取得してあとから配列として並び替えるのかなど
色んな方法がありそうなのですが思い浮かびません。

そのカラムだけのデータなら配列に突っ込んで並びかえれるんですが、
そのほかのカラムのデータも一緒に並び替えるにはどうすればわからなかったので
配列を使う方法は断念しました。

アドバイス願います。
0141nobodyさん2012/08/16(木) 21:37:23.79ID:???
スレ存続希望理由を募集しています。
以下、理由一覧です。

・質問者が袋叩きになるところをみたいから
・質問者と回答者のバトルをみたいから
・回答者の自己満足
・適当な質問で回答者を釣るため

※質問受付は停止していますので別スレへお願いします。
0142nobodyさん2012/08/16(木) 21:42:46.43ID:Isc8m1w1
>>140
SQLiteでやるなら UNIONだし、
全データ取得して全部配列に入れてソートしたいなら
http://www.php.net/manual/ja/function.usort.php
の例2辺りを参考に。
0143nobodyさん2012/08/16(木) 21:52:15.01ID:???
usortなんて使わんでもarray_multisort使えばいいんじゃ?
0144nobodyさん2012/08/16(木) 22:00:19.48ID:???
スレ存続希望理由を募集しています。
以下、理由一覧です。

・質問者が袋叩きになるところをみたいから
・質問者と回答者のバトルをみたいから
・回答者の自己満足
・適当な質問で回答者を釣るため

※質問受付は停止していますので別スレへお願いします。
0145nobodyさん2012/08/16(木) 22:08:03.14ID:???
>>143
http://php.net/manual/ja/function.array-multisort.php の
例3みたいになっちゃうよ。
01461382012/08/16(木) 22:10:55.04ID:2lssvgyH
>>139
やはりarray_mapの使用がベストなのですね。
ありがとうございました。
0147nobodyさん2012/08/16(木) 22:25:55.60ID:aZw5FRyV
>>142
うおおおおおおおお!
こんな結果の連結ができたとは・・!
ちょうどこんなのないかなーって思ってたやつがあって嬉しいです
ありがとうございました
0148nobodyさん2012/08/16(木) 22:46:58.60ID:???
144 名前:あぼ〜ん[NGWord:希望理由] 投稿日:あぼ〜ん
0149nobodyさん2012/08/17(金) 11:38:35.61ID:QVP+35Nd
ある値 $x が null であるかを判断するときに、

[1]
if( $x === null ) {}



[2]
if( null === $x ) {}

とは同じなのでしょうか?

私はなんとなくずっと [1] を使っていたのですが、
たまに [2] の方法を見たりして、
しかもその作者に限って結構PHPを詳しく知っていたりするので
何か理由があるのかなと。
0150nobodyさん2012/08/17(金) 11:42:02.34ID:???
>>149
誤代入のリスクを減らせる
0151nobodyさん2012/08/17(金) 11:46:03.78ID:QVP+35Nd
>>150
よく分からないのですが、
$x に、本来代入すべきではない値を
代入してしまうリスクが減るということでしょうか?
0152nobodyさん2012/08/17(金) 11:48:06.83ID:QVP+35Nd
あ、誤ってとんでもない大きな文字列とかを代入してしまった時のことでしょうか?

つまり比較処理の早い段階で null でないことが分かるというメリット。

何回もすいません。
0153nobodyさん2012/08/17(金) 11:48:10.42ID:???
なるほど確かに
勉強になったぜ
0154nobodyさん2012/08/17(金) 11:54:15.23ID:+aSciR1c
打ち間違えで ==だの ===を = ってやっちまったときに、
if( $x = null ) {} はエラーになんないけど
if( null = $x ) {} だとエラーになってくれるから定数との比較では定数を左にもってこようぜってヤツだ。
マネしてもいいけど、そうしないといけないわけでもない。
0155nobodyさん2012/08/17(金) 11:59:20.83ID:???
if (A == B)
もしもAの値がBだったら
という意味を考えると逆だと分かりにくい
0156nobodyさん2012/08/17(金) 12:01:28.41ID:???
スターウォーズのヨーダはご順を逆にして話すことからヨーダ記法と呼ばれている。
0157nobodyさん2012/08/17(金) 12:14:42.59ID:QVP+35Nd
>>154
あぁ、そういうことでしたか。
勉強になりました。
ありがとうございます。m(__)m
0158nobodyさん2012/08/17(金) 13:14:56.62ID:???
>>155
それは誤り
AとBが同値だったら
0159nobodyさん2012/08/17(金) 13:19:24.68ID:???
>>156
それは初めて知った
0160nobodyさん2012/08/17(金) 13:29:38.91ID:A77u0e4r
>>149
nullかどうかチェックするとき、おれは
is_null() を使うようにしてる

比較演算子は注意しないと
意図しない型変換が行われることがある
0161nobodyさん2012/08/17(金) 13:43:50.01ID:???
そういう意味では、  null === $x ってやっても、 null == $x のミスは防げないね。
0162nobodyさん2012/08/17(金) 13:44:39.09ID:???
そういう意味では、  null === $x ってやっても、 null >= $x のミスは防げないね。
0163nobodyさん2012/08/17(金) 17:45:47.50ID:???
>>156
言いたいことは分かるけど、なんかおかしい気がする
0164nobodyさん2012/08/17(金) 19:51:39.83ID:???
そのヨーダ
0165nobodyさん2012/08/18(土) 00:02:28.74ID:???
ウソだヨーダ
0166nobodyさん2012/08/18(土) 00:26:19.69ID:???
Yoda notationとして英語圏で通用する
0167nobodyさん2012/08/18(土) 03:17:23.51ID:???
本当かよ
0168nobodyさん2012/08/18(土) 10:57:05.02ID:0XzHh7gg
うわ、本当だ!
http://de.wikipedia.org/wiki/Yoda_Conditions
こりゃ勉強になるわwww
0169nobodyさん2012/08/18(土) 11:15:45.33ID:???
Yoda notation ヨーダ記法
Yoda conditions ヨーダ条件式
0170nobodyさん2012/08/18(土) 14:09:06.23ID:???
うまいこと言いやがってと思ってたらマジだったのか・・・
0171nobodyさん2012/08/18(土) 16:03:01.88ID:64yQ0WV0
set @rnk=1, @rownum=0, @preval=null;
insert into ranking select @rnk:=IF((@rownum := @rownum + 1) and (@preval <=> point), @rnk, @rownum) AS rank,id,@preval:=point point FROM point_table order by point;

これをphpでクエリ送信する場合どう書けばいいですか?
01721712012/08/18(土) 16:03:35.98ID:64yQ0WV0
すいません説明がたりませんでした。
mysqlクエリです。
0173nobodyさん2012/08/18(土) 16:06:38.25ID:???
>>172
脳みそが足りてない
0174nobodyさん2012/08/18(土) 16:08:01.71ID:???
>>172
気にしなくていい
気軽に質問を続けろ
0175nobodyさん2012/08/18(土) 16:09:10.81ID:???
>>171
PHPからMySQLにSQLを送信する方法を聞いてる?
どこまで自分でできるの?
01761712012/08/18(土) 16:11:49.53ID:64yQ0WV0
>>175
phpから一行のクエリを送信するのは理解できています。
この場合二行(複数)送信になるのでmysql_queryではできないみたいで、どうすればいいかわかりません。
0177nobodyさん2012/08/18(土) 17:55:51.70ID:???
>>176
試してないけど、1行ずつmysql_queryを実行じゃだめなの?
01781712012/08/18(土) 18:43:01.73ID:64yQ0WV0
>>177
…それでできました。
mysqlのユーザ変数を使っていたので、一気にクエリを送らないと駄目だと思い込んでました。
ありがとうございました。
0179nobodyさん2012/08/18(土) 18:52:28.76ID:QdVLt3fJ
サイトの縦の長さによって表示するかしない振り分ける方法はありますか?
サイトの長さが1400ピクセル以上だと特定の場所に画像を表示させたいです。
0180nobodyさん2012/08/18(土) 19:19:15.27ID:???
JavaScriptでやれば?
長さは見る人によって違う
0181nobodyさん2012/08/19(日) 03:06:20.51ID:???
is_nullなんてどう考えても不要な関数があるのはバグ減らすためだったのか
0182nobodyさん2012/08/19(日) 04:48:19.42ID:???
このスレも終了ですか。
長い間お疲れ様でした。
0183nobodyさん2012/08/19(日) 10:34:32.33ID:1zora0s1
セッションはデフォルトで24分有効みたいですが
この期限をサイト別(ディレクトリ別)に伸ばすにはどうしたらいいでしょうか?
使用サーバはレンタルサーバでルート権などはありません
http://jp.php.net/manual/ja/session.configuration.php
ini_setでmaxlifetimeを変更してみたのですが効果がないようです
他に変更する必要があるのか?
あるいはini_setでの変更ではだめなのか?
解決方法がありましたら教えてください
0184nobodyさん2012/08/19(日) 10:42:08.31ID:???
24分で強制ログアウトですか。
長い間お疲れ様でした。
0185nobodyさん2012/08/19(日) 10:53:41.25ID:???
オンラインゲーム患者が混じってるようだな
お大事に
0186nobodyさん2012/08/19(日) 11:51:44.62ID:???
デフォルトなんだから、自分で個別に設定したらいい
0187nobodyさん2012/08/19(日) 12:17:11.88ID:???
その設定のしかたを聞いてるのに
回答者にバカが多くて残念なスレ
0188nobodyさん2012/08/19(日) 12:30:22.74ID:???
設定すればいい
0189nobodyさん2012/08/19(日) 12:35:41.61ID:z7pXVw2M
>>183
一概にコレというにはいろいろありすぎるので
http://pentan.info/php/session_gc.html
このあたり一通り読んで設定してみて、駄目だったらまた聞いてください
0190nobodyさん2012/08/19(日) 12:43:25.62ID:7fVQtMZZ
質問があります。
自分のサイトにはあるカテゴリが50個ほどがあるのですが、
ユーザが直接URLを打ち込むなどして、存在しないカテゴリにアクセスした場合の処理についてお聞きしたいです。
これをPHP側で制御するのか、htaccess側でmod_rewriteで制御するのかどっちがいいですか?
0191nobodyさん2012/08/19(日) 12:49:41.49ID:???
>>190
いいってどういう観点で?
0192nobodyさん2012/08/19(日) 12:55:04.76ID:7fVQtMZZ
今後のメンテナンス的な意味でです。
カテゴリが今後300個とかに増えるとどうかな〜って思ってます。

404を出すにはmod_rewrite使ったほうが楽ですし、
PHPだといちいちリダイレクトさせるから無駄かなと思いまして。


0193nobodyさん2012/08/19(日) 12:56:06.70ID:???
>>192
mod_rewrite使った方が楽でPHPだと無駄だと思うならmod_rewriteでいいじゃん
0194nobodyさん2012/08/19(日) 13:03:19.75ID:7fVQtMZZ
なんか
(ABC|CDE|FGH|・・・)

って300個も並べて正規表現で並べて書くのがなんか気になっただけです。

問題ないならmod_rewriteでいきます。
ありがとうございました。
0195nobodyさん2012/08/19(日) 13:04:18.09ID:???
ようするに404の表示ページをもっと親切なものに変えたいだけでしょ
処理ってほどのおおげさなもんではないがな
0196nobodyさん2012/08/19(日) 13:30:46.86ID:???
404だと、似た名前のカテゴリの候補を示すと親切な場合ガール
0197nobodyさん2012/08/19(日) 13:34:13.36ID:???
それはちょっとレベルが高いな
0198nobodyさん2012/08/19(日) 13:34:53.57ID:7fVQtMZZ
>>196
なるほどありがとうございます
0199nobodyさん2012/08/19(日) 14:15:16.01ID:???
Google検索で言うところの「もしかして」

悪い例は「スペースアルク」の辞書サイト
せっかく辞書の中身は充実してて素晴らしいのに
打ち間違えたときの候補の出し方が下手糞
0200nobodyさん2012/08/19(日) 14:33:11.99ID:???
MySQLになんかそんな機能があった気がする
PHPであるかは知らないがGoogle並の精度を自分で実装すると大変だろうな
GoogleがそんなAPIを提供してる可能性もあるがはてさて
0201nobodyさん2012/08/19(日) 14:41:50.72ID:???
もしかしと

検索 約 395,000,000 件 (0.26 秒)

もしかして: もしかして
0202nobodyさん2012/08/19(日) 14:50:12.14ID:???
私の他にも誰か〜
いいひとが、いるのなら
0203nobodyさん2012/08/19(日) 14:53:54.59ID:???
Hadoop使えばいいやんwww
0204nobodyさん2012/08/19(日) 15:02:15.63ID:???
1.検索する

2.見つからない

3.Googleで検索する

4.もしかしてをスクレイピング

5.再度4で得た単語で検索して見つからなかったら終了
0205nobodyさん2012/08/19(日) 15:06:22.14ID:???
http://civ5monchan.net/uploader/img/civ5mon173.jpg
プランテーションの楽園を発見した
0206nobodyさん2012/08/19(日) 15:06:45.74ID:???
ごめん誤爆
■ このスレッドは過去ログ倉庫に格納されています