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

【PHP】下らねぇ質問はここに書き込みやがれ 52

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/08/11(土) 10:08:03ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 51
http://pc11.2ch.net/test/read.cgi/php/1185521566/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0413nobodyさん2007/08/16(木) 15:52:36ID:???
現場で仕事していながら契約守ってないと豪語してるやつが約一名・・・
0414nobodyさん2007/08/16(木) 16:02:10ID:???
相手側が守らないことはあるだろうね
社内で流用くらいはするんじゃないかと
0415nobodyさん2007/08/16(木) 16:22:09ID:???
>>410 程度が知れるなw
0416nobodyさん2007/08/16(木) 16:37:58ID:???
二次利用はともかくソース改変も禁じられるのか?
運用中に問題出たり拡張したくなったらどうするんだよ
0417nobodyさん2007/08/16(木) 16:39:32ID:???
二次配布って知ってる?
0418nobodyさん2007/08/16(木) 16:58:09ID:7iV7mGjE
>>412
プロフェッショナルの意味しってる?

>>413
日本語読めないのか。かわいそう。

>>416
契約次第でしょ。たかがスクリプトなんだから、改変禁止の契約ってあり得ない。
改変したらサポート対象外とか付けるでしょ。

>>415
現場を知らない奴は話が噛み合わない。
0419nobodyさん2007/08/16(木) 17:01:51ID:7iV7mGjE
みんな本当に現場を知らないの?
まぁ現場にもピンキリあるけど、俺はフリーで中小相手に仕事してるけど、
仕事だけを取ってくる奴とか、こっちが納品したシステムを他の奴に改変させて
別の会社に納品したりとか余裕でしてる。
そういう奴って、証拠出して締め上げても、のらりくらりとしてて埒があかない。
0420nobodyさん2007/08/16(木) 17:06:08ID:7iV7mGjE
既に動いてるシステムの変更を依頼されることもあって、
契約時にシステムの転用禁止みたいな契約もする。
正直、こんな独りよがりなシステム使いたくねーよ!
って思うことばっかりだけど、たまにスゲー優秀なシステムに
めぐり合うこともある。そんな時、実は転用したりする。
転用してもやっぱバレないんだよね。
0421nobodyさん2007/08/16(木) 17:13:39ID:???
(^0^)
0422nobodyさん2007/08/16(木) 17:18:08ID:???
ID:7iV7mGjE プッ
0423nobodyさん2007/08/16(木) 17:18:53ID:???
夏に現れるのが厨房ばかりとは限らないって事か
0424nobodyさん2007/08/16(木) 17:20:42ID:???
うちは縛り無し。
基本的にソースは依頼主のもの。

簡単な奴は断るか、そうでなくてもどうせ誰でも出来るわけだからコピーされたって気にしない。
複雑な奴はその客専用につくるので、転用にはそれなりに手間がかかる。

まぁ、運用込で請け負うことが多いのもあるかも。
0425nobodyさん2007/08/16(木) 17:43:56ID:7iV7mGjE
>>421-423
そろそろ夏休みの宿題片付けたほうがいいぞ?
0426nobodyさん2007/08/16(木) 18:22:54ID:???
仕事関係に関する話はPHPと関係ありませんので他スレへどうぞ
0427nobodyさん2007/08/16(木) 18:52:00ID:???
恥ずかしい自己紹介までする荒らしワロス
0428nobodyさん2007/08/16(木) 19:58:13ID:???
>>418
>契約次第でしょ。たかがスクリプトなんだから、改変禁止の契約ってあり得ない。

いままで2行で矛盾してるやつって見たことあるけど、1行で矛盾してるの初めて見た。
0429nobodyさん2007/08/16(木) 21:19:29ID:???
まんこっこ
0430nobodyさん2007/08/16(木) 21:51:07ID:???
此処は糞の掃き溜めだわ
0431nobodyさん2007/08/16(木) 21:56:46ID:???
なんで荒れてもうたん
0432nobodyさん2007/08/16(木) 22:00:34ID:???
観光地の岩に落書きしてブログで自慢する程度の低モラルを
自慢するID:7iV7mGjEさんのせい。
0433nobodyさん2007/08/16(木) 22:14:48ID:???
少なからず他人を見下したような書き込みをしないと気がすまない>>430みたいな奴は
このスレで最も底辺だと思う。俺含めて。
0434nobodyさん2007/08/16(木) 22:19:33ID:???
sage
0435nobodyさん2007/08/16(木) 22:58:47ID:???
>>433
なんだと。俺も含めろ
0436nobodyさん2007/08/16(木) 23:30:03ID:NWhUuXjV
質問です。
以下の様に、URLベースでgetimagesizeから画像の縦横幅を取りたいのですが
タイムアウト時間を設定してタイムアウトだった場合にエラーを出したいのですが
タイムアウトの判断はどのように行えば良いでしょうか?
fsockopenとかだったら分かるのですが…

$url = "http://example.com/hoge.jpg";;
getimagesize($url, $return);
0437nobodyさん2007/08/16(木) 23:32:16ID:???
set_time_limit
0438nobodyさん2007/08/16(木) 23:45:06ID:NWhUuXjV
set_time_limitだとその後のエラー処理をかませられなくないですか?
0439nobodyさん2007/08/16(木) 23:51:04ID:???
gatimagesizeの返り値で判断すればいいんじゃないの
0440nobodyさん2007/08/16(木) 23:54:23ID:???
それだとタイムアウト設定の意味がなくなりますよね…
0441nobodyさん2007/08/16(木) 23:56:18ID:???
default_socket_timeoutで設定すればいいんじゃないの
0442nobodyさん2007/08/17(金) 00:03:20ID:c43Kkl2A
>>441の方法でいけました。
一応コードも載せておきますね。

ini_set("default_socket_timeout", 5);
if(!@getimagesize("http://example.com/hoge.jpg";)){
throw new Exception("timeout");
}

ありがとうございました。
04434422007/08/17(金) 00:34:12ID:c43Kkl2A
自己レスです。

結局↑の場合、タイムアウトと画像ファイルじゃなかった場合の区別がつかないので以下の様に修正しました。

ini_set("default_socket_timeout", 3);
ini_set("track_errors", true);
$result = @getimagesize("http://google.co.jp";);
if(strpos($php_errormsg, "getimagesize") === 0){
echo "タイムアウト";
}else if($result === false){
echo "画像ファイルではありません。";
}
0444nobodyさん2007/08/17(金) 11:50:57ID:???
ifで「もし$txtが数字で始まっていれば」ってどうすればいい?
0445nobodyさん2007/08/17(金) 11:53:36ID:???
if (substr($txt, 0, 1) == 0) {}
if (substr($txt, 0, 1) == 1) {}
if (substr($txt, 0, 1) == 2) {}
if (substr($txt, 0, 1) == 3) {}
if (substr($txt, 0, 1) == 4) {}
if (substr($txt, 0, 1) == 5) {}
if (substr($txt, 0, 1) == 6) {}
if (substr($txt, 0, 1) == 7) {}
if (substr($txt, 0, 1) == 8) {}
if (substr($txt, 0, 1) == 9) {}
0446nobodyさん2007/08/17(金) 11:54:34ID:???
if (preg_match("/[0-9]/",$txt)){}
0447nobodyさん2007/08/17(金) 11:57:04ID:???
あまやかさないために>>446は動かないようにかいたから
自分でなおせなかったら>>445でシコシコやってろクズ
0448nobodyさん2007/08/17(金) 12:02:13ID:???
>>445
>>446

ありがとうございますやってみます
0449nobodyさん2007/08/17(金) 12:49:32ID:???
>>445
これはひどい
0450nobodyさん2007/08/17(金) 13:10:29ID:???
>>448

偉そうに言ってる>>447だが、>>445も文法的に
間違うようなバカなので(本人は、間違ってないと思ってる)、
そいつの言うこと聞いたらダメだよ。
0451nobodyさん2007/08/17(金) 13:24:47ID:???
>>445
せめて === で比較しろよ
0452nobodyさん2007/08/17(金) 13:30:39ID:???
===使ったからと言ってなんともならない
0453nobodyさん2007/08/17(金) 13:44:42ID:???
>>445
なにやってんのこいつ
0454nobodyさん2007/08/17(金) 13:51:35ID:???
>>>444
if(ctype_digit(mb_strcut($txt,0,1)){}
0455nobodyさん2007/08/17(金) 14:31:28ID:???
>>444
if(is_numeric($txt[0])){}
0456nobodyさん2007/08/17(金) 14:46:15ID:???
>>453
ああ、ごめん知識がたりなかったよ。
君のすばらしいコードで解決してくれないか?
0457nobodyさん2007/08/17(金) 14:53:07ID:???
if(is_numeric(substr($txt, 0, 1))) {}
0458nobodyさん2007/08/17(金) 14:53:13ID:???
>>456
>>455で解決済み
0459nobodyさん2007/08/17(金) 14:57:55ID:???
しかし>>445はひでーなw
0460nobodyさん2007/08/17(金) 15:08:00ID:???
455が奇麗だよね
0461nobodyさん2007/08/17(金) 15:12:53ID:???
>>445は素人プログラマー
プロは↓こう
if (substr($txt, 0, 1) == 0) {}
else if (substr($txt, 0, 1) == 1) {}
else if (substr($txt, 0, 1) == 2) {}
else if (substr($txt, 0, 1) == 3) {}
else if (substr($txt, 0, 1) == 4) {}
else if (substr($txt, 0, 1) == 5) {}
else if (substr($txt, 0, 1) == 6) {}
else if (substr($txt, 0, 1) == 7) {}
else if (substr($txt, 0, 1) == 8) {}
else if (substr($txt, 0, 1) == 9) {}
0462nobodyさん2007/08/17(金) 15:18:55ID:???
>>461
0463nobodyさん2007/08/17(金) 15:32:34ID:???
substr($txt, 0, 1) == 0
だと普通の文字にもマッチするよ
数字と文字列との比較は数字以外の文字は0として扱われる
substr($txt, 0, 1) == "0"
ならおk
0464nobodyさん2007/08/17(金) 16:22:51ID:???
それ以前に何度もsubstrかましてんなよ。
0465nobodyさん2007/08/17(金) 17:32:33ID:???
ほんとPHPユーザーは言語が適当なせいでいろいろと適当っすね
数字の比較なら型の比較も行う===演算子使ってください
0466nobodyさん2007/08/17(金) 17:47:51ID:???
質問は下らなくないが回答が下らないw
0467nobodyさん2007/08/17(金) 18:01:33ID:???
is_numericとctype_digitって何が違うのさ
0468nobodyさん2007/08/17(金) 18:11:24ID:???
>>467
var_dump(ctype_digit("-1"));
var_dump(is_numeric("-1"));
 ↓
bool(false)
bool(true)
0469nobodyさん2007/08/17(金) 18:19:28ID:???
>>467
is_numericは
変数が数字または数値文字列であるかを調べる(少数点/符号等OK)
ctype_digitは
与えられた文字列のすべての文字が 数字であるかどうかを調べる(少数点/符号等NG)

ついでに
is_intは
与えられた変数が整数かどうかを調べる

マニュアルくらい読め
0470nobodyさん2007/08/17(金) 18:56:27ID:???
>>467は>>466の期待に応えるべく下らない質問をしたんだと予想
0471nobodyさん2007/08/17(金) 19:23:08ID:???
【PHP】下らねぇ質問はここに書き込みやがれ 52
【PHP】下らねぇ回答はここに書き込みやがれ 52

後者のほうが似合ってるな
0472nobodyさん2007/08/17(金) 20:08:05ID:???
昨日のキチガイといい今日といいレベル低杉w
0473nobodyさん2007/08/17(金) 20:13:02ID:???
はいはい、そうやって上に立った気になっていないと自我を保てない程現実が貧困なんでちゅね^^
0474nobodyさん2007/08/17(金) 20:25:13ID:???
>>473
>>473
0475nobodyさん2007/08/17(金) 20:33:47ID:???
ファイルポインタを一行下す方法はないかな?
fgetsとかで動かすしかないか
0476質問2007/08/17(金) 20:51:59ID:enhPQ2hv
apacheインストールの後、PHPをインストールしましたが、
ルートディレクトリが変更できません

c:\WINDOWSにあるphp.iniを
doc_root = "c:/home/htdocs"
と変えたのにも関わらず、ルートディレクトリ(http://localhost/)は
C:\Program Files\Apache Group\Apache\htdocs
のアパッチのままです

この他に変えるべきところはあるでしょうか?
親切な人お願いです

OS:XP Pro SP 2
apache_1.3.27-win32-x86-no_src.msi
php-4.3.0-Win32.zip
0477nobodyさん2007/08/17(金) 21:01:24ID:???
lol
0478nobodyさん2007/08/17(金) 21:02:49ID:???
>>475
fgetsが一番簡単だろうね。
>>476
httpd.confで設定。
0479nobodyさん2007/08/17(金) 21:05:20ID:???
なんでPHPとルートディレクトリが関係あると思ったの?
0480nobodyさん2007/08/17(金) 21:05:47ID:???
ありがとうございます。やっぱりfgetsですか。
04814762007/08/17(金) 21:15:07ID:enhPQ2hv
>>478 さん
すばやい回答 感謝です!

\Apache Group\Apache\conf\httpd.conf
の
DocumentRoot = ...
<Directory ... >
を変更したら、できましたっ☆
どうもです(^▽^)/

>>479 さん
言われて見ればそうですねぇ
php.iniにdoc_rootってあったんで、
それにこだわり過ぎてました
0482nobodyさん2007/08/17(金) 23:29:43ID:iaQQurNy
テキストフィールドで入力された文字列を
PHP側でバイト数チェックしたいんですがどのような方法がありますか?
0483nobodyさん2007/08/17(金) 23:36:38ID:???
strlen
0484nobodyさん2007/08/18(土) 01:58:19ID:???
mb_ strlen
0485nobodyさん2007/08/18(土) 02:25:21ID:???
>>484
それ、バイト数と違う
0486nobodyさん2007/08/18(土) 02:50:39ID:kiwa8Qsa
>>485
元の質問者がテキストフィールドって言っているんだから、それでいいだろw
0487nobodyさん2007/08/18(土) 03:02:17ID:???
元の質問者がバイト数って言ってんのはどうなるんだw
0488nobodyさん2007/08/18(土) 03:56:25ID:???
1文字あたりのバイト数を積算すりゃいいじゃん
04894872007/08/18(土) 07:08:47ID:???
>>488
そういうことか、勘違いしてた。ゴメン。
0490nobodyさん2007/08/18(土) 08:51:51ID:???
配列の中のとある項目で配列をまとめたいのですが、どのようにするのが効率がいいでしょうか?

掲示板のDBからの結果が以下配列に入っています。
user_id ユーザID, posts 投稿数
$array = array( 0 => array('user_id' =>1, 'posts' => 2),
1 => array('user_id' =>2, 'posts' => 10), ...)

投稿数の多い順に並べ、投稿数が同じ場合は、そこにユーザIDを並べていく

こう書くと早い、わかりやすい、DBで取得時にこうしろ等よろしくお願いします。
0491nobodyさん2007/08/18(土) 09:04:24ID:???
ソートくらいSQLの段階でやればいいじゃん
あと何でテンプレくらい読まないのかね
0492nobodyさん2007/08/18(土) 09:13:11ID:???
>>491
いや、だからそのSQLのやり方を聞いているのですが。
04934902007/08/18(土) 09:21:32ID:abpL+5co
))492は、偽者です。
テンプレみなくてすみません

SQLのpostsによるソートは終わっているものとして下さい

04944902007/08/18(土) 09:37:27ID:kiwa8Qsa
>>492->>493の方は、私ではありません。

>>491
レスありがとうございます。
すみません。テンプレは読んだのですが、SQLで実行するかarray関数で並べ替えるかで考えています。

どちらの方が正しい、こちらの方がパフォーマンスがいいでしょうか?
よろしくお願いします。
0495nobodyさん2007/08/18(土) 10:19:11ID:???
>>494
普通はSQLでやる。その方が数倍効率がいい。
それをPHPでやるのはよほど特殊な事情がある場合くらい。
0496nobodyさん2007/08/18(土) 11:01:11ID:???
SQL使わないならファイルベースで突っ込んどくだけで十分
04974902007/08/18(土) 11:55:13ID:kiwa8Qsa
>>495>>496
レスありがとうございます。
件数が多いのでパフォーマンスを心配していたのですが、
SQLのorder byでやってみます。
ありがとうございました。
0498nobodyさん2007/08/18(土) 11:58:38ID:???
おいおいw
0499nobodyさん2007/08/18(土) 13:36:58ID:???
わざと自演しているやつがいるな
0500nobodyさん2007/08/18(土) 13:44:03ID:???
そりゃ自演する時はわざとするだろ
0501nobodyさん2007/08/18(土) 13:56:22ID:???
ID出さないとこうなる、ということで
0502nobodyさん2007/08/18(土) 20:31:46ID:???
掲示板とかにある
一定以上のレスだと [1][2]とかページリンクどうやって作ればいいんですか?
0503nobodyさん2007/08/18(土) 20:32:54ID:???
ま た お ま え か

そんくらい自分で考えろボケ
0504nobodyさん2007/08/18(土) 21:03:23ID:???
PEAR::Pager使えばいいじゃない
0505nobodyさん2007/08/18(土) 21:20:38ID:???
そんくらい自分で考えるかソース読むくらいしないとね
つーか思いつくだろそんくらい
0506nobodyさん2007/08/18(土) 21:44:24ID:???
さすがに、調べればすぐ分かる事や誰でも思いつく事を聞かれてはね・・。
>>1すら見てなさそうだし。
0507nobodyさん2007/08/18(土) 21:48:05ID:???
クダスレなんだから、回答する気がないならレスするなよw

>>502
[1][2]のリンクだと、<a href="/1.html">[1]</a><a href="/2.html">[2]</a>とすれば可能です。
あとは、hrefのリンクの部分は必要に応じて変更して下さい。
0508nobodyさん2007/08/18(土) 22:36:01ID:???
エーッ!!
0509nobodyさん2007/08/18(土) 22:45:58ID:???
>>507
秀逸すぐる
0510nobodyさん2007/08/18(土) 23:26:57ID:???
>>507
さては本職だな
0511nobodyさん2007/08/18(土) 23:48:15ID:???
ひさしぶりに下スレでなごんだ(´ω`)
0512nobodyさん2007/08/18(土) 23:54:12ID:???
>>507
そのとおりだよな。サーバの負荷を考えれば別プログラムで静的HTMLを吐き出すのが定石。
0513nobodyさん2007/08/18(土) 23:54:15ID:???
なごまねえよキメエな殴りたくなる顔だわwwwwwwwww
■ このスレッドは過去ログ倉庫に格納されています