トップページ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
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
06216172006/03/09(木) 02:19:26ID:???
>>619-620
死ねよバカども
頭悪いくせに2chくるなよwwww氏ね。逝け。クズが。
0622nobodyさん2006/03/09(木) 02:50:21ID:dcUpKQFS
コールバック関数に引数を渡したいのですが、
どうやれば良いでしょうか?
0623nobodyさん2006/03/09(木) 03:07:54ID:???
無理
0624nobodyさん2006/03/09(木) 03:17:09ID:???
>>616
"/"でsplitして、ゴニョゴニョする

というかその条件だけだとどういう方法がベストか分からないかも
0625nobodyさん2006/03/09(木) 04:07:23ID:???
>>622
カプセル化したのをグローバルに使えば?
0626nobodyさん2006/03/09(木) 07:59:21ID:???
>>561
ちゃんとNoticeが表示されるよ
みんなNotice消してるのかな
0627nobodyさん2006/03/09(木) 08:10:27ID:???
php.ini の デフォルトではNoticeも表示されるだろ
消す意味あるの?

たまに配布されているphpスクリプトでもNoticeエラーでまくることあるけど、
エラーは全て表示でコーディングした方がいいよ

0628nobodyさん2006/03/09(木) 09:49:04ID:???
Noticeなんて表示させなきゃ問題ないじゃん
出ても動くんだからさ
0629nobodyさん2006/03/09(木) 09:59:37ID:???
>>628
Warningだって止まりはしないので、表示させなければ問題なしですか。
0630nobodyさん2006/03/09(木) 10:02:23ID:???
Errorだって無視すれば・・・
0631nobodyさん2006/03/09(木) 10:18:29ID:???
>>627
「最近の」デフォルトな。以前はデフォルトじゃなかった。
昨今のPHPブームでNotice出しとかなきゃミスコーディングするやつが続出したんだろ。
PHPなんて本来お手軽に作れるからこそ価値あるものだし、元々の言語構造的に
厳密にコーディングしたところでかなり無駄なんだからわざわざ出すもんじゃないんだがな>Notice
06326272006/03/09(木) 12:23:00ID:???
>>631
そうか?
一般の他の言語なら動けばいいだけだ。
しかし、phpはWebプログラミング用の言語であり、他言語との連携も重視されている。
言語構造的に正しくコーディングすることはセキュリティホールの発生確率を下げることになる。

以前はデフォルトじゃなかった、というが、以前はGETで送信されてきた「hoge」が、$hoge にそのまま入っていたよね。
そして、Noticeエラーも出ないから変数の初期化忘れても気が付かないわけだ。
その2つが組み合わされたら即大変危険なセキュリティホールの完成だったじゃないか。
0633nobodyさん2006/03/09(木) 12:29:30ID:???
noticeの意味考えろや
せいぜい「通知」
気になる人は治しとけってだけ
0634nobodyさん2006/03/09(木) 12:36:57ID:???
>>633
へぇー
変数の初期化をしないことは普通の言語では重大なエラーに相当するんだけどね

おまいさんは、Apacheのログの Notice 全部記録されなくて困らないの?

プログラミング言語を考える時に、もとの単語の意味なんて気にしちゃ駄目。
0635nobodyさん2006/03/09(木) 12:44:57ID:???
ま、下らん煽りあいはやめとけ。
どっちが穴を防げるかっつったら議論の余地も無いだろ。
0636nobodyさん2006/03/09(木) 12:56:51ID:???
>>632
register_globalsがOFFになったのは随分前の話。これは本当にセキュリティホール。
NoticeがデフォルトONになったのはつい先日の話。これはへたくそプログラマが増えたせい。
0637nobodyさん2006/03/09(木) 13:47:54ID:???
言語なんてただの手段。
堅牢なプログラムが必要なら堅牢な組み方しろよ。言語関係なく。
0638nobodyさん2006/03/09(木) 14:06:11ID:???
E_STRICTを付けるか、display_errors = Offかのどっちかだろ。
0639nobodyさん2006/03/09(木) 14:19:09ID:31uVLi9S
HTTP_RequestでaddPostDataやsendRequestを使ってPOST送信するとサーバー側のIPからPOSTされたことになりますよね?
それを使用者のIPでPOSTするにはどうすればいいんでしょうか?
0640nobodyさん2006/03/09(木) 14:31:41ID:???
使用者というかクライアントだろ。
<FORM>タグでフォームを用意して、ユーザーにSUBMITボタンおしてもらう。
PHP使わbネくてもできるb諱B
0641nobodybウん2006/03/09(木) 14:35:46ID:31uVLi9S
>>640
それじゃあやりたいことができないんですよ・・・
0642nobodyさん2006/03/09(木) 14:36:00ID:X3uNYaoU
こんにちわ。PHPで引数を送りたいのですが、
現在file_get_contents("hoge.php?id=35")でやっています。
しかし、いちいちファイルを読み込む為時間がかかります。
引数だけ送ってファイルを読み込みたくない場合はどうすればよい
でしょうか。
0643nobodyさん2006/03/09(木) 14:36:41ID:???
>>642
file_get_contents("hoge.php?id=5");
になおす
0644nobodyさん2006/03/09(木) 14:37:26ID:???
セッションのことがいまいちわからないんですが、
わかりやすく解説しているサイトなどはないでしょうか。
0645nobodyさん2006/03/09(木) 14:37:27ID:???
>>641
POSTの仕組み勉強しなさい。
0646nobodyさん2006/03/09(木) 14:38:33ID:???
>>645
答えられないの?
0647nobodyさん2006/03/09(木) 14:39:52ID:???
>>646
>>645が答え。
車で空飛ぶにはどうしたらいいでしょうといわれても
車とはなにか学べとしか言えん。
0648nobodyさん2006/03/09(木) 14:40:30ID:???
>>646
原理的に無理、と遠まわしに言ってることにも気が付かないか
0649nobodyさん2006/03/09(木) 14:43:24ID:???
悔しくて2連投とかw
0650nobodyさん2006/03/09(木) 14:43:55ID:???
つーか普通にできるけどな
0651nobodyさん2006/03/09(木) 14:45:11ID:???
ヤフオクのストア管理画面とかログインにそれつかってるよな。
当然出る警告がウザイ。
0652nobodyさん2006/03/09(木) 14:46:48ID:???
まあでもPHPの仕事じゃないと思われ。
0653nobodyさん2006/03/09(木) 14:50:03ID:???
HTTP_Request::addHeader()
とか?
0654nobodyさん2006/03/09(木) 14:52:15ID:???
>>652
だな。perlの仕事だ。
0655nobodyさん2006/03/09(木) 14:58:11ID:???
Perlつえーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
0656nobodyさん2006/03/09(木) 15:00:46ID:???
あれだ、Perl本体インストールさせてPOSTするスクリプトダウンロードさせて、実行させるんだろ!
天才だな
0657nobodyさん2006/03/09(木) 15:03:28ID:???
それphpでもできるんじゃね?
0658nobodyさん2006/03/09(木) 15:16:55ID:???
できるけど、面倒すぎてユーザーが拒否すると思う
0659nobodyさん2006/03/09(木) 15:22:24ID:???
>まあでもPHPの仕事じゃないと思われ。
なんの仕事?
0660nobodyさん2006/03/09(木) 15:34:55ID:???
>>659
java
0661nobodyさん2006/03/09(木) 16:15:43ID:???
>>659
TCP/IPスタック
0662nobodyさん2006/03/09(木) 19:38:32ID:???
>>1-661
自作自演乙
0663nobodyさん2006/03/09(木) 20:55:15ID:???
シマンネ
0664nobodyさん2006/03/09(木) 21:03:05ID:???
header()関数で、
header('Server: unknown');
のようにして、サーバ環境を隠蔽しようとしたのですが、うまくいきません。
エラーが出るわけではないのですが、Server: Apache/1.3.34 PHP/5.1.2の
ようにレスポンスが帰ってきます。
header()関数でサーバ環境を隠蔽するにはどのようにすればいいでしょうか。
0665nobodyさん2006/03/09(木) 21:08:01ID:???
>>664
_
0666nobodyさん2006/03/09(木) 21:10:18ID:???
>>665
miriですかぁ…
それは、PHPではということですか?
0667nobodyさん2006/03/09(木) 21:20:48ID:???
皮先うざすぎ
消えろ
0668nobodyさん2006/03/09(木) 21:23:37ID:???
さいきんの厨房はカルシウム不足で切れやすいというが
それと同じくして無能な人間がふえているのも現状だと言える。
0669nobodyさん2006/03/09(木) 21:25:10ID:???
>>668
自己紹介とかいらんのや
0670nobodyさん2006/03/09(木) 21:36:09ID:???
>>664
ブラウザに「Server: Apache/1.3.34 PHP/5.1.2」なんて情報渡してるんだっけ?
06716642006/03/09(木) 21:39:40ID:???
>>670
はい。firefoxなどのブラウザで見るぶんには意識することはありませんが、
ほとんどのサーバはヘッダ情報として「Server: Apache/1.3.34 PHP/5.1.2」
のような情報を送信します。
0672nobodyさん2006/03/09(木) 21:41:29ID:???
htaccessに
Header Set
06736642006/03/09(木) 21:51:11ID:???
>>672
Apache側の設定をいじるわけですね。
Header Setでググってきます。ありがとうございました。
0674nobodyさん2006/03/09(木) 21:56:26ID:???
>>670
環境変数のSERVER_SOFTWAREのことジャマイカ?
最近の鯖管理者のトレンドとしてはSERVER_SOFTWAREで
全ての情報を出さず、Apacheとだけしている、、ラシイ
0675nobodyさん2006/03/10(金) 00:18:54ID:???
=========================
<?php
/*?>*/
?>
↑これだと問題ない。当たり前だ
=========================
だけど
=========================
<?php
//?>
?>
↑コメント以降は評価しないはずなんじゃないの?
=========================
?>
=========================
って出力されちゃう。
おかしくね?php4.3.11
0676nobodyさん2006/03/10(金) 00:43:28ID:???
>>675
正常。
「//」でそれ以降は評価しない、というのはPHPの命令部の話であって
PHPタグはコメントの評価よりも先に解釈されている。
だから // ?> でのコメント部分は //「 」?> この「〜」部分だけ。

それから
/* ?> */
?>
ってやつのコメント範囲は
/*「 ?> */
?>」
ここまで。(後ろの */ はPHPタグ外なのでHTMLに*/と書かれている状態)
つまり、それはコメントが閉じてない状態になっているため、以降が全部見えてない。
0677nobodyさん2006/03/10(金) 00:49:21ID:???
横槍だけど
print "?>";
print '?>';
は出来るんだね
06786752006/03/10(金) 00:53:31ID:???
>>676
なるほど。
先日ちょっとした手違いでソースが上記のようになりこんな現象を体験したもので不思議に思った次第です。
わざわざこんな風に書く事なんてあり得ないんですが、ひとつ勉強になりました。

もう一つ、最近思い悩んでることがあります。
$a = "moto_a";
$b = "moto_b";
$c = "moto_c";

これらの変数に、文字列"_tuketashi"を加えて(これは何の問題もない)
元の変数名に"_plus"を加えた変数名の新たな変数を、phpの処理で作りたい。
ここのロジックがわかれば元の変数を配列にぶち込んで関数で一気に処理出来たらいいんだけど。

$a = "moto_a_tuketashi";
$b = "moto_b_tuketashi";
$c = "moto_c_tuketashi";

変数名($がついてない)だけを引数で与えて、自作関数でなんとかするとか、evalでどうにかするっていうのは出来たけどいまいちスマートじゃない。
変数「名」を取得して、特定の文字列を付け足した新たな変数を作るという部分で悩んでるんだけど、なんかいい方法はないでしょうか?
0679nobodyさん2006/03/10(金) 01:01:19ID:arwUV0AH
>>672
>>664じゃないけど知りたくなってググったがわからん。後学のために教えてくれ。
0680nobodyさん2006/03/10(金) 01:02:09ID:???
>>678
変数名のセットはともかく「取得」ってのは「どっから??」って思うのでこれはパス。
とりあえずこんな感じでどうか。
foreach(array("a", "b", "c") as $env) {
 ${"{$env}_plus"} = "${$env}_tuketashi";
}
0681nobodyさん2006/03/10(金) 01:12:37ID:???
>>678
俺はHTMLソースを表に出さないようにコメント化して非表示にしたり、
HTMLソースとしては見せたくない内部的なコメントを書くのに<!-- -->を使わず
<html>
<?php /* ここからコメントアウト?>
<div>
</div>
<?php ここまでコメントアウト */?>
とか
<div>
<?php //項目名 ?><span></span>
<table>
みたいなHTMLもたまに使うよ。
0682nobodyさん2006/03/10(金) 01:20:16ID:???
>>679
すぐ検索できたぞ・・
おれもphp関係ないけど興味あったので調べてみた
http://www.heeha.ws/index.php?Apache%B4%D8%B7%B8
はまとまってるんじゃないかな
0683nobodyさん2006/03/10(金) 01:20:56ID:???
>>682
そこにも書いてあるけどapache側で完全に出ないようにしないと意味無いよね・・
0684nobodyさん2006/03/10(金) 01:31:26ID:???
>>682
thx
06856782006/03/10(金) 01:54:26ID:???
>>680
たしかに取得という言い方はちょっと変ですね。
$aという変数があったら、「$a」から「$」をとった部分を文字列として「a」として取り出せないかな。と。
こういうことを言いたかった。

で、ソースの方ですが、なるほど。
こういう感じで$(ドル)重ねちゃうんですね。こんなやり方もあったんだ。
ただ、やっぱり引数に与える文字列は手動で、ってことになっちゃうんですね・・・
それでも最初に配列を作っておけばいいから、かなりすっきりしますね。

受け取った値を表示用に整形して元の値はそのまま残しておきたいってケースが結構あるんです。
それで、元の変数に手を加えて名前をちょっとだけ変えた変数を生成ってやりたいんですよ。
>>681
いただきます
0686nobodyさん2006/03/10(金) 01:57:13ID:JMSIppfw
2日間試行錯誤してみましたがわからなかったので教えていただけると嬉しいです。
「?????」
のようなUnicode10進で書かれた文章を、
「あいうえお」
という形に変換、またはその逆を行いたいのですが、どのように行えば良いのでしょうか。
06876862006/03/10(金) 01:59:35ID:JMSIppfw
すいません。化けてしまいました。

「?????」

「&#12354;&#12356;&#12358;&#12360;&#12362;」

です。
■ このスレッドは過去ログ倉庫に格納されています