【PHP】質問スレッド Part5
レス数が950を超えています。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あたりにきっと誰かが……。
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内で
ソケットを利用しようとしてもオープンできません。
後片付けが悪いのでしょうか?
よろしくお願いします。
0909ぽぽんた
02/11/27 19:18ID:32F4cqjQありがとうございます。
サンプルが \n だったのでそのままでした。
で、早速直したのですがやっぱりだめです。
データは「とりあえず」ほぼ正しく送られてくるのでhttpヘッダを
送る時点の問題では無いようです。(でも、今後ちゃんと\r\nにします:汗)
なんでしょう・・・一部の文字が崩れて文字コード崩れのような状態に
なってしまうんです。100文字に1文字とかそんな感じの頻度なので
結構、目立ちます。
例えば・・・htmlソースそのままで表示すると
------------------
でn
34b
ネければ、
--------------------
となります。原文は「でなければ」です。
他にも変な崩れ方をします。
「指落 1000 ヨっ」って表示されます。
これは「指輪っ」が正しいです。
なんなんでしょうねぇ・・・・
0910nobodyさん
02/11/27 20:15ID:???0911nobodyさん
02/11/27 22:02ID:???safemodeでchmod使おうと思ったら
chmod failed: Operation not permitted とか言われました。
ブラウザでサーバサイドスクリプトを使ったときって、その他の扱いになるんですか?
サーバ内で処理してるからオーナーじゃないのですか?
あぅー、同アカウント内のスクリプトでしか見れないファイルつーのを作りたいYO
0912nobodyさん
02/11/28 03:36ID:???0913nobodyさん
02/11/28 09:04ID:F7kZgWD6ひょっとしてWin鯖なら\nで良いです。詳しくは分かりませんが。
0914bloom
02/11/28 09:44ID:RNMw186qhttp://www.agemasukudasai.com/bloom/
0915nobodyさん
02/11/28 10:46ID:???\012 でも良いけど。
0916ぽぽんた
02/11/28 13:45ID:nkeBXKRh鯖はLinuxです。確かにCRLFはWinの改行コードですね。
それはそれで大切な議論なのですが、どっちにしろ
文字化けまくります。内部的な問題なのかなぁ(socketモジュール?)
PG細かく組まなくても単純にヘッダをfputs() で送って
fgetsで取得して表示するだけでも化けちゃうんですよね。
file()でURLを指定して読み込むと普通に読めるんですよね。
ちなみに、今回はPOSTデータを送る必要があったので
fsockopen()を使ってhttpヘッダをぶち込んでいます。
相手鯖からのデータを待っていなくちゃいけないのかなぁ。
ブロックモードとか関係ないと思うし・・・・(泣)
0917nobodyさん
02/11/28 14:15ID:PUGto0Nk0918の
02/11/28 16:05ID:BEW1IJeNphp のバージョンは?
4.2.3 だと mb 系を有効にすると一部文字化けが起きるバグありと聞いてます。
0919ぽぽんた
02/11/28 16:18ID:IiE4hQoQphp のバージョンは 3.0.18-i18n-ja-3 です。
日本語処理を i18n系の関数を多用しているので 4に
移行していません。
その 4.2.3 のバグは、 mb系を利用していると起きるバグなのでしょうか?
それとも mb系を有効にしているだけで socketデータ取得時に
(mb系の関数を使わなくても)文字化けが起きてしまうようなものなのでしょうか。
SJISでよくある文字化けの問題であれば SJIS <-> EUC の絡みの
どこかで特定の文字だけ文字化けするはずですよね・・・・
まだ特定の文字だけなのか調べていないのでちょっと調べてみます。
有名どころで「表示」とか。
そういえば、毎回同じ[個所]で文字化けが起きていた気がする・・・・
「特定位置」でなくて「特定文字」という可能性はなぜか考えていませんでした。
0920ぽぽんた
02/11/28 16:56ID:IiE4hQoQ言い訳させてください(爆)
1年ほど前、とあるサイトのページを取得しようと思ったのですが、
cookieを使ってたり、サンプルにあるヘッダ情報だけではうまく
データが取得できなかったので、「カンニング」したんです。
ブラウザ(IE5)で閲覧中の送受信パケットをダンプしてhttpヘッダをコ
ピーしたんです。で、それを編集してPGに組み込んだ、と。
賢明な方なら原因はすぐに分かりますよね。
1年近くずっと悩んでたのにごく簡単な理由でした・・・
httpヘッダが・・・・ HTTP/1.1 に・・・・・
えぇ、笑ってください。いいですとも。かなり大馬鹿ものですよ。
httpプロトコルが違ったのに動いていた方が不思議ですね・・・
HTTP/1.0 と HTTP/1.1 とでは同期の取り方が微妙に違うんでしょうね。
0921nobodyさん
02/11/29 00:25ID:Fg6tlzE0PHP開発技術者育成講座:Zend Studioマスターコース
http://www.zend.co.jp/e-learning/
金額は個人で受講しても手頃だけど、内容がよくわからないので、二の足を踏んでます。
0922nobodyさん
02/11/29 01:17ID:lP9MNlfeと記述すると$naに名前が出力されるものなのですが、、、
echo"ようこそ<br>$naさん";
とすると名前が出力されず、
echo"ようこそ<br>$na<br>さん";
とすると正常に出力されます。
PHPでは変数を使う場合は、
変数の前後に記述しては行けないもの等の決まりなどがあるのでしょか?
PerlでのCGIは理解しているのですが、
PHPは初めてなので混乱しています。
お力をお貸しいただければ幸いです。
0923nobodyさん
02/11/29 01:23ID:lzLul13h書き込んだあとに、再読み込みを押したら同じ内容が
自動的に書き込まれました
つまり、POSTで送信するとその状態が残っているような感じ
なんです。これを回避する方法はないかしら
0924nobodyさん
02/11/29 01:30ID:CsjprMSL× echo "ようこそ<br>$naさん";
○ echo "ようこそ<br>".$na."さん";
0925nobodyさん
02/11/29 01:46ID:CsjprMSLひとつの案として、メッセージを書き込みするページが
開いたとき $_SESSION["kakikomi"] = "mada" にしておいて
書き込むページで
if ( $_SESSION["kakikomi"] == "mada" ) {
kakikomi( $_POST["message"] );
$_SESSION["kakikomi"] == "moukaita";
} else {
echo "二重投稿エラーです。";
}
ってのはどう?
0926の
02/11/29 02:42ID:vqpWO9fR書き込み済んだらリダイレクトして再表示しちゃうのがお手軽かと。
POST の処理ルーチンも簡単にできるし。
---
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0927nobodyさん
02/11/29 06:02ID:QnsCph4W0929bloom
02/11/29 08:57ID:Ep+NyYTShttp://www.agemasukudasai.com/bloom/
0930nobodyさん
02/11/29 10:27ID:a3WbsO8Jありがとうございます。
$na = 名前 となる場合
<?echo"<center>{$na}</center><br>";?>
と記述するのが良いのか
<?echo"<center>".$na."</center><br>";?>
と記述するのが良いのか、どうなのでしょう?
どちらでも同じ事なのでしょうか?
0931hmk
02/11/29 10:58ID:+pV4MPpt{$na}では駄目です。${na}です。
0933gn355my0
02/11/29 15:21ID:???<CENTER><?= $na ?></CENTER><BR>
0934nobodyさん
02/11/29 16:51ID:FGwKAXnrhtmlに出力するときはどっちが高速ですか?
(例1)
<?
テスト
?>
(例2)
print"テスト";
0935nobodyさん
02/11/29 17:40ID:???何の意味があるのか小一時間問い詰めたい。
0936nobodyさん
02/11/29 18:02ID:???0937nobodyさん
02/11/29 18:03ID:FGwKAXnr<?
テスト
?>
}else{
print"テスト";
}
a=aの場合と
a=nullの場合と
どちらが表示が速いでしょう
0938nobodyさん
02/11/29 18:21ID:???0939nobodyさん
02/11/29 20:02ID:rdc6a4ct0940nobodyさん
02/11/29 20:24ID:???|・ω・`)
|oωo
|―u'
見守る初心者
0941nobodyさん
02/11/29 20:52ID:FGwKAXnrperlのソースですがphpに訳せる天才はいませんか?
$new=3;
$old=10;
$num1 = 7777;
$num2 = 77;
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
$key = "uhreri";
@key = split(//, $key);
$date_num = sprintf("%02d%02d%02d%02d%02d",$mon +1,$mday,$hour,$min,$sec);
$chcode = ($date_num + $num1) * $num2;
$i = 0;
$chcode =~ s/./sprintf("%02x",ord($&)^ord($key[$i++ % @key]))/ge;
0942nobodyさん
02/11/29 23:24ID:???<? テスト ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY></BODY></HTML>
こんなのが出力されるよ!
print"テスト";
テキストで
print"テスト";
と出るよ!
htmlは例1だから答えは例1!
0943nobodyさん
02/11/29 23:29ID:???エラーメッセージが出るけれど、いいの!?
>perlのソースですがphpに訳せる天才はいませんか?
凡人もいるよ!
0944nobodyさん
02/11/30 00:04ID:???$chcode = ($date_num + $num1) * $num2;
$i = 0;
$chcode =~ s/./sprintf("%02x",ord($&)^ord($key[$i++ % @key]))/ge;
これはおかしくない?最初の$chcodeで時間と何かの数字で計算して代入しているのに
また、$chcodeに何かを代入するの?
0945の
02/11/30 01:38ID:tS4FEdrLs/ だから php なら、$chcode = preg_replace(...,,$chcode) ってパターンだな。
書き換えは簡単だけど、正確に読むのはダルいんでパス。
---
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0946nobodyさん
02/12/01 03:25ID:2VKLUjr4gdの「imageCopyResampled()」を使いたくて、 gd-2.xにバージョンアップ
しようとして(現在は gd-1.8.3-7)、 RPMパッケージを探したのですが、
ftp://ftp.rpmfind.net/linux/PLD/current/dists/ra/PLD/i386/PLD/RPMS/gd-2.0.1-7.i386.rpm
のようなPLDディストリビューションしかなく、インストール(アップデート)しても
うまくバージョンアップしてくれません。
どこかに別のRPMパッケージ、もしくは上記のもので成功させる方法って
ないでしょうか?
現在はImageCopyResized()を使って画像縮小してるんですが、激しく
荒い画像になってしまいます、、。
0947nobodyさん
02/12/01 10:25ID:iDh7XpXh0949946
02/12/01 10:48ID:2VKLUjr4現在のphp-4.1.2-7.1.6をインストールしたままgd-2.0.1-7をインストール
しようとすると、「libgd.so.1.8はphp-4.1.2-7.1.6に必要です」と言われて
拒否られてしまいます。 強引に入れると確かにapache起動に失敗します。
gd-2.0.1-7のインストールファイルリストを見てlibgd.so.2.0.0だけなので
いやな予感はしていましたが、、、。
今度はPHP関係をまず全てアンインストールして、gd-2.0.1-7から入れると
インストールはできるのですが、php-4.1.2-7.1.6をインストールしようと
すると、「libgd.so.1.8はphp-4.1.2-7.1.6に必要です」と言われて、
今度はPHPがインストールできなくなってしまいます。
私のような素人考えからいくと、「gd-2.xを必要とするPHP4のRPMパッケー
ジがあれば、、」などと考えてしまうのですが、ちょっと的外れでしょうか?
0950nobodyさん
02/12/01 11:46ID:???後でどうなっても知らないけど、
gdのページには、
A very high degree of backwards compatibility
with existing gd 1.x code has been maintained,
at both the source code and binary level.
ってあるから無理やり入れてもよさそう。
libgd.so.1.xにシンボリックリンク張るのを忘れずに。
尚、レジストリの修正は自己責任でお願いします。
レス数が950を超えています。1000を超えると書き込みができなくなります。