【PHP】質問スレッドPart2
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/10/17 10:52ID:zLTg5ihK答えられる方、返答よろしくお願いします。
参考リンク
■本家
http://www.php.net/
■PHP日本語マニュアル
http://www.php.net/manual/ja/
■Japan PHP Users Group
http://www.php.gr.jp/
■PHP 日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html
■Pearのドキュメント
http://phpdocu.sourceforge.net/peardocs/
■前スレ
http://ebi.2ch.net/test/read.cgi/php/982687820/
0554名無しさん@お腹いっぱい。
02/01/12 13:16ID:???PHP3を使ってるの?
0556532
02/01/12 15:24ID:ZdUmVPZP問題があればa.phpで再入力ってのをしたいんです。
form で入力されないとb.phpに制御うつすなんてできないのでしょうか?
0557教えて君
02/01/12 15:58ID:???--- a.php ---
if (データに問題なし) {
画面を消去して「ありがとうございました」の表示();
} else {
フォーム();
}
-----------
ってことか?
0558532
02/01/12 19:57ID:HpUY5FSiそんな感じです。
java使っちゃうのが楽なんでしょうけど、phpだけで出来るならそうしたいものでして。
0559名無しさん@お腹いっぱい。
02/01/12 20:43ID:UPJM6Y3Sしかし、そのやりかただが
どの時点でユーザーの入力が終了したと判定するの?
0560名無しさん@お腹いっぱい。
02/01/12 21:16ID:R/qNlu6y./configureし終わると、WARNING(mySQL....)が出るんだけど
これって必ず表示されるのかな?
0561名無しさん@お腹いっぱい。
02/01/12 21:26ID:Hl7U17VhmySQL入ってないからでは?
PHP4、標準でmySQL使用になってたはず。
ほっといても問題ないと思うけど
気になるならconfigureのオプション指定して回避すべし。
0562532
02/01/12 21:28ID:HpUY5FSi<form action="a.php" method="post" >
で自分に飛んでます。
一番頭でチェックして問題なければ「ありがとう」画面、
おかしければ再入力、未入力なら初期化して入力って感じで
一つのhtml内でやるしかないのでしょうか?
0563名無しさん@お腹いっぱい。
02/01/12 21:37ID:R/qNlu6yIn file included from pgsql.c:29:
php_pgsql.h:32: postgres.h: No such file or directory
make[3]: *** [pgsql.lo] Error 1
make[3]: Leaving directory `/usr/local/src/php-4.0.4pl1/ext/pgsql'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/php-4.0.4pl1/ext/pgsql'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1/ext'
make: *** [all-recursive] Error 1
こんなエラーがでるんだけど・・どうやって解消するの?
postgreSQLいれれ。
0565名無しさん@お腹いっぱい。@563
02/01/12 22:58ID:R/qNlu6yPostgreSQLは、もう入ってるんです。
ちゃんとPostgreSQLも動きます。
0566名無しさん@Emacs
02/01/12 23:06ID:???ヘッダのありかをちゃんと教えてあげましょー。
0567名無しさん@お腹いっぱい。
02/01/12 23:26ID:9xVpue2aPHPサイドでデコードする方法ってありますか?
0568名無しさん@お腹いっぱい。@563
02/01/12 23:30ID:R/qNlu6ymakeしたら
make[1]: *** [libphp4.la] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1'
make: *** [all-recursive] Error 1
と表示されました。pgsqlのエラーについては解消出来ました。
0569名無しさん@お腹いっぱい。
02/01/13 00:13ID:LIlOMwUZpostするなら
header("Location: b.php");
で転送すればいいかと
0570名無しさん@お腹いっぱい。
02/01/13 01:39ID:???それって、cookie関係?
0571名無しさん@お腹いっぱい。
02/01/13 05:46ID:Lisx+i4yQueueとかでもいいんですが、結局自分で書いたほうが早いのかな・・・
例えば、配列の中のある要素を削除したりしたいのですが、そういう関数がないようです。
array_search で探した要素を削除できたり。
0572567
02/01/13 09:57ID:NG2XShVrフォームに書き込まれた内容→JavaScriptでエンコード→クエリで投げる→PHP側でデコード
のように。
get方式で投げると全要素がクエリに続いてしまうのでpostを使ってます。
0573名無しさん@お腹いっぱい。
02/01/13 12:47ID:???ここはDBを使えないのでユーザー認証に使うIDやパスワードの保存を
どうすればいいのか悩んでます。
大人しくDB使える所探した方がいいんでしょうか・・・。
>541
一昨日徹夜してやっと作ったのを・・・すげぇ。
0574名無しさん@お腹いっぱい。
02/01/13 13:02ID:???テキスト管理でファイルはpublic_htmlの外に置くっていうんじゃだめかな?
ユーザーの数がそんな多くなければ大丈夫な気がするんだけど・・・
ちなみにセキュリティとかほとんど知らないんでやばかったら誰か
つっこんでください。
0575名無しさん@お腹いっぱい。
02/01/13 14:27ID:???早速小一時間やってみました・・・が、
どうもribbonだとその方法ができない臭いです。
っても自分がアフォなだけかもしれないので後小一時間やってみます。
0576名無しさん@お腹いっぱい。
02/01/13 17:02ID:H/VBdPhiできないってことはpublicの外に出れないってこと?
じゃあ.htaccess使ってデータフォルダを見れないようにするとか。
.htaccessも使えなかったらどうすればいいかわからん。
0577名無しさん@お腹いっぱい。
02/01/13 18:04ID:???for($i = 0; i < 1000; $i++)
$tmp = $dynamic_($i)
こんな感じで$tmpに結果を入れる方法ってありますか?
$dynamic_xxxは(xxx = 0〜999)オブジェクト型なんですが、
$$dynVal = "dynamic_" . $i
print $$dynVal
で結果を出そうとしても上手く表示できませんでした。
0578親切な人
02/01/13 18:48ID:???1通のメールを読むだけで、毎月 1250 円
貰えます!!!
下記を観て下さい↓
http://www.guruguru.net/auction/item.php3?itemid=21703
■経験談■
私も、この広報文を観て、すぐ加入しました。
そして訪問するサイトに、このメモを 10 箇所位
残しました。
先月、家に USA から小切手が送金されました。
これを、地元の富士銀行で円に変えたみたら、
驚くことに、83500 円になりました。
それで、このサイトに入って、私の会員数を
確認してみたら、私の直接会員が 23 人で、
その会員が集めた会員が、65 人だったん
です。
まさか、こんなに早く会員が増えるとは思いも
しませんでした。(ちゃんと確認できるところが
安心します。)
■会員募集方法■
http://www.mintmail.com/?m=1940638
後の ID(番号)部分をミントメールより付与された
自分の ID に変換して広報すれば、本人が自動
的に抽選されます。
0579名無しさん@Emacs
02/01/13 19:45ID:???$dynVal = "dynamic_".$i;
print $$dynVal;
だけど、 $dynamic[xxx] のように配列を使って
書き直せないか検討するべき。
0580名無しさん@お腹いっぱい。
02/01/14 01:53ID:???ログファイルの拡張子を.phpにして
<?
$dummy = <<<DUMMY
ここにデータをCSVで記述
DUMMY;
header("Location: miremasennyo.html");
exit();
?>
な感じにしてみれば?
あとはfopenで読み込んで処理
0581名無しさん@お腹いっぱい。
02/01/14 01:54ID:???ウィ、その方法で行くしかなさそうです。
できなかったらもうぶち切れですよ。
ご意見どうもありがとうございました。
0582名無しさん@お腹いっぱい。
02/01/14 11:57ID:WEq2oi7Hのですが、apache のみコンパイル・インストールで大丈夫
でしょうか?PHPも再コンパイルとか必要ですか?
0583ダッチワイフ ◆exvx.LWc
02/01/14 16:33ID:???<BODY>
<?PHP
$fp = fopen("log.txt","r+");
fwrite($fp,$msg."\n");
$bbs = fgets($fp,4000);
print("$bbs");
fclose($fp);
?>
</BODY>
</HTML>
これ実行すると文字化けするんですが、、どうすればいいですか?
1)祈る
2)ハンドル名を変えてみる
3)祈る
0585名無しさん@お腹いっぱい。
02/01/14 16:54ID:???include("./jcode.phps");
0586ダッチワイフ ◆exvx.LWc
02/01/14 17:00ID:yYk5kUJlどこらへんに追加すればいいですか?
できればソース修正お願いします。
0587apache
02/01/14 17:18ID:???藁藁
0588apache
02/01/14 17:19ID:???include("./jcode.php4");
だよ〜ん 藁
0589名無しさん@お腹いっぱい。
02/01/14 17:23ID:j2J0+mB5よんで
0590ダッチワイフ ◆exvx.LWc
02/01/14 17:30ID:yYk5kUJlは?ここはわからないから教えて貰うんだろ?
センスねー名前とまだ藁使ってるキショぃ奴に教えて貰いたくねーよ。
何が「だよ〜ん 藁」じゃ、お前は答えなくていいよ。
>>589
ありがと、見落としてた
0591名無しさん@お腹いっぱい。
02/01/14 17:37ID:???0592login:Penguin
02/01/14 17:47ID:???0593名無しさん@お腹いっぱい。
02/01/14 17:55ID:nKIOxWKlぼく、他には何が知りたいの?
0594あぼーん
NGNG0595名無しさん@お腹いっぱい。
02/01/14 20:26ID:???×:わからないから教えてもらう
○:調べてわからなかったことを教えてもらう
かと。
ついでに
×:見落としてた
○:調べる気がなかった
では?(笑)
PHPはphp.netのマニュアルも充実してるし、
決して良くない環境ではないと思うのでがんばって下さい。
0596名無しさん@お腹いっぱい。
02/01/14 21:01ID:???どんな環境でやろうとしてるのかわからないが・・・。
ApacheとPHPのインストール順序考えればわかるはず。
入れ直さないとカーネルエラー連発すると思われ。
0597
02/01/14 23:17ID:fnjYGiCIつけたいのですが、そういうプログラム紹介してるページありますか?
PHP、というよりプログラム関係はまったくの素人なのでどなたかアドバイス
お願いします。m(_ _)m
0598名無しさん@お腹いっぱい。
02/01/14 23:52ID:???・・と一発かましといてと。
普通の在室管理するタイプ(ちゃっと中にメンバーを確認出来る)のなら
必ず、それを記録しておくファイル(大抵は1つのテキスト)を持ってるから
それを読めば良いだけだよ。
機能豊富なチャットなら付いてると思うし、配布してる所で要望出せば
対応してくれるかも知れない(割と簡単な部類だと思うので)
0599名無しさん@お腹いっぱい。
02/01/15 01:10ID:???ありがとうございます。
じゃ、両方ともやります。
0600517
02/01/15 10:50ID:mJdfZzdE0601名無しさん@お腹いっぱい。
02/01/15 14:49ID:DcvabF4vファイルのある箇所のみを上書きすると、以前より値が小さい場合は
以前の値が残ってしまいますよね。
これを強制的に消す方法ってありますか?
0602名無しさん@お腹いっぱい。
02/01/15 14:54ID:???http://www.php.net/manual/ja/function.ftruncate.php
で良いんじゃない?
0603523
02/01/15 14:56ID:???詳細な使い方はマニュアル見てね。
詳しい方はフォローよろしこ。(詳しくないなら書くなとか突っ込まんといて)
0604名無しさん@お腹いっぱい。
02/01/15 14:57ID:???0605601
02/01/15 15:06ID:DcvabF4v値ってのは、iniファイルで設定した値のことです。
iniファイル内に「$hoge = 1;」みたいな値が存在した場合、
それをPHP側で書き換えるクラスを作りました。
言葉だとどうも説明しにくいのでコピペ。
function rewriteIni($iniKey, $newStr){
$fp = fopen($this->_iniPath, 'r+');
$this->lock($fp);
while(!feof($fp)){
$offset = ftell($fp);
if(preg_match("/^[$]" . $iniKey . ".*/", $strLine = fgets($fp, 32))){
// ftruncate($fp, $offset);
fseek($fp, $offset, SEEK_SET);
fputs($fp, '$' . $iniKey . " = " . $newStr);
}
}
$this->unlock($fp);
fclose($fp);
}
ftruncate()使うと、iniファイルの中間らへんで値を書き換えた場合、
その後のデータが全部消えてしまうんです(当たり前だけど)。
0606名無しさん@お腹いっぱい。
02/01/15 17:45ID:t9teO+XeABC.phpのなかで、XYZ.phpに定義されているXYZ関数を呼び出したとします。
xyz関数は、<? ehco $PHP_SELF; ?>を実行します。
さて、この時$PHP_SELFはABC.phpを指すのでしょうか?それともXYZ.phpでしょうか?
0607名無しさん@お腹いっぱい。
02/01/15 17:46ID:???0608606
02/01/15 20:02ID:t9teO+Xeいやー、それがですね、PHP DBG Debugger で実行してみると、
$PHP_SELFが空白しかリターンしないんですよ。
それで他の人たちに聞きたいのですが。
0609名無しさん@お腹いっぱい。
02/01/15 20:15ID:???デバッガー使わなきゃいいじゃん
PHP使わなきゃいいじゃん
0611名無しさん@お腹いっぱい。
02/01/15 20:23ID:???608に言えやボケ。
0612名無しさん@お腹いっぱい。
02/01/15 20:24ID:???( ´ ・∀・`) へー
0613606
02/01/15 20:27ID:t9teO+XeABC.phpに<? echo $PHP_SELF; ?> と書いて、実行すると
このスクリプトのパスが表示されます。
しかし、上で述べたように別のファイルに定義された関数で$PHP_SELF
を表示させると空白しか表示されません。
これは、なぜでしょうか?php.ini 等で修正できるのでしょうか?
0615名無しさん@お腹いっぱい。
02/01/15 20:34ID:???( ´ ・∀・`) へー
0616名無しさん@お腹いっぱい。
02/01/15 20:35ID:???俺のかわりにありがとう
0617606
02/01/15 20:38ID:t9teO+Xe0619名無しさん@お腹いっぱい。
02/01/15 20:40ID:???( ´ ・∀・`) へー
0620606
02/01/15 20:57ID:t9teO+Xe英語読めるよ。アメリカに5年住んでるから。
英語読める読めないを問題にしてるなんて、程度低いね。
妄想オタクの集まる所なんて、もう来ないよ。じゃ。
0621名無しさん@お腹いっぱい。
02/01/15 21:07ID:bVf9JhKA$hiduke = '2005-04-05';
というように、$hidukeにyyyy-mm-ddの形式で日付が格納されているとき、
この日付が現在よりも後かそうでないかを判断するにはどうすればいいのでしょう?
0622名無しさん@お腹いっぱい。
02/01/15 21:07ID:???( ´ ・∀・`) へー
0623名無しさん@お腹いっぱい。
02/01/15 21:45ID:???>の集まる
一人の振る舞いを複数形に増幅するのが君の反撃? これで終わり?
まあいいけどさ。
0624名無しさん@お腹いっぱい。
02/01/15 21:57ID:???UNIXタイムスタンプか何かに変えちゃって
現在の(UNIXタイムスタンプ)と比較すればどうだろ。
そのあたりの関数はこの辺かな。
ttp://jp2.php.net/manual/ja/ref.datetime.php
あと、海外に鯖があったりすると時差に引っかかったりするのでご注意。
0625名無しさん@お腹いっぱい。
02/01/15 22:22ID:???0626名無しさん@お腹いっぱい。
02/01/15 22:51ID:???日本語使うなというオチか?
0627名無しさん@お腹いっぱい。
02/01/15 23:27ID:???長尾うざいよ、ってゆーオチじゃねーの?
>スクリプト内で、SJIS が使えない状態は、非常に、不便です。
>SJIS で大量につくったページがある状態での移行はきわめて不便です。
>私は、スクリプトエンコードを解釈するオプションができるまで、
>PHP4 への移行は、待ちます。
どうぞご勝手に、って感じ?パッチ作ってやってる側の立場にもなれよな。
何ならてめーにふってやってもいいんだぜ?
0628名無しさん@お腹いっぱい。
02/01/16 00:49ID:???> どうぞご勝手に、って感じ?パッチ作ってやってる側の立場にもなれよな。
> 何ならてめーにふってやってもいいんだぜ?
そんな誤解をまねくような発言をされると困るんですが。
0629名無しさん@お腹いっぱい。
02/01/16 00:53ID:???( ´ ・∀・`) へー
0630626
02/01/16 00:59ID:???怖い展開になりそうな予感
つまりは、EUC > EUC でいいじゃん。
不満ならUTF-8でも使えばいいじゃん。
なんて言うと、
「話を見てない厨房は、
今すぐLANケーブルを口から入れて尻から出せ」
と言われてしまうのでしょうか?
0631名無しさん@お腹いっぱい。
02/01/16 01:17ID:???使用しています。この掲示板はindex.htmlを書き出す、書き出さない、を設定で
選択出来るものです。
今回、referrerで自分のサイト内から来たのか、他のサイトから来たのか
チェックして他のサイトから来た場合はメッセージを表示させようと
思ったのですが、index.htmlをindex.phpにして書き出し、そこで
チェックするのと、index.htmlを廃止して全てCGIで行うのとでは、
どちらが負荷が低いでしょうか?
0632名無しさん@お腹いっぱい。
02/01/16 01:22ID:???0633名無しさん@お腹いっぱい。
02/01/16 01:37ID:???( ´ ・∀・`) へー
0634名無しさん@お腹いっぱい。
02/01/16 01:43ID:???index.phpにして、referrerチェックするだけのコードを
挿入した方が、負荷は低いんじゃないの。
0635名無しさん@お腹いっぱい。
02/01/16 09:54ID:QldZQ7Atglobal $PHP_SELF;
をXYZ.phpに書いとくとどうよ? ABC.phpが返らない?
0636名無しさん@お腹いっぱい。
02/01/16 10:01ID:0aSVB78Mうん、そう。global を置くといいんだよね。
0637名無しさん@お腹いっぱい。
02/01/16 12:04ID:d4Rc5uNoiモード向けなのでGIFで出力するのですが、DBにはJpegで保存してあります。
機種によって色数とサイズを変更する必要があるのでImageMagickのconvertコマンドを呼び出して変換している
convertでは無理でしょうか?
0638名無しさん@お腹いっぱい。
02/01/16 13:31ID:???イタチ害
0639名無しさん@お腹いっぱい。
02/01/16 17:20ID:INo6dhu/どこが?
0640名無しさん@お腹いっぱい。
02/01/16 17:36ID:???無責任モードですが
JPEG(DB) → GIFの前に
JPEG(DB) → JPEG(temp) → GIF
として画質を落としたJPEGを作ってGIFにしたらどうなりますかねぇ。
これって意味無いんですか?
識者の方または637さんの報告いただければ幸い。
0641名無しさん@お腹いっぱい。
02/01/16 17:55ID:KcWg2TMr0642637
02/01/16 18:44ID:d4Rc5uNo返答ありがとうございます。
それも試しましたが同じでした。
どうやらconvertのgif圧縮アルゴリズムはライセンスの問題で簡易版になっているようです。
他に方法があればよいのですが・・・。
0643名無しさん@お腹いっぱい。
02/01/16 20:08ID:???あう。ごめんなさい。そうでした…
このあたりで言われていたんだった…
ttp://ns1.php.gr.jp/pipermail/php-users/2001-October/002683.html
なので、上記とかを参考にすると
ImageMagickをconfigureするときに,--enable-lzwオプションを付けることで、
lzwが使えるようになります。
独り言ですけど。
(なのでライセンス的な部分は聞かんといて)
今更ImageMagickのconfigureからという方法しかわからなくて
申し訳ないっす。
0644名無しさん@お腹いっぱい。
02/01/16 22:06ID:kt5qin0iあるテーブルのデータ(単に、select * from あるテーブル した状態だけのもの)を、
Excelの表としてユーザが表示できるようにしたいと思っています。
(ユーザは、ある部署の人たちなので、限られたPCで実現できればいい)
この場合、どうする方法があるのでしょうか?
自分としては、
------------------------------------------------------------
・(手順1)PHPでCSVで単純にデータをはき出すページをつくる。
・(手順2)エクセルファイルにVBAで
「IEで上記のURLを開いて表示されたCSVを読み込んでそれをエクセルに貼り付ける」
というマクロをしこんでおく
・(手順3)そのエクセルファイルを配布する。
------------------------------------------------------------
という方法という方法しか思いつかないのですが・・・
あるいは、PHP4みたいにCOMドメインが使えなくても、
PHPから直接Excelファイルをはき出す方法はあるのでしょうか?
0645644
02/01/16 22:07ID:???0646名無しさん@お腹いっぱい。
02/01/16 23:13ID:???ttp://ns1.php.gr.jp/pipermail/php-users/2001-December/004506.html
(CSV ファイルDL時にIE5.5が落ちる という物騒なネタですが)
から始まるスレッドで
---------------------------------------------------------------------
$filename = "data.csv";
header("Content-type: application/ms-excel; name=".$filename);
header("Content-Disposition: inline; filename=".$filename);
// 以降、カンマ区切りのデータ
---------------------------------------------------------------------
こんな感じでやっていますが、これじゃダメですか?
あと、ExcelもCSVは扱えますけど、
やっぱりエクセルファイルの形式にしなきゃだめすか?
直接Excelファイルを吐き出すのは難しいんじゃないですかねぇ。
0647(・ι・)
02/01/17 01:59ID:TyM4YzghPHPって普通のlogファイルやdatファイルを
外部ファイルとして読み込めるんでしょうか?
BBSのlogファイルに吐き出されたデータを
PHP上の配列させたくて色々自分なりにやってみたけど
全然ダメっす!!わかんね〜〜〜〜〜!!
cgiで云う、、、
open(IN,"$logfile") || &error("Open Error : $logfile");
while (<IN>) {
($num,$date,$name,$email,$sub,$com,$url,$host,$pwd) = split(/<>/);
こういった処理って一体どないすれば良いんだ〜〜〜????
0648教えて君
02/01/17 02:04ID:???マニュアルぐらい読みやがってください
http://www.php.net/manual/ja/ref.filesystem.php
0649名無しさん@お腹いっぱい。
02/01/17 02:11ID:???http://jp2.php.net/manual/ja/ref.filesystem.php
このあたり(fopen())でファイルを読み込んで…ですかね。
あとは
http://jp2.php.net/manual/ja/ref.strings.php
http://jp2.php.net/manual/ja/function.split.php
で文字列をいじる、と。
あとこのスレの575-580あたりも参考になりませんか?
CGI分からないのではずしてたら申し訳ない。
0650(・ι・)
02/01/17 05:14ID:TyM4Yzghマニュアル、読みやがってるんですが
殺伐とした文字の羅列が「女子供はすっこんでろ!」
って風に感じてきて、、、。
女でも、子供でもないのですが、、、、。
>>649
色々見て回って fopen fget feofやらに
ビシバシとアヤしさは感じているのですが、、、。
も一度気合入れて、その辺り、読んでみます
コレをクリアしないとPHPにくじけてしまいそうだ、、、。
0651名無しさん@お腹いっぱい。
02/01/17 06:45ID:???個人的にはPerlの方が訳分からん。
fopenとかの方が分かりやすい。
たまにfread(buf, size, 1, fp);とかやるが(藁
0652_
02/01/17 08:05ID:???おなじ感じでしっくり来る。
$hairetu = file($file);
for($i = 0;$i < count($hairetu);$i++){
list($num,$date,$name,$email,$sub,$com,$url,$host,$pwd) = explode('<>', $hairetu[$i]);
/*
「まんこ」より「オマンコ」の方が卑猥だ
*/
}
0653名無しさん@お腹いっぱい。
02/01/17 09:21ID:???@data = <DAT>;
close (DAT);
と同じだよね?データ量多くなるとメモリ食いすぎ・・・。
0654名無しさん@お腹いっぱい。
02/01/17 12:33ID:???■ このスレッドは過去ログ倉庫に格納されています