【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/
0266名無しさん@お腹いっぱい。
01/11/24 00:27ID:???パーミッションは触らずに逝け。
ってゆーか、どこの鯖使ってんの?
0267名無しさん@お腹いっぱい。
01/11/24 00:53ID:E2NIMZ73ちなみに PHP は CGI として使う方法と Apache のモジュールとして使う方法の
2種類あるけど、自分の鯖がどっちの方法なのか知ってるの?
モジュールとして使うならパーミションは関係ないよ
0268260だけど263じゃないんだけど・・・
01/11/24 01:01ID:YHMgKrz0試してみます。
>>267 まるで知りません
0269260だけど263じゃないんだけど・・・
01/11/24 01:04ID:YHMgKrz00270266
01/11/24 01:06ID:???使用中もしくは経験豊富な方が、いらっしゃるかもですよ。
0271web shop作りたひ者
01/11/24 01:35ID:Zb/Z9YC4cgiを使ったweb shop site作りを助けるソフトで何かいいものがないでしょうか?
web shop editorとshop builderというものが良さそうに思うのですが
これら以外でいいものがあるなら教えていただきたいです。
0272262
01/11/24 01:38ID:???一緒じゃんかよ。
ってか俺ほんとは初心者じゃないし。企業にソフト納品とかしちゃってるし。
ま、せいぜー頑張って。ってかレッツPHPとか逝けよ。
0273267
01/11/24 01:40ID:E2NIMZ73ソースが丸見えになるなら、Apache のモジュールとしては動いてないと思われ…
拡張子 html のままで解析されるようになってるのかな??
とりあえず html にしてやってみてわ
それでもだめなら CGI として使えってことだろうな。
0274名無しさん@お腹いっぱい。
01/11/24 01:57ID:???ってーかサーバー管理者にメールか電話で聞け。
ここでうだうだ言ってるよか256倍は早い。
ここにカウンタとBBSを置きたいんですがうまくいきません。
セーフモードって何ですか?
0276名無しさん@お腹いっぱい。
01/11/25 04:38ID:???色んな意味で
0277名無しさん@お腹いっぱい。
01/11/25 22:13ID:???DBがInterBeaseで、DATE型の日付があります。
投稿時刻を投稿の際に記録します。
それで24時間以内の投稿ならばNEWにしたいのですが。
どうすればいいんでしょうか。
自分で考えたのは、
1,投稿時刻をDBから取得します。= $retAryy[n]
2,現在の時刻に24時間足したものを = $nowTime
3,$retArry[n] と $nowTime を比べる
でいいと思うんですが、2の24時間足す動作と、
3,の日付を比べる動作がどうやればいいのか困っています。
どうか御願いします。
0278名無しさん@お腹いっぱい。
01/11/25 22:47ID:IKGmxf48投稿時間に24時間足して,現在の時刻と比較であ?
0279名無しさん@お腹いっぱい。
01/11/25 23:02ID:???InterBase自体に日付・時刻を演算する機能はなかったかな?
(Oracle,PostgreSQLなんかだとあるんだけどね。)
>>278
冷静なツッコミだな…ソノトオリだが。
0280名無しさん@お腹いっぱい。
01/11/25 23:29ID:???0281名無しさん@お腹いっぱい。
01/11/25 23:40ID:???E尸
衣毛ウザイ
0282名無しさん@お腹いっぱい。
01/11/26 22:41ID:???これってひょっとして最近 php-users に出てる長尾のこと?
ちと苦しいんじゃねー?
0283質問しようと思っていた
01/11/27 00:35ID:???疲れた。
0284名無しさん@お腹いっぱい。
01/11/27 23:50ID:GaPmql7r使ってる方、結構いるのでしょうか?
0285名無しさん@お腹いっぱい。
01/11/28 00:18ID:???DBは使ってるけど、他はまだ解析中。
(というか、暇がねぇ。。。)
0286名無しさん@お腹いっぱい。
01/11/28 00:22ID:???できないでしょうか?
.htaccess 使ってできればベストですが、httpd.conf の書き換えで
できるようでしたら、それでも構いません。
0287EXCELファイル
01/11/28 10:54ID:c3Xf6lEuhttp://ppfh028.cisnet.or.jp/article.php?sid=40
が引っかかり覗いてみたのですが、
PHPからEXCELのファイルを出力できるのでしょうか。
取っ掛かりになるサイトや本があれば教えてください。
0288277
01/11/28 13:37ID:QhZ6TCnD調べたらちょっと自力で値を比べていくしかないみたいなんですが
ちょっとそれもわかんなくなってきました。
現在時刻↓
$now1 // 年
$now2 // 月
$now3 // 日
$now4 // 時
$now5 // 分
$now6 // 秒
投稿時刻↓
$time1 // 年 例:2001
$time2 // 月 例:11
$time3 // 日 例:3
$time4 // 時 例:23
$time5 // 分 例:18
$time6 // 秒 例:56
変数をこのように定義したとします。
「投稿時刻が24時間以内であれば変数$hogeに"new!"を代入する」
という仕組みを作りたいのですが。。。
注意が、分などの値が一桁の場合03分という風に前に0が必ず
付くわけではないです。
0289277
01/11/28 14:49ID:QhZ6TCnD関数みたいなものがあるみたいなのですが、
phpではどうなのでしょうか。
良く考えたら上のやり方では年をまたいでいる時
投稿時刻と現在の時刻が24時間以内かどうかを判断するのはかなり
手間がかかりそうですよね。あと閏年も考えると無理そうです。
0291antique
01/11/28 15:05ID:???http://www.php.net/manual/ja/function.mktime.php
でUnixタイムスタンプに直して 24*60*60 以上差が無いか見れ。
0292名無しさん@お腹いっぱい。
01/11/28 15:30ID:???EXCELっつか*.csvファイルのこと?
ファイルシステム関数fgetcsvを参照されたし。
0293名無しさん@お腹いっぱい。
01/11/28 15:37ID:???0294名無しさん@お腹いっぱい。
01/11/28 21:41ID:???リンク先を見た感じ、こういうことでしょうか?
// ダミーファイル(空のファイルを用意しておく)
$temp_file = "temp.csv";
$output_file = date ("YmdHis", time()) . ".csv";
// CSVに出力したいデータ
$csv_header = "列1,列2,列3
";
$csv_data = "データ1,データ2,データ3
";
// Winで表示するためにSJISに変換
$all_data = mb_convert_encoding ($csv_header . $csv_data, "SJIS");
// 出力先のファイルを作成
@copy ($temp_file, $output_file) or die ("ファイルを作成できません\n");
chmod ($output_file, 0777);
// ファイルを開きデータを書き込む
$fp = @fopen ($output_file, "r+") or die ("ファイルを開けません\n");
fputs ($fp, $all_data) or die ("ファイルにデータを書き込めません\n");
fclose ($fp);
どう?
0295287
01/11/29 13:00ID:o7Ezdiihレスありがとうございます。
PHPからEXCELファイルを作成できるのかなと思い書き込んでみました。
試しにcsvファイルを作って出力したところ、うまくいかなかったので
タブ付きでデータを出力したところ、うまくEXCELが立ち上がってくれました。
こんなかんじです
<?php
//出力バッファ準備
ob_start();
ob_end_clean();
//SJISに変換
mb_http_output("SJIS");
//EXCELを立ち上げる為のおまじない?
header("Content-type: application/vnd.ms-excel") ;
//データ
echo "あ い う";
echo "\n";
echo "え お か";
echo "\n";
//バッファ出力
ob_end_flush();
?>
でも、たまにEXCELがエラーを吐き出してとまってしまいます・・
0296名無しさん@お腹いっぱい。
01/11/29 18:21ID:Lz1LmgrAなんか、うまく動かない・・・
0297名無しさん@お腹いっぱい。
01/11/29 18:39ID:AMvwJSR+って言うかこんな時強いってのがあれば教えてくれさい。
0299295
01/11/29 21:11ID:???いえ、ヒントをいただけました。
ていうか>>295で忘れていたob_start("mb_output_handler");
を書き加えると文字化けしてしまう・・
0300名無しさん@お腹いっぱい。
01/11/30 00:04ID:KqQYZRFH【質問】
PHPで画像をアップロードできる掲示板を作りました。
なんとか完成して問題なく動作する状態までは行っています。
で、書き込みが成功した場合は「書き込みは正常に終了しました」
という画面を表示して、掲示板に戻ってくるようにしているのですが、
この時、MAX_FILE_SIZEを越えるファイルを送信した場合は、
"Warning:Max file size exceeded-file[***] not saved"
というエラーメッセージが画面上に出てしまいます。
(画像がアップされないだけで名前や本文は書き込まれる)
これを表示させないようにするにはどうしたら良いでしょうか?
【試してみたこと】
書き込み処理をしているfunctionにerror_reporting(0);
を挿入してみたのですが、消えてくれませんでした。
何か使い方を勘違いしているんでしょうか。
0301名無しさん@お腹いっぱい。
01/11/30 08:18ID:???error_reportingって最初に宣言するんじゃなかったっけ。
エラー出る命令の前に@つけるとか。
0302300
01/11/30 10:26ID:d3cxAmiD回答ありがとうございます。
<?
error_reporting(0);
↑のようにしてみましたがやはりエラーメッセージが出ます。
バージョンなどによるのでしょうか?
0303名無しさん@お腹いっぱい。
01/11/30 10:41ID:9071v1Hzすいません、unixtimeってなんでしょうか。普通の時刻と違うんですか。
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 環境だと動くのに・・・
誰か知っているいたら教えて下さい。
■ このスレッドは過去ログ倉庫に格納されています