【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/
0305291
01/11/30 11:18ID:???http://www.php.net/manual/ja/function.mktime.php
|与えられた引数に従って UNIX のタイムスタンプを返します。 このタイムスタンプは、Unix epoch(1970年1月1日)から 指定された時刻までの通算秒を表す長整数です。
折角リンク張ってるんだからちゃんと読んでくれ。
0306300
01/11/30 12:36ID:KqQYZRFH追記です。
試しに、
<?php
error_reporting(0);
//以下処理作業
?>
と先頭で宣言して、別の行のセミコロンを消してみたりしてみたところ、
エラーメッセージが出なくなっていました。
error_reportingが使えないわけではないようなのですが、
やはりMAX_FILE_SIZEへのWarningだけ消すことができません。
error_reportingを宣言する場所を色々変えてみたりもしましたが、
駄目でした。
もしかして、このエラーメッセージは消せない仕様でしょうか?
>>301
エラーメッセージは
<input type=hidden name=MAX_FILE_SIZE value=****>
で引っかかると自動的に出るので、@をつけるところがないのです。
0307名無しさん@お腹いっぱい。
01/11/30 12:37ID:9071v1Hzこれで1970年1月1日からの通算秒が出るっていうわけですよね?
この場合1秒も経っていないので0が返されるはずですが
-32400が返されます。
何故でしょうか。
0308名無しさん@お腹いっぱい。
01/11/30 12:46ID:9071v1Hz同じように1日経過したとして試したら
54000 と返ってきました。
計算したら15時間経過した状態です。
何かやり方がおかしいのでしょうか。
0309名無しさん@お腹いっぱい。
01/11/30 12:54ID:9071v1Hzecho mktime (0,0,0,1,1,1970);
これだけで良かったんでしょうか。
でも結果は同じですね。。
0310名無しさん@お腹いっぱい。
01/11/30 12:54ID:???putenv("TZ=GMT");
echo mktime(0,0,0,1,1,1970);
と
putenv("TZ=JST-9");
echo mktime(0,0,0,1,1,1970);
比べてみ。
0311301
01/11/30 14:04ID:NFAwBonPあ、もしかして使ってるのはPHP3?
じゃあ、設定ファイルで
display_errors = Off
かな。
でも、出来るならPHP4にバージョンアップしたほうが良いかと。
(3と4ではかなり違うからねー。)
0312300
01/11/30 14:15ID:kUV02PYLはい。PHP3です。
レンタルサーバにアップしていて、そこの仕様がVer3.0.7なんです。
(いい加減4にして欲しいです)
設定ファイルをいじると他のスクリプトもエラーを表示しなくなってしまうんでしょうか?
スクリプトはこれだけではないので、それは避けたいのですが…。
度々スイマセン…
0313名無しさん@お腹いっぱい。
01/11/30 14:18ID:???思いっきりセキュリティホールがあるぞ・・・。
0314名無しさん@お腹いっぱい。
01/11/30 14:20ID:9071v1Hzputenv("TZ=GMT");
$a = mktime(0,0,0,1,1,1970); // 任意の時刻からUNIXライムスタンプを取得
$b = time(); // 現在のUNIXタイムスタンプを取得
これで$aと$bを比較して差がどれだけかを判別すればいい訳ですね。
putenv("TZ=GMT"); mktime(); は gmmktime();だけでもいいんですか?
0315名無しさん@お腹いっぱい。
01/11/30 14:45ID:???0316名無しさん@お腹いっぱい。
01/11/30 14:57ID:???元質問の掲示板でのNew表示は掲示板のログに保存されている時刻がJSTなら
putenv("TZ=JST-9");
$a = mktime(0,0,0,1,1,1970);
$b = time();
の$aと$bの差を調べんとダメだよ。
gmmktime, mktime の返り値はどっちも 1970/01/01 00:00:00 GMT からの秒数。
渡すパラメータ(任意の時刻)がローカルか、GMTかの違いだから。
0317301
01/11/30 15:00ID:NFAwBonP共用鯖だと設定ファイルいじれないんじゃない?
PHP3だとini_setも使えないしなー。
穴があるみたいだからPHP4.0.6にバージョン上げてくれって
メールしてみるか、それが無理なら思い切って移転しましょう。
0318300
01/11/30 15:19ID:d3cxAmiDそうでした;
新しく加入したユーザの方はVer3.0.15なんですが…何故か4以降にはあげてくれません。
結局スクリプト内でerror_reportingを使ってもこのエラーメッセージは消せないということでしょうか?望みは薄いですがメールしてみます。
>313
こっちとしても新しいのにして
欲しいんですけどね…
0319名無しさん@お腹いっぱい。
01/11/30 16:01ID:???何度もすみません。
一応おっしゃる通りやったら期待通りに動作しました。
putenv("TZ=JST-9");
$a = mktime(0,0,0,1,1,1970);
$b = time();
これなんですけど、「putenv("TZ=JST-9");」の部分が無くても
差は変わらない(動作は同じ)なんですがTZの値がデフォルトでJST-9に
なっているという事でしょうか。
投稿時に記録する時刻は日本の中なので普通にdatetime()から
時刻を受け取っています。
あとJST-9これなんですが、日本はグリニッジより9時間早いんですよね?
9時間早くて、-9にしたら標準時と等しくなってしまうので、
TZ=GMTと変わらなくなってしまうのでは?
的外れな事でしたらすいません。わかりやすく教えて下さい。
0320名無しさん@お腹いっぱい。
01/12/01 16:23ID:1PAfk5MIなんかすごそうに見えるのでダウンロードしたけどよくわかりません。
http://www.phpide.de/index.php4
0321いいね
01/12/02 00:58ID:OT/+E88aほほう、こんなのがあったのか。
要はPHPのIDEね。
いまちょっと使ってみたけど、
むむむ、漢字が表示できない…
これで漢字が表示できれば良かったんだが、
さすがにドイツ人には難しかったかな。
0322名無しさん@お腹いっぱい。
01/12/02 01:08ID:euowIUwQ設定でフォントを変える必要がある。
そんで、SJISなら漢字出るけどEUCは化ける様子?
このヘンなんとかならないかな?
使いたいぞー、コレ。
0323321
01/12/02 01:50ID:OT/+E88aもしかして Windows98 とか使ってる?
だったら SJIS なら出るかもね。
俺は Windows2000 使ってるからまったくだめ
(おそらく Unicode だから)
メニューとかダイアログとかならともかく
エディタ部分で漢字表示できないのは致命的だよ。
0324322
01/12/02 03:04ID:euowIUwQwin2kだけどNTFS使ってなかったからいけた様子。
forumみたら、9月に「2バイト文字に対応してくれ」って
日本の人が書き込んでた。(レスなし)
TODO listにある『Multi language support』の項目は
プライオリティ・ゼロになってるし、多言語対応は重要視されてないのかな。
くそー、内輪だけで使いやがってー。
0325
01/12/03 08:57ID:TG9vSJdC0326名無しさん@お腹いっぱい。
01/12/03 23:59ID:NmbAOEzCそのココロは
0327プログラム初めてまもない者
01/12/04 16:53ID:???PHP+PostgreSQLで、検索処理を行いたいのですが、
A、B、Cのどれかが入力されていれば、DBの中身を出せて、
何も入力しないと、エラーを出したいのですが、
「or」や、「||」を使ったのですが、どうしてもうまくいきません。
これは、どう組んだらうまく出来るのか、
どなたか、お教えください。
0328名無しさん@お腹いっぱい。
01/12/04 18:14ID:???これじゃ駄目か? trimはスペースだけ打ちこまれたときの対策
if( trim(A) == "" and trim(B) == "" and trim(C) =="" ){
echo "なんかデータ入れてちょ";
}
0329名無しさん@お腹いっぱい。
01/12/04 22:34ID:FhI7IKy3Shift-JIS で記述したPHPファイルをアップロードして WWW ブラウザで
見たんですが,そうしたら EUC に変換されてしまいました。
どうにか EUC に変換されないようにする方法はありませんでしょうか。
ちなみに他人のサーバーを貸してもらっているので
php.ini は自分では変更できません。
0330名無しさん@お腹いっぱい。
01/12/05 03:52ID:???0331名無しさん@お腹いっぱい。
01/12/05 04:40ID:???EUCで我慢しよう。
0332名無しさん@お腹いっぱい。
01/12/05 04:42ID:???PHPファイルの最初で
<?php i18n_http_output("SJIS"); ?>
でどうよ
0333名無しさん@お腹いっぱい。
01/12/05 11:49ID:zyRZIzETその中身を取得してくれません。
学内のファイルなら取得できるんですが。
これは何が問題ですか?
0334名無しさん@お腹いっぱい。
01/12/05 11:59ID:???ファイヤーウォールを設置しているからでは?
ファイヤーウォールをなくしたら何とかなると思います。
そんなに難しいことではないので頑張りましょう。
0335333
01/12/05 12:06ID:zyRZIzET学内は確かSQUIDが入ってたと思います。
ファイアウォール自体はどうしようもできないので、
PHP側から制御可能ということでしょうか。
因みに外部ポートは8080(Proxy)しか空けてません。
0336プログラム初めてまもない者
01/12/05 12:47ID:???ありがとうございます。
早速試してみます。
出来次第、ご報告いたします。
0338プログラム初めてまもない者
01/12/05 13:14ID:???出来ました。
簡単だったんですね^^;
ありがとうございました。
0339名無しさん@お腹いっぱい。
01/12/05 13:33ID:zyRZIzETPHPから http://hoge:80のようにするということですか?
ドキュソですいません。
0341333
01/12/05 14:28ID:zyRZIzET是非お願いします。
0343333
01/12/05 17:27ID:zyRZIzET64.71.145.43
0344名無しさん@お腹いっぱい。
01/12/05 23:01ID:nhOtQwAT0345名無しさん@お腹いっぱい。
01/12/05 23:57ID:???早く >>326 の質問に答えてくれよぉぉ
もう2日も徹夜してるのに〜
0346名無しさん@お腹いっぱい。
01/12/06 06:27ID:QS7LdetkPHPプログラミングという本を買ってきましたがわかりませんでした。
しょんぼりです。
0347名無しさん@お腹いっぱい。
01/12/06 09:06ID:???0348名無しさん@お腹いっぱい。
01/12/06 13:32ID:v/syCNNMここに書いてありました。
http://www.phpbuilder.com/forum/archives/2/2001/6/2/139863
PHPをはじめたばかりで、いろいろページを見ていたのですが
上のところで偶然目に付き気になりました。
0349名無しさん@お腹いっぱい。
01/12/06 14:07ID:C2URSLdy$cnx = mysql_connect($db_host, $db_user, $db_pass)
or custom_die("Unable to connect to database server.");
mysql_select_db($db_name, $cnx)
or custom_die("Unable to select database.");
0350名無しさん@お腹いっぱい。
01/12/10 11:34ID:Kt7WHs/X<?php
if(isset($submit))
print $testBox;
?>
<form action="a.php?" method="post">
<input type="hidden" name="testBox" value="\"">
<input type="submit" name="submit" type="button" value="test">
</form>
0351 ◆wfMSpsRY
01/12/10 12:20ID:fl9g+Ipb<input type="hidden" name="testBox" value=""">
だべさ。
0352350
01/12/10 13:48ID:Kt7WHs/X0353350
01/12/10 13:49ID:Kt7WHs/Xありがとうごぜえますだ。
0354名無しさん@お腹いっぱい。
01/12/10 20:06ID:ko+ATGtxfunction main{
いろいろな処理
}
↑こんな記述があったけど、
Perlのサブルーチンと同じようなものと思っていいのかな
0355名無しさん@お腹いっぱい。
01/12/11 00:25ID:???0356名無しさん@お腹いっぱい。
01/12/11 10:01ID:o8TNxYhrこんな私でもPHPを1から学べるサイトか本ってないでしょうか?
OSはWin98SE、サーバー(プロバですが)はPHP4とMySQLてのが使えるみたいです。
みなさんとっておきのやつを教えて下さいな。
0357名無しさん@お腹いっぱい。
01/12/11 10:28ID:DitIDxcGこのとき、Sybase関数をつかってやり取りをしているのですが、
Sybase関数にはPostgreSQLのpg_fieldisnull関数のような
フィールドがNULLかどうか判断できる関数が用意されていないのでしょうか。
取り出したデータがが0なのかNULLなのか判らずに困っています。
0359提案さん
01/12/11 15:49ID:goc2nq1d使ってない人間にとっては邪魔くさい
0360名無しさん@お腹いっぱい。
01/12/11 18:13ID:???0361名無しさん@お腹いっぱい。
01/12/11 19:21ID:???書籍に関してはこのスレを参照するといいよ
http://pc.2ch.net/test/read.cgi/php/985315574/l50
0363名無しさん@お腹いっぱい。
01/12/11 23:52ID:6v1YPQ1Yいーんじゃない?
それをいうなら自分が絶対に使わないような機能の質問だってあるわけだし。
php使ってるならそれほどスレ違いじゃないし排除する理由が見あたらない。
っつーか、それ以前に邪魔くさいというほど書き込みないし(w
0364356
01/12/12 01:39ID:Jw7DDAIf>『MySQL & PHP Webデータベース入門』ソフトバンク 田中ナルミ 著
>前はこれ使ってました。DB、PHPの初心者におすすめ。
>MySQLとPHPのインストールから載ってます。
>これから始める人向けかも。
これ買ってみようと思います。がんばろう。
0365親切な人
01/12/12 02:52ID:???ヤフーオークションで、凄い激安商品、発見!!!
「高性能電子辞書」が、たったの 3900 円↓
http://page2.auctions.yahoo.co.jp/jp/auction/b18711631?
今は無き「コピーガードキャンセラー」↓
http://page2.auctions.yahoo.co.jp/jp/auction/b18505597
ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。
0366名無しさん@お腹いっぱい。
01/12/12 20:26ID:fNZ4ZfDv同じモノで turbo + apache 環境だと動くのに・・・
誰か知っているいたら教えて下さい。
0367名無しさん@お腹いっぱい。
01/12/12 21:03ID:fNZ4ZfDvちゃんとマニュアル読んだら書いてありましたね。
0368名無しさん@お腹いっぱい。
01/12/12 22:04ID:???$reg = "(s?https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)";
$text = eregi_replace("$reg","<a href=\"\\1\">\\1</a>",$text);
ってやってるんですが、もっと効率いい方法があるかもしれません。
0369名無しさん@お腹いっぱい。
01/12/13 18:59ID:???PHPの利点ってなに?
使ってて良かったとろことかあったら教えて。
いまPerl一辺倒なんだけどほとんどCGI製作でしか使ってないからPHPの
方が楽そうだなぁ〜くらい思ってるんだけどさ
0370名無しさん@お腹いっぱい。
01/12/13 19:08ID:???・フォームの受け取り、クッキーの受け取りが楽。
・なんとなくそこらのPerl使いより出来そうな人に見られる(藁
0371名無しさん@お腹いっぱい。
01/12/13 19:25ID:???私、年末まで死にそうなんですけど
0372名無しさん@お腹いっぱい。
01/12/13 19:37ID:???0373371
01/12/13 23:39ID:???http://jp2.php.net/release_4_1_0.php
register_globalsをoffにしたいという要望を出してきた
クライアントが数社いて・・・
なにを今更とも思うのだが、お金は欲しいので頑張ってる次第。
0374名無しさん@お腹いっぱい。
01/12/14 01:29ID:???うを、そんな効率的な書き方が出来たのですか。
これの5倍くらいあるソース書いてたよ。めっちゃ鬱…
0375名無しさん@お腹いっぱい。
01/12/14 03:54ID:???で、それを自動的にある一定の長さだったら自動的に
<br />を入れようと考えてるんだけど
preg_replace_callback使って
改行入れた物に置き換えるって感じがいいのかな?
ちなみに今日はphp.iniをどこに置いていいか分からず
小7時間ほど悩むという荒技。ある意味泣きそうでした。
0376200
01/12/14 09:16ID:???$message = ereg_replace("\\", "",$message);
だとエラーになります。
"\"はどうやったら消せるのでしょうか?
0377名無しさん@お腹いっぱい。
01/12/14 15:28ID:???===============================
> すみません、どういう理由からPHP4.0.6+PostgreSQLの組み合わせが奨められな
> いのか教えていただけませんか?ちょうどいまその組み合わせで開発しているの
> で気になります。
2,3,目にした記憶がありますが、過去ログ漁ってみたらこれがありました。
[PHP-users 3003] PHP 4.1.0RC1
> =蛇足=
> PHP-4.0.6 のPostgreSQLモジュールにはバグがあり(Noticeメッセージ関
> 連)ランダムにクラッシュします。少し前にCVS版ではFIXされています。
==============================
PostgreSQLとセットで使ってる奴はサクっとアップデートしる!
0378名無しさん@お腹いっぱい。
01/12/14 16:16ID:???$message = stripslashes($message);
でどう?
昨日PHP4.1にしたら、今日はお腹を壊しました。
罠か!
0379名無しさん@お腹いっぱい。
01/12/14 17:09ID:Xm3mwURV0380名無しさん@お腹いっぱい。
01/12/14 17:39ID:W/pKVt66Warning: MkDir failed (Invalid argument)
パーミッションが悪いと思うけど、UNIXとは違うし
誰かやり方知っている人いませんか〜?
0381Kusakabe Youichi
01/12/14 17:46ID:???In article <[email protected]>, 名無しさん@お腹いっぱい。/380 wrote:
> NT環境で mkdir コマンドを叩くとこんなメッセージが・・・
> Warning: MkDir failed (Invalid argument)
> パーミッションが悪いと思うけど、UNIXとは違うし
> 誰かやり方知っている人いませんか〜?
Linuxもエラーでしたよ ;)
$ mkdir
mkdir: 引数の数が少なすぎます
0382obe
01/12/14 18:08ID:R/mO9HxA<br />を入れようと考えてるんだけど
0383obe
01/12/14 18:10ID:R/mO9HxAwordwrap -- 文字列分割文字を使用して指定した文字数数に文字列を分割する
$newtext = wordwrap( $text, 30, "<br />", 1);
0384oh
01/12/14 22:51ID:8okmk3bqWEBだと表示できてimodeだと表示できないです。
なんか違いあるんでしょーか?
0386名無しさん@お腹いっぱい。
01/12/15 05:40ID:p+HxQSwnPHPは同じ機能を持った関数が結構多いと思うのですが、なぜでしょう?
splitとexplodeなど他にも色々。
一見同じに見えても違うのでしょうか?
0387名無しさん@お腹いっぱい。
01/12/15 07:33ID:???他言語ユーザーへの配慮では?
そもそもマニュアルでsplit==explodeって明記されてるし。
0388名無しさん@お腹いっぱい。
01/12/15 10:43ID:GAroF9xAhttp://jp.php.net/manual/ja/aliases.php
>そもそもマニュアルでsplit==explodeって明記されてるし
別の物。どこに明記されてんの?
splitは正規表現が使えるよ
>正規表現の機能を必要としない場合、正規表現エンジンのオーバーヘッ
>ドがないexplode()の方がより高速であるというこ とに注意して下さい。
0389名無しさん@お腹いっぱい。
01/12/15 19:55ID:jR3GQyZCi-modeでgif以外を表示しようとしているわけではないよね(藁
0391名無しさん@お腹いっぱい。
01/12/16 00:47ID:???どのようにすれば良いでしょうか?
0392oh
01/12/16 01:50ID:Lyip/EHr違います。
しかも解決しました。
header("contect-type:image/gif")を入れ忘れてました。
それでもブラウザでうつったんで、混乱しました。
すんません。
0393名無しさん@お腹いっぱい。
01/12/16 02:14ID:l0Ns02rZWEBからアップロードされたfileの元の名前など各項目は
どこを参照すればよいのでしょうか?
0394393
01/12/16 02:20ID:???track_varsがOnの時は$HTTP_POST_FILES[][]内に入ってました。
5分で気づく物を書いてしまって鬱だ、逝ってきます。
0395395
01/12/16 03:19ID:YMTKT1gAすいません
ちょっと気になったことがあるんですけど、
rtrimとchopだったらchopを使うようにするべきと読んだんですけど、この理解はあってるでしょうか?
なんか、日本語の読解力無くてすいません。
0396名無しさん@お腹いっぱい。
01/12/16 03:53ID:???www.zdnet.co.jp のように、「フレームっぽいけどフレームじゃ
ない」つまりクリックすると一部が変化するけど残り(右端の
「今日のニュース」など)は変化しないサイトは、PHP で作るの
が普通なのでしょうか。各サイト独自の CGI で動的生成します
か?(それだと遅そう) zdnet なら静的生成でも大丈夫そうです
が、slashdot.org のような、一部が掲示板形式の場合はどうで
しょうか。
0397名無しさん@お腹いっぱい。
01/12/16 04:09ID:???そのfileの作成はperlか何かで作成。cronで一定時間で更新。
そういう意味じゃなくて?
0398名無しさん@お腹いっぱい。
01/12/16 04:12ID:???mod_PerlはPHPに負けず劣らず高速。むしろ勝ってるような。
漏れはPHPマンセーなので偏った理屈であることは否定できないのだが、PHPのほうが開発効率いいしOOであまり違和感無いのが良い。
開発効率は言語の習得レベルにもよると思うけど。
ただ、基本的に負荷は、サーバのスペック強化・回線の増強・サーバ分散でカバーするのが普通。
0399396
01/12/16 05:15ID:???そういう意味です。ただ、SSI で別プロセス上げるのは重そうなので、
PHP かなあと。
>>398
あ、mod_perl でしたか。というか、mod_perl はそんなに速いものだっ
たんですか。知りませんでした。試してみます。
0400名無しさん@お腹いっぱい。
01/12/16 08:42ID:???そういわれてみれば、そうだね。
<!--#include virtual="/inc/omanko.html"-->
readfile('/www/tinko/docs/inc/omanko.html')
どちらが良いのだろう?
400げっつ
0401名無しさん@お腹いっぱい。
01/12/16 15:16ID:vm8g1tYf0402名無しさん@お腹いっぱい。
01/12/16 15:33ID:???将来的に差し込み部分で何らかの処理をする可能性があれば、
PHPでincludeした方が何かと便利かと、
0403名無しさん@お腹いっぱい。
01/12/16 16:07ID:E5IDnaRx意味がわからない・・・
$ch[0] = 2;
$ch[1] = 15;
$ch[2] = 1;
$ch[3] = 1.5;
を
$ch[0] = 1;
$ch[1] = 1.5;
$ch[2] = 2;
$ch[3] = 15;
にしたいってこと?
■ このスレッドは過去ログ倉庫に格納されています