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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/02/24(金) 22:05:48ID:YHkZgU8b
PHPに関するくだらねぇ質問用スレです。 
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。 

まず読め【PHP マニュアル】 
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/l50

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

過去スレは>>2
0482nobodyさん2006/03/07(火) 20:24:04ID:???
>>481
スルー汁
04834742006/03/07(火) 20:26:25ID:???
>>481
本人乙。アホすぎて話にならんな。死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
0484nobodyさん2006/03/07(火) 20:28:31ID:???
一番の厨房は474の方だったってオチかよw
0485nobodyさん2006/03/07(火) 20:31:55ID:???
>>484
最近、他人の番号騙ってるアホが湧いてるので
そうともいいきれんと思う。
とりあえず、去るまで変なのはスルーってことで
0486nobodyさん2006/03/07(火) 20:34:04ID:???
>>485は諸葛孔明
0487nobodyさん2006/03/07(火) 20:49:32ID:???
ゆとり教育がここまで恐ろしいものだったとは……
0488nobodyさん2006/03/07(火) 20:51:41ID:???
なんでこのスレはことあるごとにゆとり教育の話題があがるんだよwwww
0489nobodyさん2006/03/07(火) 20:56:16ID:???
リア厨リア工には分からないだろうね。
0490nobodyさん2006/03/07(火) 20:57:32ID:???
フロント厨の俺には全てが分かるぜ。
0491nobodyさん2006/03/07(火) 21:16:18ID:???
>>466
必要があれば別にエンコードした結果をファイルに保存してもいいし、
その方がいい場合もある。
その辺はTPO。
0492nobodyさん2006/03/07(火) 21:16:23ID:???
>>490
RealのリアをRearにかけたわけか。見事!
0493nobodyさん2006/03/07(火) 21:18:45ID:???
>>492
自画自賛乙
0494nobodyさん2006/03/07(火) 21:24:29ID:???
自画自賛乙

と言った時の快感が忘れられない。
0495nobodyさん2006/03/07(火) 21:37:36ID:???
ID出ないからどれもこれも全く説得力ない
0496nobodyさん2006/03/07(火) 21:46:54ID:???
Web制作、レン鯖、WebProgはID出ないから荒れまくり
0497nobodyさん2006/03/07(火) 21:49:14ID:???
でも見えてる人には見えてるんでしょ?ID
0498nobodyさん2006/03/07(火) 21:57:44ID:???
名前欄に山崎渉と入れるとIDが出るよ。
0499nobodyさん2006/03/07(火) 21:59:47ID:???
管理側にはそりゃみえるだろうよ。
まぁIDなんざ、動的に割り振られてるIPの前にはいくらでも変えられる。
0500nobodyさん2006/03/07(火) 23:15:26ID:???
>>471
なんとなく言いたいことをくみとると、
$lines = file_get_contents('http://c-others.2ch.net/test/-/mnewsplus/1141726843/w');
preg_match_all('/<input type=hidden name=(?:(?:key)|(?:time)) value=(.*?)>/', $lines, $matches);
print_r($matches);
でいいんじゃない?
0501nobodyさん2006/03/07(火) 23:19:04ID:psJP3on1
WebProg板自治スレッド@WebProg
http://pc8.2ch.net/test/read.cgi/php/1064684350/l50

自治スレで要望だそうぜ!
0502nobodyさん2006/03/07(火) 23:34:57ID:???
PEARのHTTP_Requestクラスを使って
以下のようにしてwebサイトを取得しているのですが、
コンストラクタに渡すURLが妥当なものでんないと
エラーチェックする前にエラーを吐いてしまいます。
何とかなりませんかね。

require_once "HTTP/Request.php";

$req =& new HTTP_Request("http://www.yahoo.com/");
if (!PEAR::isError($req->sendRequest())) {
echo $req->getResponseBody();
}
0503nobodyさん2006/03/08(水) 00:09:50ID:???
>>502
URLの形式かどうかチェックして渡せばいいんじゃないでしょうか
05045022006/03/08(水) 00:19:48ID:???
>>503
ハァ?中学生?んなことはわかってる。具体的な解決方法を聞いてるんだよ。初心者が口出しするな。
0505nobodyさん2006/03/08(水) 00:26:14ID:???
$url="http://www.yahoo.co.jp";

preg_match('/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $url))
0506nobodyさん2006/03/08(水) 00:28:37ID:???
PearのHTTP_Requestって、中身の画像なんかも一度に取得してくれるのか?
0507nobodyさん2006/03/08(水) 00:54:22ID:???
なんで最近はそのままずばりの回答じゃないと質問者が怒るんだよ
立場わきまえれ
0508nobodyさん2006/03/08(水) 01:08:57ID:???
>>507
>>485
05095022006/03/08(水) 01:30:52ID:???
504は別人です。(荒らすなボケ>>504
妥当性をチェックするのは別にいいんですけど
if (!PEAR::isError($req->sendRequest())) {
のところでエラーチェックしてるのに意味無しなんですよね。
0510nobodyさん2006/03/08(水) 01:34:24ID:???
>>506
しない。HTMLの解析はそもそもHTTP_Requestのお仕事ではないので。

>>508
質問者を装って、すぐさま「自己解決しました」ってやるのもあったな。
05115102006/03/08(水) 01:39:29ID:???
自己解決しました。
0512nobodyさん2006/03/08(水) 01:55:39ID:???
>>511
えーと、どこで笑えばいいのかな?
0513nobodyさん2006/03/08(水) 01:58:40ID:???
>>509
良く判らないんだけど、URLを渡さないでコンストラクトして
後でsetURLメソッドを使ってURLを指定したら駄目なの?
# 妥当性はHTTP_Requestの中では、Net_URL使ってんのかな。
05145132006/03/08(水) 03:38:53ID:???
後指定でも一緒だな。
というより
>>502
>コンストラクタに渡すURLが妥当なものでないと
>エラーチェックする前にエラーを吐いてしまいます。
なんてならないんだが。妥当でないURLは具体的にどんなの?
0515nobodyさん2006/03/08(水) 07:24:40ID:???
質問者は(ageついでに)ID出せ
0516nobodyさん2006/03/08(水) 07:44:41ID:???
>>515
テンプレに追加だな
0517nobodyさん2006/03/08(水) 08:14:38ID:???
>>515-516
前はあったのにいつのまにか消えてるね

回答者はアンカー汁
も追加してくり
0518nobodyさん2006/03/08(水) 10:41:14ID:???
>>517
過去スレ全部見たがID必須のテンプレがついてたことは1度もない。
さては貴様、本スレと勘違いしておるな?
0519nobodyさん2006/03/08(水) 10:54:53ID:???
>>518
過去の事はどうでも良い。
これから先、どう生きるかが問題だ。
0520nobodyさん2006/03/08(水) 10:56:30ID:???
$d = '&1&&2&&3&&4&&5&&6&&7&';
のように、「&[^&]&」という値の組み合わせが羅列されている文字列から
preg_replaceを使って、「&1&&2&&3&&4&&5&」のように先頭から最大で5組の
値を取り出すにはどのようにすればいいでしょうか。

私の試したコード(これではダメでした)
$d = preg_replace('((?:(?:&[^&]&){1}?){,5}?)', '\1', $d);
0521nobodyさん2006/03/08(水) 11:03:18ID:???
>>520
print preg_replace('/^((?:\&[^&]*\&){0,5}).*/', '\1', $d);
こう?
0522nobodyさん2006/03/08(水) 11:16:26ID:???
>>481
フォームとGETとPOSTの勉強しろってのは十分な回答だと思うが…。
0523nobodyさん2006/03/08(水) 11:19:10ID:???
ゲットなんてなれなれしい言葉で質問するからわかりにくいんだよ
GET POST という用語がわかってれば、そんな言葉は使わないだろ
05245202006/03/08(水) 11:19:23ID:???
>>521
で、できました!!感激です!!
ご回答ありがとうございました。何時間考えてもわからなかったので
非常に助かりました。
05255002006/03/08(水) 11:24:21ID:???
>>522
真面目に答えた漏れの立場は…
0526nobodyさん2006/03/08(水) 11:24:24ID:LmEgCiLJ
配列の関数で
Array([0]=>ちんこ [1]=>まんこ)
の戻り値が返ったときにそれぞれ
ちんこを$tin
まんこを$man
と置くにはどうしたら良いでしょうか
0527nobodyさん2006/03/08(水) 11:28:06ID:???
$asoko = array('ち○こ', 'ま○こ');
list($tin, $man) = $asoko;
0528nobodyさん2006/03/08(水) 11:30:55ID:???
「ページをゲットする」は言うだろw

>>475のレスが厨なだけで>>471の質問自体は非はない。初心者向けのスレだし。
もちろん的確な回答をした奴も正解。乙
0529nobodyさん2006/03/08(水) 11:31:28ID:???
>>525
うーん、おれはあのURLにスラッシュ区切りでパラメータ並べたときの
パラメータの取得方法のことをいってるのかと思ったけどなー。
0530nobodyさん2006/03/08(水) 11:32:34ID:???
ようはスパイダリングの話なのかな。
0531nobodyさん2006/03/08(水) 11:32:51ID:???
>>525
乙。まぁくだ質だし、質問者もアレな奴が多いから
あまり気にしない方がいいと思うよ。最近特に変なのがいるし。
0532nobodyさん2006/03/08(水) 11:32:57ID:LmEgCiLJ
>>527
出来ましたありがとうございます
05335252006/03/08(水) 11:40:36ID:???
なるほど、なるほど。参考になります。
0534nobodyさん2006/03/08(水) 11:46:58ID:???
>>529
それだとわざわざhiddenの内容を示す意味って無いんじゃないか?
0535nobodyさん2006/03/08(水) 11:47:02ID:???
>>527
もっとわかりやすくするなら、
$asoko = array('ち○こ', 'ま○こ');
$tin = $asoko[0];
$man = $asoko[1];
でもおけぃ
05364812006/03/08(水) 11:57:41ID:???
>>522
もちろん、471がPOSTやGETの勉強をした方がいいのは事実だし、471自身へのアドバイスとしては的確。
だけど、質問に答えないで別のことを咎めるのはスレの趣旨にそぐわないと思う。それだけ
0537nobodyさん2006/03/08(水) 12:00:04ID:???
>>536
その言葉はおまえ自身に返ってくるようなw
0538nobodyさん2006/03/08(水) 12:14:31ID:???
スレの趣旨?

PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
0539nobodyさん2006/03/08(水) 12:19:15ID:???
素早く回答が出ることが趣旨になった覚えはまったく無いんだが…
0540nobodyさん2006/03/08(水) 13:25:55ID:???
じゃあ次スレは回答禁止にするか?
0541nobodyさん2006/03/08(水) 13:32:20ID:???
極論でしか話せない人が約一名いるな。
まあまたーりしろ。
0542nobodyさん2006/03/08(水) 13:39:38ID:???
まぁ、あんなのもこんなのも、
全部含めて和気藹々
0543nobodyさん2006/03/08(水) 13:58:48ID:???
腋毛愛愛
0544nobodyさん2006/03/08(水) 14:34:19ID:???
自宅のWin2000PCにApache2とPHP4走らせてるんですが
同じPCにPHP5を追加してPHP4と共存させることってできますか?
0545nobodyさん2006/03/08(水) 14:40:13ID:???
>>544
無理でゴンス
0546nobodyさん2006/03/08(水) 14:50:16ID:???
拡張子を.php4と.php5とかにして振り分けるってのなら最近なんかの雑誌で見かけた気はする
0547nobodyさん2006/03/08(水) 15:15:29ID:???
3と4なら共存させる仕組みあったのにねぇ
これじゃいつまでたっても5が普及しない

>>546 詳しくきぼんぬ
0548nobodyさん2006/03/08(水) 15:19:43ID:???
>>544
可能。VirtualHostで切り分ける手がある。
まあ良く判んなければ、Apache+PHPを別Portで複数動かして
クライアント側がアクセスするPortで切り分けるか、
>>546のように拡張子でPHP-cgiの起動を切り替える。

Win2000ってことはテストで動作比較したいんでしょ。
なら手軽に分離できる別Portで切り替えを薦める。
0549nobodyさん2006/03/08(水) 15:26:25ID:???
コンテンツアドバイザのパスワードをレジストリエディタでみようとしたら
パスワードがバイナリ値というので表示されていました。
バイナリ値を普通の言葉にできるソフトや、そういった解説をしている
HPなどはありますか?
0550nobodyさん2006/03/08(水) 15:50:21ID:???
>>549
どの辺がPHP?
0551nobodyさん2006/03/08(水) 15:54:07ID:???
>>549
子供はHなサイトを見ちゃイカンよ。
0552nobodyさん2006/03/08(水) 15:55:00ID:???
ある日付から月末日を算出するにはどんな方法があるでしょうか?
色々考えてみたのですが、非常に面倒な方法になってしまいました。

例2005-03-20 → 2005-03-31、2006-01-20 → 2006-01-31
0553nobodyさん2006/03/08(水) 15:58:52ID:???
「php 日付 チェック」でググルとかしてみれ・・
0554nobodyさん2006/03/08(水) 16:06:17ID:vjc8ygyC
>>552
ヒント:翌月1日の1日前の日付が当月の末日
0555nobodyさん2006/03/08(水) 16:15:40ID:???
>>552
http://php.benscom.com/manual/ja/function.date.php
0556nobodyさん2006/03/08(水) 16:24:15ID:???
>>552
ttp://php.benscom.com/manual/ja/function.mktime.php
> 例 2. 次月の最後の日
> 指定した月の最後の日は次の月の -1 番目の日ではなく、"0" 番目の日 として表すことが可能です。
> 以下の例はともに文字列"The last day in Feb 2000 is: 29" を出力します。
> $lastday = mktime(0, 0, 0, 3, 0, 2000);
> $lastday = mktime(0, 0, 0, 4, -31, 2000);
0557nobodyさん2006/03/08(水) 16:31:53ID:???
$foo = '2005-03-20';
$t = explode('-', $foo);
$bar = date('Y-m-t', mktime(0, 0, 0, $t[1], $t[2], $t[3] ))
;
echo $bar;
0558nobodyさん2006/03/08(水) 16:32:58ID:???
あ、ごめん$t[3]は$t[0]のまちがいだ。

$foo = '2005-03-20';
$t = explode('-', $foo);
$bar = date('Y-m-t', mktime(0, 0, 0, $t[1], $t[2], $t[0] ));
echo $bar;
0559nobodyさん2006/03/08(水) 16:40:34ID:???
PHP4.3とMySQL3.23でシステム作ってます。

PEARを使わずmysql〜関数を使用して自作クラス作りました。
INSERTやUPDATEは型判別して自動でクエリ文作る感じです。

mysql_fetch_array() で取得した値が全てstring型になっていたため、
一部のパラメータのみを書き換えてINSERTやUPDATEすると
エラーになり苦労させられたのですが、
この辺どのように回避していますか?

また、PEARを使用すれば上記は回避できるのでしょうか?
0560nobodyさん2006/03/08(水) 16:49:00ID:???
>>555
"指定した月の日数。"なんてオプションがあるんだな。
質問者ではないがありがとう。

print date(t,strtotime("10 April 2006"));
0561nobodyさん2006/03/08(水) 16:56:30ID:???
>>560
エラーになるかと思ったけど動くんだ、それ・・・
0562nobodyさん2006/03/08(水) 16:58:53ID:???
どのへんでエラーになると思ったのかな
tが裸だから?
0563nobodyさん2006/03/08(水) 16:59:17ID:???
>>559
PEAR::DBではクエリ作成の機能を持ってない。
ADOdbではFetchField()でDBネイティブの各カラムのデータ型の取得と、
MetaType()でその型を汎用的な抽象表現への変換ができるようになってる。
PHPの変数は型を厳密に規定できないので、あらかじめDBからテーブルの型を
取得しておこう、って発想なんだと思う。
05645602006/03/08(水) 17:05:25ID:???
>>560
今月でいいなら
print date(t);
でも可

print date(t,strtotime("April 2006"));
でも動くし

>>561
俺もなんで動かないと思ったか知りたい
責めてるんじゃなくて、もっといい記述方法があれば知りたいのだ
0565nobodyさん2006/03/08(水) 17:07:18ID:???
>>564
561じゃないけど、第一引数はちゃんと'〜'なり"〜"で括りましょう。
0566nobodyさん2006/03/08(水) 17:09:55ID:???
>>565
thnx
明示しとけって事ね
05675622006/03/08(水) 17:10:28ID:???
ま、やっぱり裸だったとこかね。
0568nobodyさん2006/03/08(水) 17:27:19ID:???
>>566
明示っつーか、define未定義の動作に頼った記法はあんま良くないよ。
05695592006/03/08(水) 17:29:49ID:???
>>563
レスどうもです。
DB_common::autoPrepare() でINSERT/UPDATEのクエリを
作ってくれるようなんですが、
使うに当たり疑問になりまして。。。
結局型をあわせてやらにゃいかんのかな〜

今PEARのDB関係のメソッド漁ってますが、
型を取得するメソッドが見つからないんですが(;´д⊂
今のままでいっかなぁ・・・
0570nobodyさん2006/03/08(水) 17:42:09ID:???
>>569
ごめん。PEAR::DBでもクエリ作成できたのね。吊ってくる…
autoPrepare()は型を含んだクエリテンプレートの自動生成みたいよ。
実際のクエリ生成はそのテンプレートを元にexecute()で生成するぽい。
0571nobodyさん2006/03/08(水) 17:59:00ID:???
>>570
DB_common::getAll() なり何なりで取得した配列が
全部DBと一致する型・・・とは言わないまでも、
intがstringになってたりしなければ問題ないんですけどね〜

もうちょっと揉まれてきます(´д`)
0572nobodyさん2006/03/08(水) 19:26:32ID:???
string date ( string format [, int timestamp] )
05735592006/03/08(水) 19:34:59ID:???
ガイシュツかもしれないけど一応報告。

DB_common::getAll() の戻り値:軒並みstring

以下テーブルを作り、execute()内でどんなクエリが作成されるか検証。

テーブル名:t_test
key1:verchar(255)
key2:int(11)
key3:tinyint(4)

・ソース1
$data = array( "data1", 2, true );
$ret = $conn->autoPrepare( "t_test", array( "key1", "key2", "key3" ) );
$conn->execute( $ret, $data );

・クエリ1
>>"INSERT INTO t_test (key1,key2,key3) VALUES ('data1',2,1)"

・ソース2
$data = array( "data1", "2", "true" );
$ret = $conn->autoPrepare( "t_test", array( "key1", "key2", "key3" ) );
$conn->execute( $ret, $data );

・クエリ2
>>"INSERT INTO t_test (key1,key2,key3) VALUES ('data1','2','true')"

単にexecuteの第二引き数の型をそのまんま適用しているだけっぽい。
DB次第じゃエラーですなヽ(;´д`)ノ
0574質問2006/03/08(水) 20:55:12ID:MC7d+fja
PHPでJavascriptのtoStringメソッドみたいなことをさせるにはどうしたらいいんやろ?
具体的に言うと文字列を10進数とか16進数とかエンティティ化する方法はないですか?
0575nobodyさん2006/03/08(水) 21:17:17ID:???
>>574
つ【マニュアル】
0576nobodyさん2006/03/08(水) 21:40:22ID:74wPkS3/
Array ( [0] => Array ( [0] => [1] => ) [1] => Array ( [0] => a [1] => b ) )
このときaを$pen bを$con
という変数に置くにはどうしたらよいでしょうか?
0577nobodyさん2006/03/08(水) 21:46:50ID:???
>>576
できない。
0578nobodyさん2006/03/08(水) 21:49:31ID:74wPkS3/
ええ?そうなんですか・・・ありがとうございました
0579nobodyさん2006/03/08(水) 21:50:45ID:???
マテマテww
0580nobodyさん2006/03/08(水) 21:51:00ID:???
>>574
ord()
0581nobodyさん2006/03/08(水) 21:54:42ID:???
>>574
ordかsprintf。
エンティティ化は
preg_replace_callback('/./', create_function('$m', 'return "&#".ord($m[0]);'), $str);
て感じか。
これやってくれる関数あるっけ?htmlentitiesやhtmlspecialcharsじゃ特定文字だけだしな。

>>576
$a = array(array('', ''), array('a', 'b'));という意味だと仮定するとlist($pen, $con) = $a[1];
■ このスレッドは過去ログ倉庫に格納されています