【PHP】質問スレッド Part5
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
02/09/11 14:15ID:FWA0CpdU■本家
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-10あたりにきっと誰かが……。
0809nobodyさん
02/11/17 15:31ID:???htmlspecialchars()を使えばいいと思いましたが、スクリプト中に数十個以上あるため
全部をいちいちやってられないのですが・・・
各変数に勝手に代入されちゃう前に文字列をまとめて処理する方法はないですかね?
0810nobodyさん
02/11/17 15:34ID:???(・A・)イクナイ!! と思う。
0811nobodyさん
02/11/17 16:04ID:YRaU2xF9正直に申しますと
FFアドベンチャーがあまりに負荷が高いと書いてあるので
PHPにしようとがんばっているところです。
>>808
それをPHPで書く良い方法ないですか?
0812809
02/11/17 16:13ID:???おいおい、俺も作ってるんだけど・・・
$_POST = array_map("htmlspecialchars", $_POST);
これで良いのかな。さすが俺。
0813808
02/11/17 16:27ID:YRaU2xF9どのあたりよ?
こっちは250行目のあたりで
悩んでる。
それ以外は ほぼ完成してる
ここの部分ができれば、後はバクだしして おわりっす。
0814809
02/11/17 16:38ID:???俺はma-tiさんの0.47使ってるからな。
クッキー関連とかロック関連とかまだまだだが。
まあ、まだPHP歴3日だし。
配布するつもりはあるのかな?それなら俺作るのやめようかな・・・
0815808
02/11/17 17:30ID:YRaU2xF9公開できるような綺麗なものじゃない
スパゲティーだから
0.45と0.47って どう違うよ?
0816808
02/11/17 17:42ID:YRaU2xF9EBS お願い
0817809
02/11/17 17:48ID:???>ver.0.47: 2002年4月28日配布開始
>・ソースを最適化して75.2KB→63.1KBに成功!
>・若干早くなったと思います。本当に若干。。。気持ち程度。。。
つまりはあまり変わらないと思う。
俺は公開&配布予定だから、使うんだったら最新版のほうが良いし。
まあ、予定は未定だが。
EBSはプレイしたことないからよく知らん。
0818808
02/11/17 17:52ID:YRaU2xF9ソース公開しますわー
まだ 作りかけのでよいかい?
というか 手伝って
それか ほかに有名どころのゲームをPHPお願いしたい
yomiサーチでもOK
できれば ebs
0819809
02/11/17 18:01ID:???元々俺がPHP化しようとしてる理由は
『自分の改造しまくってるFFAが負荷やばいためPHP化しよう』と思ったが、
既にすごく汚くてとてもやる気がおきなかったため、
とりあえず軽量の原作版から作って
公開してそれから自分の改造したいように変えていこうって考えなわけ。
だからFFA以外は今のところする気はないな。設置してないし。
0820809
02/11/17 18:03ID:???0821nobodyさん
02/11/17 18:06ID:FpRG38IL++++FF ADVENTURE++++
http://pc.2ch.net/test/read.cgi/php/991910275/l50
0822808
02/11/17 18:06ID:YRaU2xF9無料HPを運営していて あまりにFFAとEBSの設置が多いので
負荷がすごくなり、他のユーザー様にご迷惑がかかるので
必要に迫られて作っています。
言わば逆の立場ですね。お互い。
で どうするよ?
0823809
02/11/17 18:13ID:???作りかけでもいいから送ってくれれば俺が作ってる奴も
送り返すよ。俺もランキングの部分はまだ出来てないけど(汗
0824nobodyさん
02/11/17 18:34ID:n7xO86Z7完成の暁には漏れに適価で売ってはくれまいか?
0825PHP初心者
02/11/17 19:18ID:yD7j6+V5皆さん、がんがって下さい(≧∇≦)ノ
0826808(さるる)
02/11/17 19:47ID:YRaU2xF9完成したら
http://cgi.aaacafe.ne.jp
ここで、簡単に設置できるようにする予定なので
がんばります
0827809
02/11/17 19:54ID:???FFAは改造して何ぼですからね。
FFA推奨委員会も寂れているようなので
どんどん推奨していきたいです。
0828nobodyさん
02/11/17 21:11ID:???それは知ってるよ……。
とりあえずPECLのmailparse拾ってきて入れてはある。
で、公式サイトmailparse関数下部のスクリプトを走らせたら
signal 11吐いてapacheの小プロセスが死ぬ。
コマンドラインから実行するとphpがcore吐いて死亡。
諦めるかな……。
0830nobodyさん
02/11/18 17:18ID:???関数名、クラス名、メソッド名の大文字小文字の区別をしないようなのですが、
これを区別させるようにする事は出来ないのでしょうか?
0831nobodyさん
02/11/19 03:59ID:GvT3tsAV区別できれば何かメリットあるの?
自分で読みやすいようにdoSomething(hanyan)みたいにするけど。
0832780
02/11/19 11:50ID:9dfDoISG催促して申し訳ありませんが、よろしくお願いします。
0833nobodyさん
02/11/19 12:28ID:9zdIs68pブラウザ出力するスクリプト中、shell_exec関数を使ってバイナリ版用のスクリプトを呼び出しました。
<html>
<?php
$envs=array("QUERY_STRING","REQUEST_METHOD");
for($i=0;$i<count($envs);$i++) {
putenv($envs[$i]."=".getenv($envs[$i]));
}
$str=shell_exec("sample");
?>
</html>
#!/usr/local/bin/php -q
<?php
echo "こんにちは";
?>
ここで上記$strには「こんにちは」が格納されると思ったのですが、
「X-Powerd-By: PHP/4.2.2 Content-type:text html No input file specified.」
という文字列が格納されてしまっています。なぜなのでしょうか?
($envsからの行を加えたとたんに、このエラーが出力されるようになりました)
Webで調べたのですが、解決策として示されていた--enable-discard-pathでも解決しません
0834nobodyさん
02/11/19 16:03ID:???ImageString ($im, 11, 10, 10, "オマエモナー", $color);
とすると、イメージ内の文字が化けて出てきます。
どなたか宜しくお願いします。
0835sage
02/11/19 23:29ID:aA08ojgXファイルが存在するかを調べるfile_existsというのがありますが、
ディレクトリが存在するかを調べるものはないのでしょうか?
よろしくお願いします。
0837nobodyさん
02/11/20 08:28ID:???file_existだとディレクトリも含まれる。
一般のファイル is_file()
ディレクトリ is_dir()
シンボリックリンク is_link() #Winでは使えない。
0838nobodyさん
02/11/20 10:37ID:???>>832
スレッド使うのが常套手段ですが、PHPではアタリマエのようにスレッドが
使えないので基本的に厳しいです。
ので、シェルを使ってバックグラウンドで走らせるしかないでしょう。「色々な処理」
が何なのかわからないので、もっとメタな解決方法はあるかもしれませんが。
というわけで
$pid = getmypid();
foreach ($urls as $url) {
`curl $url > /tmp/$url.$pid &`;
}
とかして後はリダイレクトされたファイルを処理する、くらいでしょうか。どうやって
個々のcurlが終了したかを判断するのもまた面倒ですが、とりあえずファイルサイズ
見るとかでもいいんじゃないでしょうか?とりあえず、ですが。
最後にファイルを消すのもお忘れなく。register_shutdown_function()とか。
>>830
どーしても、どーしても、とおっしゃるのでしたらパッチ書いて差し上げますが、あんまり
うれしいこと無いと思いますよ。Zend Engine2ではCase Sensitiveにしよう、という話も
あったのですが、後方互換性的に問題ありありということで却下になりました。
メリットとしては
(1)関数やオブジェクトテーブルのlookupが早くなる(今はtolowerして処理してます)。
(2)普通の言語っぽくなる(笑)
くらいしか思いつきませんが。
0839nobodyさん
02/11/20 11:59ID:GqTHpGaWパーミッションは644との認識なのですが、
Hファイルや、INCファイルも644としてよろしいのでしょうか?
また、PHP、H、INCファイルをアップロードするには
転送モードはバイナリ?テキスト?どちらなのでしょうか?
0841nobodyさん
02/11/20 13:26ID:???テキストエディタで開いてテキストファイルだったらテキストモード。
パーミッションは、拡張子だけじゃ分からん。
そのスクリプトでどう扱われているのかによる。
READMEを嫁
0843nobodyさん
02/11/20 18:27ID:eNXAFipWサーバに入っていません。
http://www.thewebmasters.net/php/FastTemplate.phtml
ここから取ってきたモノをincludeしてやろうと思うのですが
誰か他に試した方いませんか?
class.FastTemplate.php3
3が付くのが気になります...
0844843
02/11/20 19:09ID:???http://ns1.php.gr.jp/pipermail/php-users/2001-August/001489.html
この辺を参考にしてみます。
0845nobodyさん
02/11/20 22:56ID:???何を意図していたかと言うと、
メソッドのオーバーロードが実装されるまでのつなぎとして、
function func(&$val)
{
$classname = get_class($val);
switch ($classname) {
case strtolower("MyClass1"):
.
.
case strtolower("MyClass2"):
.
.
}
}
とする時に、strtolower()がちょっと邪魔だっただけなので…
0846nobodyさん
02/11/20 23:33ID:1jUBHxNp今日ウチも自宅サーバーに挑戦しようと思い、
とりあえずWindows-Apache環境でPHP入れて、php動くようになったんですが、
一つ気になることがあるんです。
Apache側の設定で、
LoadModule php4_module c:/php/sapi/php4apache.dll
AddModule mod_php4.c
AddType application/x-httpd-php .php .phps
PHP側の設定で、
;include_path = ".;c:/php/includes;c:/php/pear"
doc_root = "C:/Program Files/Apache Group/Apahce/htdocs"
extension_dir = "c:/php/extensions"
の3行を設定した末、phpinfo()による動作確認でページの表示は認められたんですが、
変数の受け渡しなどが全くできないのです。
たとえば
http://localhost/index.php?query=hoge
のqueryが受け渡されないんです。
Apache環境に変えた理由は和製のAn Httpdを使用していたところ、
同じような現象がありまして困ってます(´・ω・`)
Apacheの.incが認識されていないかとアホなことを考え、
使わない環境も考えたんですが変数の受け渡しだけがどうもうまくいきません。
php.ini側の設定に問題があるのでしょうか。
それとも他に何か設定が必要なのでしょうか?
説明不足かもしれませんが・・・ご教授お願いします( ・∀・)ノ
ApacheのバージョンはApache 1.327です。
0847nobodyさん
02/11/20 23:41ID:???0848846
02/11/20 23:58ID:9aYPHyGQ言い忘れてましたが、現在もレンタル中なんですが、
そちらの方では変数の受け渡しは出来ましたヽ( ´¬`)ノ
0849846
02/11/21 00:06ID:XBf4tF8P言い忘れてましたが、現在もレンタル中なんですが、
そちらの方では変数の受け渡しは出来ましたヽ( ´¬`)ノ
0851846
02/11/21 00:35ID:XBf4tF8Pありがとうございます。
extract($_GET);
ですね〜
0852780
02/11/21 01:07ID:???ありがとうございます。
正直、何を言われているのかサパーリなのですが(;´Д`)
頑張って勉強します。
やっぱスレッド使えないのは痛いですねえ。
ちなみに「いろいろな処理」というのは簡単に言えば
「配列に入れてソート」です。
データが複数のページにまたがっているので全部まとめてしまおうと。
0853nobodyさん
02/11/21 01:15ID:???どうすればいいのでしょうか?
プログラミングとか初心者なんです。
昨日、店に行ってVisualStudioっての買ったのですが
これからどうして良いのか分かりません。
お店の人はこれがあればプログラミング出来るとの事なんですが・・・
0854nobodyさん
02/11/21 01:27ID:???掲示板を作りたいんなら、メモ帳でいいとおもうよ、うん。
0855nobodyさん
02/11/21 01:33ID:???0856nobodyさん
02/11/21 03:04ID:???0857nobodyさん
02/11/21 10:45ID:???0858nobodyさん
02/11/21 10:53ID:???0860nobodyさん
02/11/21 14:05ID:???>これからどうして良いのか分かりません。
これがホントならこの人は間違いなく・・・モゴモゴ
普通はPHP関連のHPを収集してPHPの環境等を調べて
PHPをインストールして、HPにあるサンプルで2時間ぐらい遊ぶ
そして、初心者に評判のいいPHP本を調べて購入して勉強
構文を覚え、これをするには何が必要かが分かるようになって
初めて市販の開発ソフトを購入→管理・運用が楽→ウマー
0861nobodyさん
02/11/21 21:49ID:YPJ0mbwG一度飛ばして、そこから次のページへ飛ばそうとしても上手く飛びません。
また、FORMによるデータの受け渡しもまったくできない状態だと判明しました。
原因の心当たりがある方はいらっしゃりませぬか?
0863nobodyさん
02/11/21 22:35ID:???どういう神経してるんだろうね?
0864nobodyさん
02/11/21 23:19ID:1XZhJXxJ0865861
02/11/21 23:21ID:YPJ0mbwG勿論>>4も設定しました
0868nobodyさん
02/11/21 23:56ID:???無ければ答える必要ないんじゃねーか?
あるやつが答えりゃいいだけだろ?
0869861
02/11/22 00:03ID:6zsUquR2今回はLinux環境で動かしているのですが、まったく同じソースでWindows版においたときの動作確認はとっています。
PHP4.2.2です
0870nobodyさん
02/11/22 10:04ID:HEeXMk8V上記で削除フラグがつけられると思ったんですが、だめでした。
ためしに既読のフラグをつけようと
imap_setflag_full($mbox,"1","\\Seen");
をやっても新規のフラグのままでした。
一度フラグを削除してからでないとだめなのかと思い、
imap_clearflag_full($mbox,"1","\Recent");
imap_setflag_full($mbox,"1","\\Seen");
とやってもだめでした。
マニュアルもあまり詳細がのってないので前に進めません。
どなたかご教授ください。
0871>>870
02/11/22 10:06ID:HEeXMk8VOSはRedhat7.3
接続は
{localhost/pop3:110/notls}INBOX
でしています。
PHPのバージョンは4.2.3です。
よろしくお願いします。
imap_datele で削除マーク
imap_expunge で削除
としてたよ俺は。
0873>
02/11/22 10:21ID:HEeXMk8V削除ができるのは私も確認しました。
でも、
imap_datele($mb,"1");
$overview = imap_fetch_overview($mb, "1");
foreach($overview as $value){
$flag = $value->deleted
}
echo $flag;
imap_expunge($mb);
で、途中のフラグを表示してから削除してみても、
なぜか、新規フラグがたってました。
pop3での接続じゃむり...ってか、反映しないのではなかったかなぁ。それ。
最近使っていないので、ほとんど忘れてる。
0875>>870
02/11/22 10:31ID:HEeXMk8V$mb = @imap_open($host, $user, $pass);
$overview = imap_fetch_overview($mb, $msg_no);
imap_clearflag_full($mb,1,"\\Recent");
imap_expunge($mb);
print "<pre>";
print_r($overview);
print "</pre>";
pop3だとフラグつけられないのかな?
imap_close($mb);
0876>>870
02/11/22 10:33ID:HEeXMk8Vありがとうございました。
0877>>870
02/11/22 12:50ID:HEeXMk8Vプラス、Recentのフラグだけつけることができない。
なんで?
使用なの?
0878nobodyさん
02/11/23 12:58ID:???gmdate()で漢字が文字化けする。
関数内でstaticを使い、同時に複数の同じスクリプトを走らせると
異常に重くなる。globalだと問題ない。
0879nobodyさん
02/11/23 20:34ID:twAAlTTS配列はこんな感じで
$val[0]=array("a","b","c");
$val[1]=array("d","e","f"); あって
<input type="hidden" name="val[]" value="<? print serialize($val); ?>" >
やってもうまくいきません。
目的はフォームで確認のために$valを表示させ、OKならPHPで$valを処理。
ヘルプお願いいたします。
0880879
02/11/23 21:06ID:???0881nobodyさん
02/11/23 21:11ID:nnNnwbKG自己解決したら解決法も書いておくと他の人に親切。
まだここ見てたら書いておいてみてくださいな。
0882880=879
02/11/23 21:37ID:twAAlTTSにあるユーザーのレスにあるpropogateというファンクションで済ませました。
ひたすらval[0][0]からval[1][2]をアウトプットしてます。
でもserialize()で簡単にできそうな気がするんですが。
なぜか、879でHTMLソースはvalの値が化けていました。
0883nobodyさん
02/11/24 15:09ID:rESUx17LPHPにはありませんか?
0884883
02/11/24 15:29ID:???エラー処理で使うわけではないので諦めます。
0885nobodyさん
02/11/24 16:22ID:???0886PHPさん
02/11/24 19:32ID:???教えてください。
ちなみに PHP Version 4.0.6 で、Apache で CGI 動作しています。
$REMORT_HOST では取得できませんでした。。
0887の
02/11/24 20:58ID:2iDKmUF0とかやって見るのがよろし。
---
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0888nobodyさん
02/11/24 21:16ID:???phpから取得できないの?
>>886 とかぶってるのかも
0889nobodyさん
02/11/24 21:31ID:???4.0.6で動くかは知りませんがさっさとバージョンアップすべきです。
借りているならそんな所さっさとやめるべきです。
http://www.php.net/manual/ja/ref.network.php
0890nobodyさん
02/11/24 23:19ID:???trimしなくてもいいのかな?
0891nobodyさん
02/11/25 01:15ID:TRGgbFwYとりむさんいらないよ
0893nobodyさん
02/11/25 20:09ID:MbgdCRNZAAAA.html
--------------
<html><body>
AAAA
</body><html>
--------------
↓
AAAA.html
--------------
<html><body>
BBBB
</body><html>
--------------
こんな感じの事がしたいのですが、スクリプトの書き方が途中までしかわかりません。。
<?php
$fp = fopen("./AAAA.html" , "w");
fwrite($fp , "test");
fclose($fp);
?>
これだと、AAAA.htmlは
--------------
test
--------------
になってしまいます。。良い書き方を教えていただけませんでしょうか。。
0894nobodyさん
02/11/25 20:14ID:???置き換えて
書き込む
0895nobodyさん
02/11/25 20:16ID:???,. ‐'"::::::::::::::::: ....:``'-、 >>893 って本物のアホだな!あはははははは!
,/::::::::::::::::::: ....::::::::::::::::::::::::ヾ:、 ,....,
/::::::::::::::: ..:::::::::::::::i、::::::::::::::::::::'、':,. / ヽ
/::::::::::: ....:::::::::::::::::::::i:::!`、:ト、::::::::::::i i! / i
i ...::::::|'、ヽ;::::::::::::::|,!:!__リ,,'iヽ::l''、:'、 / /
| ..::::::::;:::i!:i ヾ:、ヽ:::::::::| リ , -─ リ i;il:ヽ, i /
l:::::::::::::::i',i ':i ,メ、 \;:l '゙ `、 !::::/l ...::::::/``ヽ
l::ヽ:::::ヽ:i,レ',.゙-‐'''' ',/'/..::::::::::/ l'ヽ;、
i:::::>、:ヾ,' / _,.. -‐'ヾi ,レ'::::::::::;r':.. / i_\
i:::i. `'‐,ゝ i" '! ,.‐''" :::::::::::i゙::::::::.../. ノ 'i\
!::\ `ヽ ':, l{ ..:::::/::L,. ‐'":::::;/ ! l
l::::::::`''‐r\ ヽ.,__,.ノィ'‐-‐''"'ォ‐--,゙弋''''"::::::;.ノ l
|::::::::;ィ:::}、 ``'''─--、-‐ニ┤ ___ハ,`''ーヽ-'=‐''"::: ,,/
!::::::/ i:::|、\ ヾ´. i ヽ 、''‐-、_::::::::::::::::: /
i:::::/ i:::ハヽ`''‐、/l__\,| / ヽ--、,.ニ=‐--‐'"
0896893
02/11/25 20:25ID:MbgdCRNZ置き換えの部分がわかりません。。
どんな感じなのでしょうか。。
0897nobodyさん
02/11/25 21:23ID:???ふつうに置換えれば・・・。
つか何みてやってん? マニュアルみろよ。
eregあたりからしれらべてみ。
http://jp.php.net/manual/ja/
0898893
02/11/25 21:36ID:???$fp = fopen("./AAAA.html , "r");
$fp2 = fopen("./AAAA_2.html" , "w");
while (!feof($fp)){
$okikae = fgets($fp , 4096);
$after .= ereg_replace("AAAA" , "BBBB" , $okikae);
}
fwrite ($fp2,$after);
exec ("mv ./AAAA_2.html ./AAAA.html");
こんな感じでできました。スイマセン。
0899nobodyさん
02/11/26 00:39ID:???PHPにも、touch rename は用意されてる
0900nobodyさん
02/11/26 01:42ID:???0902nobodyさん
02/11/26 15:40ID:???0903nobodyさん
02/11/26 18:49ID:???20021126.txtってみたいなの
いい初心者サイトって無いかな?
0904nobodyさん
02/11/26 20:10ID:???荷馬車がゴトゴト >>903 を載せてゆく
可愛い >>903 売られてゆくよ
悲しそうな瞳で観ているよ
ドナ・ドナ・ドナ・ドーナ >>903 を載せて
ドナ・ドナ・ドナ・ドーナ 荷馬車が揺れる
0906nobodyさん
02/11/26 20:31ID:???ありがとう
http://jp.php.net/manual/ja/でfopenを見ろという事ですね
>>905
$hizke = gmdate("Ymd", time());
ってしろと言うことですね
0907ぽぽんた
02/11/27 17:46ID:32F4cqjQfsockopen でデータを取得すると、どうも(低い確率ですが)
一部文字化けしませんか?私の取得方法がおかしいのかとか
考えましたが、サンプルとかと比べてもそれほどおかしなやり方は
していないと思うのですが・・・・。
過去ログや、googleで調べても出てこないのですが、他の人は
こういう現象が起きたりしていないのでしょうか。
【手順】
・fsockopenで目的のURLをオープン。
・各種パラメーターを fputs で送る。
・while でループして fgets でデータを取得
・ソケットをクローズする。
ってな感じです。
$sock = fsockopen( "www.xxxxx.xxx", 80 );
fputs( $sock, "xxxxxxx\n" );
fputs( $sock, "xxxxxxx\n" );
fputs( $sock, "xxxxxxx\n" );
while( !feof( $sock ) ) {
$str = fgets( $sock, 4096 );
echo $str;
}
fclose( $sock );
ちなみに、一度ソケットを利用すると再び同じPG内で
ソケットを利用しようとしてもオープンできません。
後片付けが悪いのでしょうか?
よろしくお願いします。
レス数が900を超えています。1000を超えると表示できなくなるよ。