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

【PHP】質問スレッドpart24【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/11/01 04:09:15ID:???
・PHP全般の質問スレです。 
・新規質問の方は上げてください。age進行でお願いします。 
・質問する際には環境も明記。 
・正しい日本語で分かりやすく。 
・レスがつかないからって逆切れする厨お断り。 
・解決しなくてもこたえてもらったら礼を。 


■本家 
 http://www.php.net/ ;

■日本 PHP ユーザ会 
 http://www.php.gr.jp/ ;

■PHP マニュアル 
 http://www.php.net/manual/ja/ ;

■PEAR マニュアル 
 http://pear.php.net/manual/ja/ ;

過去スレ, 関連スレ等>>2-4 
0448nobodyさん04/11/10 03:05:19ID:???
>>447
なぜ、output_buffering = On にしない?
0449nobodyさん04/11/10 03:29:41ID:???
>>439
urlrawencode() OR urlencode()
0450nobodyさん04/11/10 03:50:52ID:???
自動で出力バッファかけても一階層深くなるだけだからじゃねーの
045142904/11/10 04:45:07ID:???
>>433
律儀やね

>>436
srand()の意味が分かってないのでマニュアルを読んだ方が良い。
あと、今回のようなケースではshuffle()使った方が楽。
ランダムで吐き出す数が決まってるなら、array_rand()でも良い。

>>439
urlencode()

>>440
暗号化には2種類あって、複合化できるものとそうでないものがある。
md5()は後者。
そもそも、複合化できるなら暗号化する意味がない。
045242904/11/10 04:46:27ID:???
ゴメン。
最新レス取得せずに書き込みしてしまいたくさんカブってしまった。
0453nobodyさん04/11/10 05:17:03ID:???
×複合化
○復号
0454nobodyさん04/11/10 07:42:04ID:???
複合化だってよ...ださっ
045541604/11/10 08:36:32ID:???
>>444
PHP のソースに含まれている GD を組み込んでいない場合は GD のヘッダは
要求されないので pear install pdflib で成功する。

または、
http://www.boutell.com/gd/
の GD をインストールしている場合はそちらの方のヘッダを使用できるよう
なので、pear コマンドでも成功すると思う。
0456軟式PHP04/11/10 09:02:14ID:???
>そもそも、複合化できるなら暗号化する意味がない。
頭悪そう・・・・
0457nobodyさん04/11/10 09:07:54ID:???
>>456
オマエモナー
0458軟式PHP04/11/10 09:14:33ID:???
>>457
。・゚・(Д`(⊂(゚Д゚ つ⌒
045944404/11/10 09:54:01ID:???
>>455
なるほど。JpGraphもよく利用するので gd は迷わず有効にしてました。
l今回は勉強になりました。どうもありがとうございました。

ちなみに pdf_fit_textline 関数はlite版では動かなかった・・・・
ライセンス買えってかorz
0460nobodyさん04/11/10 10:10:21ID:???
>>456
オマエガナー
0461nobodyさん04/11/10 10:48:26ID:???
軍事通信で暗号化するのも「意味がない」らしい(藁
0462nobodyさん04/11/10 14:02:56ID:???
blowfishとかショボーンだな。
0463nobodyさん04/11/10 14:10:05ID:???
軍事ってまだ秘密鍵なのか?
0464nobodyさん04/11/10 16:43:27ID:???
教えて下さい
HTML>
body>

ココからヤフー
<?
readfile("ttp://www.yahoo.co.jp");
?>
/BODY>
/HTML>
上のように自分ページに他のアドレスのページをくっつけたいのですが
readfile関数を使うと相対URLで書かれていたリンクや画像が自分のURLになってしまうので
404エラーや画像が正しく出ません
絶対URLに直す方法を教えて下さい
あとreadfileで指定したURLがCGIなどで自動的にジャンプするときにはそのジャンプ先のアドレスを読み込み表示するようですが
ジャンプ先のURLの取得方法を教えて下さい

優しいかたおしえてください
0465nobodyさん04/11/10 16:55:17ID:???
著作権違反です。
0466nobodyさん04/11/10 16:57:15ID:???
>>464
> 絶対URLに直す方法を教えて下さい
正規表現で書き換え。この時点でreadfileで済ますのは難しくなるな。
> ジャンプ先のURLの取得方法を教えて下さい

HTTPヘッダのLocation: URL や HTMLヘッダのmeta refresh を使う場合がほとんどだから、
両方を自分で処理すればよい。

難易度がかなりアップしてるなぁ。人のページを取り込むなんてセコいことせずに
リンクだけ貼っておけばええやん<a href="〜">だけで済むぞ。良かったな!
0467nobodyさん04/11/10 17:14:31ID:???
>>464
<base href= >を使えばいい
0468nobodyさん04/11/10 17:25:18ID:???
>>467
やさしいひとありが�d
0469nobodyさん04/11/10 17:33:44ID:???
犯罪幇助乙
0470nobodyさん04/11/10 17:51:49ID:???
ついにタイーホ者が・・・
0471nobodyさん04/11/10 18:24:24ID:???
>>469>>470
面白いか?
047246404/11/10 18:31:53ID:???
ジャンプ先のURLの取得方法はどうすればいいですか?

やさしい人おしえてください
0473nobodyさん04/11/10 18:34:06ID:???
>>467
絶対パスで書かれていたら無効。
やはり、ソース引っ張ってきてリンク部分を正規表現で変換していく方法となるだろう。
0474nobodyさん04/11/10 19:23:05ID:???
>>471
犯罪者乙
0475nobodyさん04/11/10 19:35:49ID:???
enctype が multipart/form-data で送信されるデータを
php://input などで読み取ることはできないでしょうか?
0476nobodyさん04/11/10 19:59:23ID:???
>>475
  _、_       そろそろ自分で確かめてるだろうから、
( ,_ノ` )y━・~~~ 試した結果を教えてもらおうか
0477nobodyさん04/11/10 21:05:28ID:???
>>472
ジャンプ先ってリダイレクト先のこと?
ヘッダにリダイレクトがあればそこに飛ばす。
それ系の説明したページは腐るほどあるからググれ。
時々リダイレクト先を相対パスで指す場合があるので、その辺注意。
047827204/11/10 21:23:43ID:???
pdfを読みたいんですがどうしたらいいですか。
出力する方法ならよく記事になってるんですが・・
ちなみにテキストだけでいいんです。
0479nobodyさん04/11/10 21:45:45ID:???
>>478

PHPは素人だけど・・・。
pdftotext(とか言う奴だったと思うけど)使ってtxtファイルに変換して読めば?
0480nobodyさん04/11/10 23:38:53ID:???
お返事ありがとうございます。>>449 >>451

$file = "ccc.cgi";

$aaa = stripslashes($_GET['aaa']);
$bbb = htmlspecialchars(urldecode($_GET['bbb']));


$ok="http://";
if($aaa = $ok):
$fp = fopen($file, "w");
fwrite($fp, "<a href=\"$aaa\" title=\"$bbb\">$bbb</a>");
fclose($fp);
endif

このようにしてみたのですが、上手く出来ません。
どこが間違っているのでしょうか?お願いします。
0481nobodyさん04/11/10 23:55:25ID:MdRF7bmL
誤って'/usr/local/lib/php/'以下を削除してしまいました。
再インストールしてみても復活できませんでした。
実際の操作としては php-4.3.9/ で make install を行いました。
どのようにすれば復旧できるでしょうか。
048243304/11/11 00:21:33ID:???
>>451さん
ありがとうございます。
おかげさまで順調です。
0483nobodyさん04/11/11 02:12:24ID:???
>>480
$aaa = $ok の時点で必ず $aaa は "http://" になり if 文は必ず true になり意味が無い
$aaa == $ok だとしても "http://" と比較するだけであり、リンクとなるのが <a href="http://" title="....."> しか有り得ない

なにがやりたいのかよくわからないが とりあえず上記の間違いは直しとけ……
048448104/11/11 02:17:33ID:???
自己レス
/usr/local/lib/phpディレクトリを削除して再インストールしたら復活しました。
0485nobodyさん04/11/11 03:32:26ID:KRI/ACvq
system("platex test.tex");
とやってもうんともすんとも言ってくれません。

system("dir");
とかは普通に動くのですが。

なにかオマジナイがいるのでしょうか?

0486nobodyさん04/11/11 03:43:35ID:???
>485
なんでエラー処理をしないんですか?
なんで絶対パス・相対パスを考慮しないんですか?
0487nobodyさん04/11/11 04:05:37ID:???
>>485
なんで環境を書かないんですか?
0488nobodyさん04/11/11 05:59:46ID:5oF+gWxQ
オブジェクトのプロパティーの初期値は
NULLで固定ですか?
わざわざNULLで初期値設定をしているプログラムをあまり見ないのですが…
0489nobodyさん04/11/11 07:51:51ID:SAqbK5N3
>>486
ごめんちん。
いけました。
0490nobodyさん04/11/11 11:37:55ID:ilzje3xZ
$fp = FOpen("http://www〜hoge.com","r");
とかやったあとに、そのURLから帰ってくる、html文を読むには普通のFgetSでいいんでしょうか?
0491nobodyさん04/11/11 12:00:43ID:???
まずは自分でやってから、ここに報告汁
0492nobodyさん04/11/11 12:09:41ID:???
>FOpen
>FgetS
キモイヨ
0493nobodyさん04/11/11 12:15:19ID:???
FGetSにならないのが不思議w
0494nobodyさん04/11/11 12:16:22ID:???
>FOpen
>FgetS
これって何言語の流儀?
0495nobodyさん04/11/11 13:17:25ID:nmdKIJIz
フォートラン
0496nobodyさん04/11/11 14:22:58ID:???
>>490
べつにいいけどさ、fgets()使うならポインタのオープンはfsockopen()でやった方が
タイムアウト処理とか楽だ。
049749004/11/11 15:28:36ID:ilzje3xZ
>491
しました。
FgetSで取ってきたら、ぬるぽでした

>494
オレオレ流
0498nobodyさん04/11/11 15:37:32ID:???
へ?PHPで Null Pointer Extensionが出るわけねーじゃん
0499nobodyさん04/11/11 15:42:36ID:ilzje3xZ
>498
かき方悪くてすまんですね

echo FgetS($fp,512);
しても表示されませんでした。

PHPだとなんていうんだい?
何もとって来れ無かったっていったほうがいいのかね?

厳密な定義のな言葉がわからないんで、気に触ったらすいませんね

0500nobodyさん04/11/11 15:45:04ID:???
Null Pointer Exceptionなら知ってるが
Null Pointer Extensionって何?
0501nobodyさん04/11/11 15:50:03ID:???
>>499
他の部分でもエラーハンドリングを確実にしているのにも関わらず
fgetsの返り値がfalseでなくて空文字だったのだったら、
何も取れなかったということですね。
050249604/11/11 15:50:05ID:???
>>497
PHPなら流れはこんな感じになるだろう。

$fp = @fsockopen();
socket_set_timeout($fp, 適当に);
fputs($fp, "GETなりPOSTなりお好きなように");
whileループとfgets($fp)組みあわせる等して色々;
fclose($fp);

ソケット使ってHTMLソース取得なんて他の言語も併せれば
資料いくらでもある。ググれ。
0503nobodyさん04/11/11 15:57:23ID:ilzje3xZ
>501〜502
色々ありが�d

ググって来ます
0504nobodyさん04/11/11 16:03:15ID:???
>>502
普通に$fp=@fopen($url,"r");
と書いてたけど、fsockopen()がいいんだ。。。
次からそうします。

ところで、3行目のfputsはどこへ書きだしてるの?
0505nobodyさん04/11/11 16:20:08ID:???
>>497
> オレオレ流

センス(趣味)悪いね。
0506nobodyさん04/11/11 16:44:22ID:???
つまり、詐欺的。
0507 ◆.jC7ANgFY. 04/11/11 17:33:02ID:???
>>504
fopenとfsockopenはまったく違うものだよ。
fopenではURLを開くけどfsockopenはIPアドレス(又はドメイン)を指定して開く。
fputsは開いたポートからサーバーへデータを送っているって感じ。
前にここでサンプル晒したんだけどなぁ、前スレで、、
0508 ◆.jC7ANgFY. 04/11/11 17:41:02ID:???
>>504
どうしても見つからないようであればどうぞ。
あまりいいサンプルではないけど。
ttp://f9.aaa.livedoor.jp/~fcafe/fbox/lib/sock.phps
0509nobodyさん04/11/11 18:00:40ID:???
自分は使い捨てのスクリプトなら、ものすごく単純にこうしているけど。

$contents = file( "http://なんたら" );
if ( $contents===false) {
// タイムアウトかURL not found
}

きちんとやろうとすると508のスクリプトになるのかぁ。ちょと大変。
051050304/11/11 18:35:31ID:ilzje3xZ
できました
ありがとう
0511軟式PHP04/11/11 18:48:54ID:???
Imo氏はコメントがマメやね。
0512nobodyさん04/11/11 20:22:03ID:???
メッソドワラタ
0513nobodyさん04/11/11 20:52:52ID:QmAFV0EC
メッソド!メッソド!(・∀・)
0514nobodyさん04/11/11 21:27:25ID:???
Mesthod
0515nobodyさん04/11/11 21:29:11ID:???
Mesthod の検索結果 約 907 件
メッソド の検索結果 約 592 件
0516nobodyさん04/11/11 21:31:27ID:???
メッソドのあるページってJava関連の記事ばっかだな
0517 ◆.jC7ANgFY. 04/11/11 21:37:27ID:???
>>511 コメント書かないと後から読めないので(爆

>>512
ヤヴァイ(;´Д`)やはり公開は危険を伴うなw

>>513
メッソド(・∀・)!メッソド(・∀・)!
0518nobodyさん04/11/12 01:47:24ID:3oKIst3j
オブジェクトのプロパティーは
publicだと開けっぴろげすぎるので
とりあえずprotectedにする

そんなこと考えてるのは俺だけですか?
0519nobodyさん04/11/12 01:51:32ID:???
どういう思考回路なのか理解に苦しむ。
0520nobodyさん04/11/12 01:56:43ID:3oKIst3j
・外から直接いじられると嫌
・将来継承するかも分からない

ゆえにprotected
なんですが…
0521nobodyさん04/11/12 02:11:52ID:???
>>519
OOな考え前提じゃなくてコーディングレベルだけで考えるとこうなる
PHPは特にそうだろうが、誰しもが分析・設計からコードに落とすわけじゃないと思われ
0522nobodyさん04/11/12 02:35:07ID:???
形だけOOにしようとするとメンバのまとめ方、アクセス制限や
カプセル化で破綻しがちだーね。アクセス制限どうするかっていう部分から
考えはじめるのはオブジェクト指向とは相容れない

しかし現実的な問題もあるよ
IDE任せというわけにもいかないのがPHPだし
0523nobodyさん04/11/12 02:55:22ID:???
>>522
分析クラスさえ固まってないのにもうコーディングしなきゃいけない、
でもオブジェクトの性格がはっきりしない、ええい面倒だ全部public!
IDEがあてにならないならリファクタリングなんかしなきゃいいんだ!
という選択肢を選ぶのが真の男。

つかこの手のネタはくだスレの方でやったほうがいいんじゃなかろうか。
0524nobodyさん04/11/12 03:09:50ID:???
Webアプリケーションごときでクラスの設計とかにこだわるな。
0525nobodyさん04/11/12 03:20:31ID:+Yt5Ck4w
mysqlのデータベースをupdateする方法がよくわからないんだけど、
基本的にdeleteしてinsertするってのが一般的なのでしょうか?
0526nobodyさん04/11/12 03:27:58ID:???
>525
updateすればいいんでね?
0527nobodyさん04/11/12 03:28:44ID:???
>>525
             . ィ
.._ .......、._    _ /:/l!  またまたご冗談を
 :~""''.>゙' "~ ,、、''‐'、|         _      
゙、'、::::::ノ:::::::_,.-=.  _〜:、         /_.}'':,  いくらなんでもMySQLをバカにしすぎ。
 ``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ
 ,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:'  ノ゙ノブ     
"   .!-'",/  `'-‐'') /\ `/ でノ-〈
 .-''~ >'゙::    ‐'"゙./  ヽ.,'   ~ /
   //:::::       ',    /    ,:'゙
0528nobodyさん04/11/12 04:11:57ID:???
>>525 ( ゚ ∀゚)<デリーツ

   f`::'ー 、,-、-、_ _,....-- 、_  _,....-=―ヽ―-、-、_        、ミ川川川彡
   ,.r'‐'゙´ヽ,r'  ヽ \ー、_:::::::::/,´:::::::::::,:::::::,::::::::ヽ::\`ー、     ミ       彡
 ,〃ィ  ,rヽ'-ヽ i 、 、 ヾ,、 `'y',ィ´/::::::::/|::::::ハ_::::::::ト、::::\ \  三  ギ  そ  三
r'/〃//    | i! |, \、_`ー!rf.,イ-,ィ/u ノ::::/ |::::`::::|iヽ::::::ヽ  ヽ. 三   ャ れ  三
iヾ!l i /,.=ヽ  i,ケ ハ,i', Y't=ラ゙,〉'|::::r'|! 彡´ ,!--、 |i!|::|::i::::::',   ', 三  グ  は  三
  {ヾllッ-,   〃ノ'-'、||ii i|i| |-/! /^ヽ    ´   ヾ|从ノ::i::::|   ||三  で     三
  >|゙! 0ヽ ノ' ´ 0 レノWノi |,.、!/ 0       0  ',' レ|,イ::::i,,_ | !三  言  ひ  三
  ',i ヽ- ,      _, "  |i| | |             ´ '´ハ',Y  .!三  っ  ょ 三
  /l   `        !| | i `´ r     'ー‐' u   (-, ' |   !三  て  っ  三
  /久        U  |! i|'´'、u              z_,ノ/ .i |三  る  と  三
 /イ |ヽ '==..‐_、      |!,'|Y´,ヽ  ___        ハ_ ,/i | |三  の  し 三
 |ト|、',::::\     _,.-‐イ//-'´::::!\'ー‐--ニュ     / ト_、 _| _!,=,|三  か て 三
  〉:ヾ_'、::::`ー‐r<   //イ|::::::_、:::`7i\ __,..-‐'´  .| |`゙"::"::|-"三  !?    三
 'ー‐'´¨`'ー、/,rケ  /,'1ノ人'-‐'`y'/::::, i| ,!,      |`iiイ:::::::::|  彡     三
    ,〃7,‐/ {   ´_,-'´ ,,‐!、=,/.〃::::i i|kハ    / ,ヾ、::::::|.|!  彡川川川ミ
   ,ッ'、_〃'f /゙-<´  r〃 〃 /イ::::,!ッ'/  ',  / /   |ト、:|:リ
  rir' 〃,y'、久_,.rヽ/〃  川/iケir'〃/ ,-'水´  /    〃  \
  f::}'ー'〃_i| /::::f|::::',  .〃 r/if |||ir' f| レ' r'o | .〃-、 〃     "i
  ,);'ーッ゙-. レ:::::/_|::::::',_,〃=_、!!|| !i/ ||:,ri   !o ∨/_)_〃        |
0529nobodyさん04/11/12 04:29:04ID:???
わざわざリスクが高い選択はしないようにw
0530nobodyさん04/11/12 04:32:05ID:???
なんかクラス設計がご大層なものだと思ってるアホがいるから
マルチポストしてきてやったぞ。
http://pc5.2ch.net/test/read.cgi/db/1096838301/268
0531nobodyさん04/11/12 05:48:47ID:j3YLIEmE
cookieをセットするのに一番良いタイミングって何処でしょうか?
ob_start();とか使えばどこでもセットできるようですが
送信が溜まってると思うと苦いです。

if(phpversion()>="4.1.0"){
extract($_GET);
extract($_POST);
extract($_COOKIE);
extract($_SERVER);
}
の直後が一番良いのでしょうか?
0532nobodyさん04/11/12 05:49:21ID:???
ageてしまって失礼しました
0533nobodyさん04/11/12 05:51:51ID:???
妹がデュアルショックを股間に当てていました。兄もショックです。
テレビには、終始無抵抗で殴り続けられる平八が映し出されています。
妹と目が合いました。まずパンツを穿いてください。見つかりませんか。
脚に引っ掛けたままなのを忘れるほど動揺しているんですね。
床に投げ出されたコントローラーが、なおも続く振動でヴヴと鳴き蠢いています。
笑ってごまかしたって駄目です。しかし鉄拳3を選んだセンスは評価したい。
いま平八がKOされました。妹の醜態に兄も一発KOです。
0534nobodyさん04/11/12 05:56:14ID:???
始めてみるコピペだが、平八の顔した妹が思い浮かんで萎えた。
0535nobodyさん04/11/12 05:57:05ID:???
phpとは関係ないのでコチラに移動
妹がデュアルショックを股間にのガイドライン
http://that3.2ch.net/test/read.cgi/gline/1079969619/
0536nobodyさん04/11/12 08:53:02ID:FC5lH0u1
PHP5で
self::method()と
$this->method()
は内部的に全く同じですか?
0537nobodyさん04/11/12 09:05:02ID:DqN1EkY0
\r及び\nについてお聞きしたいことがあります。
一般的な言語では\r\nはそれぞれ0x0D 0x0Aだと思うのですが、PHPではどうなっているのでしょうか?
さまざまなサイトや関数リファレンス書籍等を見たところすべて\r=0x0A \n=0x0Dと記述されておりました。
しかしecho等で出力させたところ\r=0x0D \n=0x0Aとなりました。
実際にはどちらが正しいのでしょうか?
0538nobodyさん04/11/12 10:03:50ID:???
>>537
>さまざまなサイトや関数リファレンス書籍等を見たところすべて\r=0x0A \n=0x0Dと記述されておりました。
>すべて\r=0x0A \n=0x0Dと記述されておりました。
そんなはずはありません。
0539nobodyさん04/11/12 10:13:39ID:2WcufnQu
>>537
http://jp2.php.net/manual/ja/function.trim.php
0540nobodyさん04/11/12 10:18:59ID:2WcufnQu
多分上のマニュアル部分の事だと思うんだが、本家のマニュアルが間違ってるのをそのままコピーしてるだけ
http://jp2.php.net/manual/ja/tokens.php
では合ってる
0541nobodyさん04/11/12 10:36:31ID:2WcufnQu
http://jp2.php.net/manual/en/function.trim.php
間違ってるのは日本語だけかな
0542nobodyさん04/11/12 11:11:39ID:???
PHPの参照についての質問です。
------------------------------------------------------------------------
class X{
  var $n;
  function X($n){
    $this->n = $n;
  }
}
class Y{
  var $x;
  // 指定されたX型のメンバ変数を持つYオブジェクトを作成する
  function Y($x){
    $this->x = $x;
  }
}
var $x = new X(10);
var $a = new Y($x);
var $b = new Y($x);
$a->x->n = 20;
------------------------------------------------------------------------
これを実行すると、$b->x->n は10のままですよね。それを、
$a->x->n を変更したときに、$b->x->n の中身も
変更されるようにしたいのですが、何かうまい方法はないでしょうか?
0543nobodyさん04/11/12 11:14:49ID:8aG2jjUM
すいませんちょっと質問ですよ。

"#"(シャープ)の入ったURLを読み取るにはどうすればよいのでしょうか・・
$_SERVER['QUERY_STRING']や$_SERVER['REQUEST_URI']では
読み取れないんですが・・

よろしくおながいします。
0544nobodyさん04/11/12 11:19:53ID:???
<?php
class X {
    var $n;
    function X($n){
        $this->n = $n;
    }
}
class Y {
    var $x;
    // 指定されたX型のメンバ変数を持つYオブジェクトを作成する
    function Y($x){
        $this->x = & $x;
    }
}

$x = new X(10);
$a = new Y(& $x);
$b = new Y(& $x);
$a->x->n = 20;
?>

$x->n も変わるけど。
0545nobodyさん04/11/12 11:20:53ID:???
>>543
無理。
0546nobodyさん04/11/12 11:25:07ID:8aG2jjUM
>>545
回答ありがとう。
かなり衝撃的
054754204/11/12 11:30:33ID:???
>>544
なるほど。
コンストラクタ呼び出しの引数と、コンストラクタ内のメンバ変数の代入式の
両方を参照にするというのは思いつきませんでした。

ありがとうございました。
0548nobodyさん04/11/12 11:42:49ID:???
\#とかでもむり?
■ このスレッドは過去ログ倉庫に格納されています