トップページ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
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];
05825812006/03/08(水) 22:08:04ID:???
アラヤダ
エンティティ化でセミコロンつけ忘れちゃった
0583nobodyさん2006/03/08(水) 22:09:04ID:74wPkS3/
>>582
できますたありがとう
0584nobodyさん2006/03/08(水) 22:16:53ID:???
掲示板やアクセス解析などを作っているのですが、
データベースを使うメリットを教えてください。
それから、今後の普及予想もお願いします。
やはりデータベースを利用したプログラムが増えていくのですか?
0585nobodyさん2006/03/08(水) 22:29:01ID:???
>>584
メリット:安定して動作し、データ破損や消失が少なく、データ件数が多い場合に検索・表示が高速
普及:とっくに普及してると思うが…20年前の人ですか!?
DB利用:これは普及とかは関係なく、システム規模などの条件でどっちを使うか決めるもの
0586nobodyさん2006/03/08(水) 22:29:10ID:???
>>584
掲示板だろうと、アクセス解析だろうと、
データを何かしらの方法で保存して、それを参照すれば、すなわちデータベース

お!君も既に使ってんジャンSUGEEEEEEEEEEEEEeeeeeeeeeeee!。





















と、煽ってみる
0587nobodyさん2006/03/08(水) 22:48:29ID:???
PHPで他のサーバーにあるページにPOST送信するにはどうすればいいのでしょうか?
socket関数を使うというようなことを聞いたことがありますがいまいちやり方がわかりません。
ちなみにhtmlでformタグのactionで指定するのでは目的は達成できないので、phpでよろしくお願いします。
0588nobodyさん2006/03/08(水) 23:07:29ID:???
>>587
PEARのHTTP_Request
05895872006/03/08(水) 23:24:24ID:???
pear使わないと無理ですか?
xreaでは使えないかなぁ・・・
0590nobodyさん2006/03/08(水) 23:34:28ID:???
>>589
>pear使わないと無理ですか?
pearを使わずに自作することは可能。
ただし、それにはHTTPを理解する必要がある。

>xreaでは使えないかなぁ・・・
どこであろうとpearは使える。
例え"pearコマンドでインストール"できないサーバでも、
必要なパッケージを適当な場所に置けばよい。
なぜならpearはPHPで書かれたライブラリ群に過ぎないから。

xreaで使えるかどうかについては板違い。
05915902006/03/08(水) 23:35:26ID:???
しまったID未表示に回答しちまった
0592nobodyさん2006/03/08(水) 23:39:07ID:???
( ´∀`)σ)д`)
0593nobodyさん2006/03/08(水) 23:45:45ID:MQhgDV9r
HTMLのAタグやIMGタグの相対パスを絶対パスに変換する
ライブラリってありますか?
PEARで探したところそれらしきものはなさそうでした。
0594nobodyさん2006/03/08(水) 23:46:16ID:???
なんで皆自作したがるんだ。
0595nobodyさん2006/03/08(水) 23:48:16ID:???
>>594
PEARの手動インストール方法を知らないからじゃない?
0596nobodyさん2006/03/08(水) 23:51:32ID:???
>>594
車輪が好きなんじゃない?
0597nobodyさん2006/03/08(水) 23:53:19ID:???
レン鯖にコマンドラインで接続なんてできるのか?
0598nobodyさん2006/03/08(水) 23:54:52ID:???
>>597
無理
0599nobodyさん2006/03/08(水) 23:56:19ID:???
>>593
Net_URLのresolvePath
0600nobodyさん2006/03/09(木) 00:02:23ID:???
>>597-598
出来る
たとえばSAKURA Internet(http://www.sakura.ne.jp/)
はtelnet/ssh接続で接続できるサービスを提供している
レン鯖といっても専用サバなら当然出来ると思うが。

板違いすまない。
0601nobodyさん2006/03/09(木) 00:06:22ID:???
板違いついでにxreaもsshなら接続できる
0602nobodyさん2006/03/09(木) 00:26:43ID:???
え、マジで?
それは知らなかった。早速やってみよう。
0603nobodyさん2006/03/09(木) 01:07:10ID:???
>>590
HTTP_Requestでできました!!パッケージのインストールすら初心者には大変なもので・・・結構時間かかりました。
本当にありがとうございました!!
0604nobodyさん2006/03/09(木) 01:10:24ID:???
ド初心者が1時間半でインストール〜POST送信までできれば上出来だな。
0605nobodyさん2006/03/09(木) 01:10:53ID:???
20M程度のログファイルをphpで整形するスクリプトを作っているのですがメモリ関係で躓いています。
ファイルをfile関数で取り込むと

error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 15920437 bytes)

と表示されます。
調べてみるとmemory_limitを増やせば解決できるそうなのですが、
増やすとリスクが増えたりする可能性があるきがしましてできれば他の方法で解決を図りたいのですが、

何か良い方法はございますでしょうか。
0606nobodyさん2006/03/09(木) 01:13:54ID:???
file関数は一気にその20MBをメモリに乗せるものだから当たり前だろ。

どういう整形をするかまったく書かれてないので、相談に乗りにくいのだが、
fopenで開いて、1行単位、もしくは、指定容量単位で処理すべき。
0607605じゃないよ2006/03/09(木) 01:17:37ID:???
>>606
おまえニートの癖になんでそんなにえらそうなんだ?PCオタクがそんなに偉いのかよ。
0608nobodyさん2006/03/09(木) 01:19:59ID:dcUpKQFS
別にPEARなんかサイトからダウンロードしてそのまま置けばいいだけじゃん。
0609nobodyさん2006/03/09(木) 01:20:04ID:???
>>607
お前の方が偉そうだ
0610nobodyさん2006/03/09(木) 01:21:00ID:???
>>608
推奨じゃないから
0611nobodyさん2006/03/09(木) 01:21:30ID:???
>>607=>>605
0612nobodyさん2006/03/09(木) 01:28:38ID:???
>>607=ツンデレ
0613nobodyさん2006/03/09(木) 01:32:41ID:SHZr9acF
PEARについて詳しくかかれた本ってあります?
オンラインものじゃなくて、本があったほうがうれしいんで・・・
0614nobodyさん2006/03/09(木) 01:35:37ID:???
>>613
PHP関連の書籍(但しPHP出版系お断り)第2版
http://pc8.2ch.net/test/read.cgi/php/1117066073/

参考書籍推薦スレッド
http://pc8.2ch.net/test/read.cgi/php/1014836425/
0615nobodyさん2006/03/09(木) 01:46:10ID:???
PEARって便利なんだなあ
うふひひふ
0616nobodyさん2006/03/09(木) 02:02:35ID:???
http://pc8.2ch.net/test/read.cgi/php/1140786348/
これをparse_urlで分解するとpath には/test/read.cgi/php/1140786348/が戻されますが、
真ん中の「php」の部分だけを戻したいときはどうしたらいいでしょう。
0617nobodyさん2006/03/09(木) 02:07:54ID:???
>>616
○投げスレではない。
あとIDだして質問しろ
0618nobodyさん2006/03/09(木) 02:11:01ID:???
617 名前:nobodyさん[sage] 投稿日:2006/03/09(木) 02:07:54 ID:???
>>616
○投げスレではない。
あとIDだして質問しろ
0619nobodyさん2006/03/09(木) 02:12:32ID:???
俺も前丸投げスレじゃないって言われたんだけどどういう意味なの?自治したいだけなの?
0620nobodyさん2006/03/09(木) 02:16:29ID:???
>>619
質問スレの自治厨なんて質問に答えられない奴に決まってんだろw
■ このスレッドは過去ログ倉庫に格納されています