【PHP】質問スレッドpart28【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/05/05(木) 17:17:11ID:???・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。
■本家
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辺り
0357nobodyさん
2005/06/06(月) 18:53:53ID:???0359nobodyさん
2005/06/06(月) 20:32:12ID:cu+btNTGある曜日の時刻からある曜日の時刻の範囲内であるかどうかを
チェックするには
どのようなコーディングをすればよろしいでしょうか。
多分、機能の実現自体は出来ると思うのですが、
いかに綺麗なプログラムで実装するかという意味では
こちらで識者の意見を仰いだほうがよいと思ったので
質問させていただきました。
よろしくお願いします。
0360nobodyさん
2005/06/06(月) 20:50:23ID:???ある曜日と時刻という意味が良く判らんが、ある日時の範囲内という意味なら
以下でいいんでないかい。外してたらスマソ。
$start = '2005/06/06 00:00:00';
$end = '2005/06/06 23:59:59';
$between = (time() >= strtotime($start) && time() <= strtotime($end));
if ($between)
echo '範囲内';
else
echo '範囲外';
0361359
2005/06/06(月) 21:01:59ID:???レスありがとうございます。
何故「ある曜日と時刻」かと申しますと、
1週間の中で曜日と時刻で変化するパラメータを設けたいのです。
なので、ある日時の範囲ではなく
ある曜日と時刻からある曜日の時刻の範囲内で在るかを
見ていきたいというわけなのです。
0362nobodyさん
2005/06/06(月) 21:21:50ID:7fi2eBpp(株価やランキングの数値など)ものを
IFRAMEを使わずに表示するには
どうしたらできるでしょうか?
表にその数値を入れたいので、レイアウトがくずれないようにしたいからです。
phpでできるようなことを聞きました
助言おねがいします
0365nobodyさん
2005/06/06(月) 21:54:33ID:???function in_the_range()
{
$today = to_seconds(date('D'), date('H'), date('i'), date('s'));
$from = to_seconds(3, 12, 0, 0); // 水曜日12時
$to = to_seconds(5, 18, 30, 0); // 金曜日18時30分
// 曜日は 0 が日曜日 - 必要に応じて調整して。引数にするもよし。
$gap1 = $today - $from;
if ($gap1 < 0) $gap1 += 604800;
$gap2 = $to - $today;
if ($gap2 < 0) $gap2 += 604800;
return ($gap1 + $gap2 < 604800);
}
function to_seconds($d, $h, $m, $s)
{
return $d * 86400 + $h * 3600 + $m * 60 + $s;
}
0366nobodyさん
2005/06/06(月) 22:13:08ID:???IFRAMEを使わずにってことはブラウザ側でも一定間隔で自動更新したいって意味?
それだったらXMLとかの形でJavaScriptで定期的にロードすればそのまま整形できるし(スレ違いだけど)ページ全体を更新する必要もない。
別にブラウザ側で自動更新しなくていいなら>>363の方向で。
>>364はよーわからん。
0367362
2005/06/06(月) 22:48:00ID:7fi2eBpp>>363
cgiやperlはやったことがありますが、phpは
ないので、今のところできません
>>364
24時間に一回更新すればそれでいいです。
>>366
とりあえずやってみます。
0368362
2005/06/06(月) 22:54:40ID:7fi2eBpp自動更新されるデータはxmlなのですが
htmlの中のtableの中にどうやって組み込むのですか?
0370362
2005/06/06(月) 23:47:41ID:7fi2eBpp具体的に、
http://xml-jp.amznxslt.com/onca/xml3?t=miseinennnoka-22&dev-t=1AMVZMZT2SZPSET21J82&AsinSearch=4797314133&type=heavy&locale=jp&f=xml
の32行目の<SalesRank>25,200</SalesRank>をhtmlのページに表示するには
どうすればいいのですか?
0373nobodyさん
2005/06/07(火) 00:39:29ID:???下記のような流れの登録フォームがあったとします。
(1)IDとパスワード入力 ↓
(2)個人情報入力 ↓
(3)アンケート回答 ↓
(4)内容確認 ↓
(5)登録完了
formのactionをpostにしていると、IEでは3の時にブラウザの
「戻る」を押した時にエラーになります。(セッションエラー?)
これを解消するにはどうしたらいいのでしょうか?
GETにするしかないのでしょうか?
0374362
2005/06/07(火) 01:36:45ID:3zfTLLTtJavascript(XMLHttpRequest) + DOM + DHTML
はどうやるのですか?
簡単でしたら下のを作ってくださいです。。。
http://xml-jp.amznxslt.com/onca/xml3?t=miseinennnoka-22&dev-t=1AMVZMZT2SZPSET21J82&AsinSearch=4797314133&type=heavy&locale=jp&f=xml
の32行目の<SalesRank>25,200</SalesRank>をhtmlのページに表示
0377361
2005/06/07(火) 08:27:51ID:umy9na94どうもありがとうございます!
参考にさせていただきます。
0378nobodyさん
2005/06/07(火) 09:32:47ID:???Post時、情報を2重送信しないためのIEの仕様。掲示板とかでも出るから試してみ。更新を押すと見れるはず。
0379nobodyさん
2005/06/07(火) 16:02:52ID:jA26TwdAPHPでWebサイトの製作を計画しているのですが
ページのリンクにより
�@PHP→�AHTML→�BPHP
と遷移した場合、�@のPHPで作られたセッション情報というのは
�BのPHPでも参照できるのでしょうか?
よろしくおねがいします。
0380nobodyさん
2005/06/07(火) 16:04:47ID:???やってみればいいじゃん。
1のPHPでセッションに何か情報記録しておいて、
3のPHPで表示できるかどうか。
0381nobodyさん
2005/06/07(火) 16:17:19ID:???いや、htmlやhttpの知識があってマニュアルをよく見ていれば、質問する必要すらないんだけどね。
セッションの実装には、cookieとURL埋め込みの2種類があって、
URL埋め込みの場合は(2)の部分でセッションが切断される。
cookieとURLのどっちが使われるかは、鯖の設定とブラウザの設定に左右される。
よって、参照できる時もあれば、参照できない時もあらーな。
0382nobodyさん
2005/06/07(火) 16:54:29ID:jA26TwdAPHPはやったことがないというか。いまから開発環境の選定をしている
最中でして・・・・・
Javaで作るServletコンテナの場合は、
�@JAVA→�AHTML→�BJAVA で引き継ぐことがてきたので
PHPの場合はどうか質問してみましたのよ。
まあ、よく考えればPHPは所詮CGIなのでできないはずですね。
失礼ー。
0383nobodyさん
2005/06/07(火) 17:01:56ID:???>PHPはやったことがないというか。いまから開発環境の選定をしている
>最中でして・・・・・
自分の使ってるパソコンにでもインストールしてテストすれば良いじゃないか?
インターネットで調べながらでも2,3時間もあれば初心者でも十分過ぎる。
>まあ、よく考えればPHPは所詮CGIなのでできないはずですね。
PHPが分かってない。
そして、結果的に言えば出来る。
0384nobodyさん
2005/06/07(火) 17:06:10ID:kfATXNgN一時的にDBにセッション情報を保存しておけば出来るじゃん。
0385nobodyさん
2005/06/07(火) 17:17:18ID:???PHPであろうとJavaであろうとセッション保持の仕組みそのものはたいして変わらない。
>まあ、よく考えればPHPは所詮CGIなのでできないはずですね。
セッションの仕組みを理解していないのに、CGIだからという理由で結論を出すのは浅はか過ぎる。
そもそもPHPはCGI版と共有オブジェクト版があるわけで。
しかも、>381には
>いや、htmlやhttpの知識があってマニュアルをよく見ていれば、質問する必要すらないんだけどね。
って書いてあるんだが。
スマン、ストレスがたまってるみたいだ。
0386nobodyさん
2005/06/07(火) 17:38:48ID:jA26TwdA>>384は論外として
誘導尋問のつもりは無かったのですが
おかげさまで必要な情報が取れました。
これで実現に向けてGOをかけれます。
ありがと。
0387nobodyさん
2005/06/07(火) 20:59:44ID:???>PHPは所詮CGIなのでできないはずですね
バカじゃねーの?こいつ。
知ったかぶってるけど基本が分かってないな。
0389nobodyさん
2005/06/07(火) 21:03:42ID:kfATXNgNGOをかける前にセッションの勉強したほうがいいよ、キミ。
あとクッキーの勉強もな。
他人に質問しといて「論外として」はないだろう。
見てて不愉快だ。
0390nobodyさん
2005/06/07(火) 21:21:45ID:???再認証するなら使えるけど、クッキーオフだとセッション切れちゃうよね。
クッキー使う事前提ならDBに保存する必要はないわけだし。
(別に最初からDBでセッション管理してもいいけど)
0391nobodyさん
2005/06/07(火) 21:29:25ID:???388だけど、384の趣旨はセッション管理にDBを使うということと読んでた。
でも読み返すと微妙な気がするなあ。
どのみちPHP以外の言語と連携するならセッション情報のシリアライズに
serialize()関数の代わりにwddx_serialize_vars()を使うとか、
セッション自体を独自に実装するとか、ちょっとした工夫は必要だけど。
0392カポコン
2005/06/07(火) 22:31:37ID:???UNIXで使う場合の変換とか頭がこんがらがってしまう。
何か良いネタ無いかプリーズ。
0394nobodyさん
2005/06/07(火) 23:14:14ID:???$a = new A();
class A {
var hoge;
function get() {
print $this->hoge;
}
}
これで$a->get()してもhogeの内容が取得できません。hogeにはコンストラクラで文字列を代入しています。
何がおかしいですか?
0396nobodyさん
2005/06/07(火) 23:22:50ID:???var hogeは var $hoge の間違いだとして、
上記のコードにコンストラクタで代入と$a->get()を付け足せば、きちんと動作したよ。
0399nobodyさん
2005/06/08(水) 00:10:47ID:???情報小出し失礼しました
class commonClass {
var $mysqlHost;
function commonClass() {
$mysqlHost = 'localhost';
}
function get() {
print $this->mysqlHost;
}
}
$a = new commonClass();
print $a->get();
やはり何も出てきません。。
0400nobodyさん
2005/06/08(水) 00:14:27ID:???>$mysqlHost = 'localhost';
ローカル変数に代入してる件について。
それとな、
function get() {
print $this->mysqlHost;
}
getterの中でprintキモス。
0401nobodyさん
2005/06/08(水) 00:20:11ID:???あっそれでした!ありがとうございました!
# getterの中でprintは編集時のミスでした
0402nobodyさん
2005/06/08(水) 00:53:20ID:aX6bI7hV糞鯖ぶっとびで利用してるのですが、
どうも画像のUPがおかしいのです。
というのは、UPできないJPGがあるのです。
いろいろ試した結果、Exif情報が埋め込まれたJPGで起こるようです。
エラーは「500 Internal Server Error」が出ます。
他の鯖(x-beatやpc1)ではこういう現象は起こらなかったのですが、
なぜなんでしょう???
鯖側がなにかJPGをチェックしているのでしょうか?
それとも鯖のPHPがよくないのでしょうかね?
よろしくお願いいたします。
0404402
2005/06/08(水) 01:15:00ID:aX6bI7hVそうですね。
ただ、問題がどこにあるのかが分からないので、
推測でも構いませんので、おかしいなと思えるような点を
明示していただければ助かります。
0405nobodyさん
2005/06/08(水) 01:37:40ID:???その画像掲示板スクリプトを全く知らないんだけど、
resize処理しているのが自力なのかGDを使っているのかわからないが、
他の鯖で動くのなら、GDライブラリを使っているってことかなぁ。
で、phpinfo()が使えるのならGDライブラリのバージョンを見比べてみるとか。
他には、Exif情報の埋め込まれた小さな画像で試してみて、
鯖に負荷を与えないようにしてみるとか。負荷がかかりすぎて
エラー扱いになっているかもしれんし。
以上、推測、憶測、ほんまにてきとー。
0406nobodyさん
2005/06/08(水) 12:02:03ID:???http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
0407nobodyさん
2005/06/08(水) 12:02:38ID:???http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
http://www.eucaly.net/
0408402
2005/06/08(水) 19:58:06ID:???リサイズはGDバージョンです。
GDの1、2の設定があったのですが、両方試してもダメでした。
容量は指定以下でやってますので、関係ないようです。
他の鯖で問題ないようなんで、「ぶっとび」はやめますわ。
PHPがダメならとCGIにしてみたけど、rejpegとか働かないみたいだし、
どうもぶっとびはぶっとんでる感じでした。
0410nobodyさん
2005/06/09(木) 00:05:08ID:???やり方を教えてください。
0411nobodyさん
2005/06/09(木) 00:18:42ID:???0412nobodyさん
2005/06/09(木) 00:51:26ID:???・cURL関数を使う
・PEARのHTTPエージェント(だっけ?)ライブラリを使う。
0413nobodyさん
2005/06/09(木) 14:58:57ID:RW1olHwC0415nobodyさん
2005/06/09(木) 15:08:57ID:yRdQnuICfopenでファイル名を指定すればコードwで自動作成されるのかな?
0417nobodyさん
2005/06/09(木) 15:17:20ID:Ni6QuDwq0418nobodyさん
2005/06/09(木) 15:17:55ID:Ni6QuDwq0420nobodyさん
2005/06/09(木) 17:08:52ID:yZsyb8/90421nobodyさん
2005/06/09(木) 17:24:05ID:???0422nobodyさん
2005/06/09(木) 17:24:51ID:???0423nobodyさん
2005/06/09(木) 17:37:57ID:???0424nobodyさん
2005/06/09(木) 17:57:28ID:???0425nobodyさん
2005/06/09(木) 19:23:06ID:zoe0L2G9のしたHPを紹介して今の会社おとついはいりました。
いきなり検索システムをつくってくだささいといわれまったくなにを
したらいいかわかりません・・・・どうなってるといわても
すみません設定がまだといいつつ二日になりました・・・
もう言い訳できそうにありません・・検索システムって初心者の
僕がつくるにはどうしたらいいでしょうか?
PHPの文法もまったくわかりません・・・
どこかにまるまるコピできるやつで短めで簡単ぽいのおしえてください
お願いしますTT
0426nobodyさん
2005/06/09(木) 19:27:17ID:???のしたHPを紹介して今の会社おとついはいりました。
いきなり検索システムをつくってくだささいといわれまったくなにを
したらいいかわかりません・・・・どうなってるといわても
すみません設定がまだといいつつ二日になりました・・・
もう言い訳できそうにありません・・検索システムって初心者の
僕がつくるにはどうしたらいいでしょうか?
PHPの文法もまったくわかりません・・・
どこかにまるまるコピできるやつで短めで簡単ぽいのおしえてください
お願いしますTT
0427nobodyさん
2005/06/09(木) 19:36:01ID:???$point = $_GET['pos'];
$word1 = array("N","E");
$word2 = array(".",".");
$point = str_replace($word1,$word2,$point);
list($dummy,$N1,$N2,$N3,$N4,$E1,$E2,$E3,$E4) = split( ".",$point);
という文を組み立てたんだが
ハイラねえ(´A`;)
$point = str_replace($word1,$word2,$point);
の時点で
.32.29.77.366.134.85.11.384
が$pointに格納されていたんだが
list($dummy,$N1,$N2,$N3,$N4,$E1,$E2,$E3,$E4) = split( ".",$point);
で各変数に格納できない・・・
なぜだ・・・
>>426
釣りか?
0428nobodyさん
2005/06/09(木) 19:47:11ID:???多分、想いっきり勘違いしてる
↓splitのマニュアル
>pattern は正規表現であることに注意して下さ い。
explodeを使うべきかと
0429nobodyさん
2005/06/09(木) 19:51:05ID:???split( string regex, string source )
正規表現で . は任意の文字列。つまり全てにマッチしてる。
explode() のが動作早いし目的に合ってるからそっち使え。
0430427
2005/06/09(木) 19:59:43ID:???正常に動いたよ(・∀・)b
0431自動返信
2005/06/09(木) 21:58:57ID:jH9aJbMCユーザーに空メールをおくってもらい、そのメールアドレスをとりだしデータベースに登
録するというサンプルを作りたいんですがどうしたらいいでしょうか?
qmailだとメールが届いたら特定のスクリプトを実行というものがあるようですが、今の
Postfix+Dovecotの環境でメールが届いたらデータベース登録のPHPスクリプトを読み出
すという形にしたく悩んでいます。
PostfixはMaildir/形式にしてあります。
最終手段として定期的に/home/(user)/Maildir/の中をチェックという方法しかないかと
思っていますがもし何か解決策ご存知でしたら教えてください。
PHPとは直接は関係ないかもしれませんが、メールを受信したかどうかをどう取得するか。
0432nobodyさん
2005/06/09(木) 22:05:40ID:???/etc/aliasesに
hoge: "/path/to/php -f hoge.php"
で、ええんちゃうの?
0433nobodyさん
2005/06/09(木) 22:06:43ID:???hoge: "| /path/to/php -f hoge.php"
ね。
0434(3-1)
2005/06/09(木) 22:36:09ID:???思う動作をしてくれなくて困ってます。
何か手がかりを教えて下さい。
uploader.html
<html>
<head>
<title>File Uploade</title>
<META http-equiv="Content-Type" content="text/html; charset=x-sjis">
</head>
<body>
<form method="post" enctype="multipart/form-data" action="uploader.php">
<input type ="file" name="upfile">
<input type ="submit" value="uploadする">
</form>
</body>
</head>
0435(3-2)
2005/06/09(木) 22:36:47ID:???<html>
<head>
<title>File Uploarder</title>
<META http-equiv="Content-Type" content="text/html; charset=x-sjis">
</head>
<body>
<p> file uploader </p>
<?php
$updir = "./upload/";
$filename = $_FILES['upfile']['name'];
if (move_uploaded_file($_FILES['upfile']['tmp_name'],$updir.$filename) == FALSE){
print("Upload failed...");
print($_FILES['upfile']['error']);
}else {
print("<b>" . $filename . "</b> uploaded!");
}
?>
</body>
</html>
0436自動返信
2005/06/09(木) 22:37:42ID:jH9aJbMCありがとうございます!
↓参考にして調べたところこんな情報ページがありました
http://www.itmedia.co.jp/help/tips/linux/l0349.html
もう少し勉強して実験してみますね!
0437(3-3)
2005/06/09(木) 22:39:26ID:???適当にファイルを選択後送信してみても
file uploader
Upload failed...
だけしか表示されず旨くいきません。
自分の環境はローカルでPHPをテストする為だけの環境なので
WindowsXP+Xamppです。
0439(3-3)
2005/06/09(木) 22:47:36ID:???ありがとうです。
でも結果は変わらずでした。
打ち間違いは無いと思うのですが(何度も確認したので)
参考書の誤字か、私の環境が悪いのかと疑っています
ソース的には問題はないのでしょうか?
0441(3-3)
2005/06/09(木) 22:59:02ID:???もちろんです。
ただ、環境はWindowsですのでアクセス権の設定はしていません。(出来ないのかな?)
それが問題でしょうか?
0442nobodyさん
2005/06/09(木) 23:11:01ID:???スクリプト的には問題なさそうだから
error_reporting(E_ALL);
をuploader.phpの<?phpの次の行に追加してみたら。
0443nobodyさん
2005/06/09(木) 23:19:42ID:???0444(3-3)
2005/06/09(木) 23:20:32ID:???むむ!?
なにやら沢山出てきました。
グーグル先生に聞いてきます。
みなさん有難うございました。
file uploader
Notice: Undefined index: upfile in C:\apachefriends\xampp\htdocs\project\upp\uploader.php on line 11
Notice: Undefined index: upfile in C:\apachefriends\xampp\htdocs\project\upp\uploader.php on line 12
Upload failed...
Notice: Undefined index: upfile in C:\apachefriends\xampp\htdocs\project\upp\uploader.php on line 14
0445nobodyさん
2005/06/09(木) 23:21:25ID:???買おうかどうか悩んでるんだけど、レビューしてる人見かけないし・・・。
地雷かな?
Eclipseもいいけど、色んなの使ってみたいなとも思ってて。
0447nobodyさん
2005/06/09(木) 23:46:51ID:???よほど大規模な開発にはよさげだけどね
でもかなりの部分はEclipseでも賄えちゃうしなあ
俺はまず使うこと無いな
0448自動返信
2005/06/10(金) 00:08:58ID:gLWzFcyIこれは成功したんですけど、送信されてきたメールアドレスをこのPHPスクリプトに渡したいんですが、まずメールアドレスの取得方法は何かありませんか?
0449nobodyさん
2005/06/10(金) 00:52:21ID:???ぉぃぉぃ。
qmailだと実行できるとか、Maildir/を見るしかないとかを>>431で書いておきながら、
実は何も知りませんてか。
エンベローブFromは取れないが、Mailヘッダも含めて標準入力から来てるだろ。
0450自動返信
2005/06/10(金) 00:58:44ID:gLWzFcyIすみません…そのとおり何も知らないんでどうしようもなく質問させていただきました。
qmailだと実行できるというのはそういう一言情報が調べたときにありましたが、という意味で書きました。
Maildir/については、メール内容などがどういう風に書き込まれてるかを調べていけば読み出すことでできるかもしれないという自分なりの考えを述べたつもりです。
こんな/etc/aliasesというものをまったく知らなかったので。
標準入力からきているというヒントでも正直よくわかりません…。
どこでどう取得すればいいんでしょうか?
0451nobodyさん
2005/06/10(金) 01:08:30ID:???$mail = file_get_contents('php://stdin');
これで、メールの内容(ヘッダ込)が全て$mailに入るから、
適当なファイルに書き出して、どのような中身になっているか見てみるがいい。
後は、マニュアルのmailparse関数等を参考に。
0452nobodyさん
2005/06/10(金) 01:13:11ID:???mailparse関数を使えって意味じゃなくて、そこに書いてある内容を参考にって意味だったんだが、
何も書いてないよなw
RFC822とか、その他いろいろググってってことで。
0453自動返信
2005/06/10(金) 01:44:05ID:gLWzFcyIありがとうございます。
PHPのCLI版はさっきいれたところで、このような形で標準入力を取得できるとは知りませんでした。
標準入力を取得し、それをファイルに書き出すまでは成功してるんですが、いざ、メールの内容取得となると取得できていません。
現時点まででしたことをまとめると
/etc/aliasesにroot:"|/usr/bin/php /home/sample.php"を追記
/home/sample.phpに以下のコードを記述
$mail = file_get_contents("php://stdin");
$fp = fopen("mailh.txt","w");
fwrite($fp,$mail);
fclose($fp);
まだ何か勘違いしているのでしょうか?
RFC822の情報はありがとうございます。
メールヘッダの形式もあいまいだったのでこの機会に習得しておきたいと思います。
0455nobodyさん
2005/06/10(金) 01:53:30ID:???一度も使ったことがないなら、登録してFree Evaluation(英語版)で試してみなよ。
バージョンが上がる度に良くなってる点は評価できるけど、
Java使ってて動作がもっさりだなと思わないこともない。Eclipseもいっしょだが。
まあ、今時のマシンだと気にするほどじゃないけどね。
0456自動返信
2005/06/10(金) 01:54:08ID:gLWzFcyI遅くまですみません、でも何か解決策が見えると思います。
がんばってみます。
昼4時から取り組んで悩んでいたので解決に光が見えてきて本当に嬉しいです。
本当にありがとうございます。
自分もこういう質問に答えられるくらいになるようもっと勉強します。
■ このスレッドは過去ログ倉庫に格納されています