トップページ⇒php
1001コメント315KB

【PHP】下らねぇ質問はここに書き込みやがれpart14

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/12/18(日) 10:10:12ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
過去スレは>>2
0302nobodyさん2005/12/25(日) 10:43:39ID:???
parse error, unexpected '='
ってどう意味デツカ?
0303nobodyさん2005/12/25(日) 10:48:32ID:???
お前が変なところに'='を置いてるって意味。
0304nobodyさん2005/12/25(日) 12:00:30ID:???
ワンタイムトークンのクラスってPEARとかにあります?
無かったらXOOPSとかにあるのを移植するとかしなきゃだめかなぁ?
0305nobodyさん2005/12/25(日) 12:27:45ID:???
やあ、サンタだよ。
クリスマスプレゼントとして、君たちの質問になんでも答えてあげようじゃないか。
0306nobodyさん2005/12/25(日) 12:57:24ID:BQDdD2yN
フォルダの生成はmkdirで出来たけど、
ファイルはどうやって生成したらいいですか?
0307nobodyさん2005/12/25(日) 13:05:32ID:???
>>305
年収いくら?
0308nobodyさん2005/12/25(日) 13:20:02ID:???
>>306
/dev/null
0309nobodyさん2005/12/25(日) 13:32:09ID:???
eval()って邪道ですか?
0310nobodyさん2005/12/25(日) 13:48:03ID:???
>>306
touch()
0311nobodyさん2005/12/25(日) 13:58:34ID:???
メールの添付で日本語名を使おうとしているのですがmb_encode_mimeheaderで変換しても
正しく受信できないようです。日本語をどう変換すると良いのでしょうか?。

Content-Type: image/jpeg; name="日本語"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="日本語"
0312nobodyさん2005/12/25(日) 15:52:29ID:???
>>306
file_put_contents("ファイル名", "");
0313nobodyさん2005/12/25(日) 16:12:23ID:???
現在1つのPHPで1つのページしか出力できないんですが、
複数のページを出力するようにしたいと思っています。
PHP等でできた掲示板を見ると、修正削除などの処理を、
1つのPHPでできるようになってますよね?
語尾に?mode=modifyとかついているやつです。
ソースを見てもいまいちわからなかったのですが、
どういった関数?を使えばいいのでしょうか?
やり方などにもヒントがあれば教えていただきたいです。
0314nobodyさん2005/12/25(日) 16:23:58ID:???
スナソMySQLの方は今一盛り上がりに欠けているので、ホットなここでオナガイシマス
time_1というレコードでMySQL側でのデータ形式はtimeとなっています、
` time_1` time NOT NULL default '00:00:00',
phpの方から
First time:<input type="text" name="first_time"
value="<?php echo $first_time ?>"><br>
テキストタイプのデータとしてデータベースにインサートしているのですが
データベースでは、見かけ上、正常に登録されている様に見えるのですが、
問題ないのでしょうか?
<input type=
の方でデータ形式を特別に時間の形式を指定してやらなければならない様な事は
無いのでしょうか?
御教授お願いします。
0315nobodyさん2005/12/25(日) 16:33:06ID:???
盛り上がりに欠けるのは
聞き方がまずいからだろうね
0316nobodyさん2005/12/25(日) 16:42:42ID:???
>>313
特に関数がある訳ではない。
ifとかswitchなどで処理を切り替えてるだけ。
0317nobodyさん2005/12/25(日) 16:53:33ID:???
>>313
んじゃヒント

if($mode == 'コマンド1') {
 コマンド1の処理とHTMLの表示
} else if($mode == 'コマンド2') {
 コマンド2の処理とHTMLの表示
} else if($mode == 'コマンド3') {
 コマンド3の処理とHTMLの表示
}
0318nobodyさん2005/12/25(日) 17:42:35ID:???
HTMLと分けておくと管理もラク。
0319nobodyさん2005/12/25(日) 17:56:53ID:???
ifで処理を分けることも想像できない人が
外部HTMLファイルなんて扱えるのか?
0320nobodyさん2005/12/25(日) 18:01:17ID:???
>>314
読みにくい質問だなぁ…
しかも結局何が聞きたいんだって感じ。

> <input type= の方でデータ形式を特別に時間の形式を指定してやらなければ
inputの部分で形式の指定なんてことはできません。

> データベースでは、見かけ上、正常に登録されている様に見えるのですが、
> 問題ないのでしょうか?
入力内容を何のチェックもしないでDBに放り込んでるなら問題ありまくりです。

PHPでちゃんと形式チェックして必要があれば加工シル!!
0321nobodyさん2005/12/25(日) 18:07:55ID:???
>>316
modeに合わせて丸っきり別のプログラムをinclude()するって手もあるけどな
03223132005/12/25(日) 19:10:24ID:???
>>316>>317>>321
レス、ヒントどうもありがとうございます。
ifとswichですか。
swichは使ったことがないので、早速マニュアル引いて
やってみたいと思います。
0323nobodyさん2005/12/25(日) 19:32:06ID:???
クリスマスですが。
0324nobodyさん2005/12/25(日) 19:57:15ID:???
仏滅ですので、
0325nobodyさん2005/12/25(日) 20:25:22ID:???
結局、友引です
0326nobodyさん2005/12/25(日) 21:54:50ID:???
マイフレンドのPC君です
つPC
0327nobodyさん2005/12/25(日) 22:13:52ID:???
つまり
みんなで(´Д⊂
0328nobodyさん2005/12/25(日) 22:50:38ID:???
>>313
漏れはcase文を使う。
もう一つチェック用の変数をセッションで持ち回せばそのフラグで管理者だけしか表示させないとか、同じページでも管理者だけ[削除]とかを表示させたりできる。
ただ、うまく分けないとスパゲティになるから注意
0329nobodyさん2005/12/26(月) 00:46:47ID:???
とりあえず、マニュアル検索しながらcaseでわけて
HTMLと分けて管理するのを作ったら見事にスパゲティ
になりました
0330nobodyさん2005/12/26(月) 01:48:21ID:???
おまえ、才能ねーな
0331nobodyさん2005/12/26(月) 02:48:31ID:xVIqedOU
正規表現でも使用する文字のエスケープがイマイチ理解できないんですが、
"[TEST]"という文字列を処理したい場合は
"\[TEST\]"であってますでしょうか?
0332nobodyさん2005/12/26(月) 02:58:53ID:???
あってる
03333132005/12/26(月) 03:11:44ID:???
>>328
レスどうもありがとうございます。
swichのマニュアルを見ていたところ、
同ページにcaseもでてきていたので、
小さなスクリプトを書いて、動作を検証しています。
まだいまいち思ったとおり動きませんが、
なんとかなりそうな気がします。
本当にどうもありがとうございました。
0334nobodyさん2005/12/26(月) 11:22:41ID:???
以下、お礼の文脈で精子ネタ禁止
0335nobodyさん2005/12/26(月) 12:19:02ID:???
>>334
m9(^Д^)プギャーーーッ
0336nobodyさん2005/12/26(月) 13:38:06ID:???
>>335は知らんのか?
0337nobodyさん2005/12/26(月) 13:39:27ID:???
別におもしろくないから引き伸ばさなくていいよ。
0338nobodyさん2005/12/26(月) 13:43:37ID:???
どうみてもPHPです。
本当にありがとうございました。
0339nobodyさん2005/12/26(月) 14:04:32ID:???
PHPのスレ乱立してるけど、
よくよく見るとこういったネタで埋まってるのな。
0340nobodyさん2005/12/26(月) 14:05:48ID:???
>>339
どうみても釣りです。
本当にありがとうございました
0341nobodyさん2005/12/26(月) 14:55:26ID:???
つかswitchとcaseは別々に使うもんじゃないだろ
0342nobodyさん2005/12/26(月) 15:03:30ID:???
どうみてもネタスレです。
本当にありがとうございました。
0343nobodyさん2005/12/26(月) 15:04:51ID:???
どうみても殺人予告です。
本当にありがとうございました。
http://hobby7.2ch.net/test/read.cgi/car/1135550661/l50
0344nobodyさん2005/12/26(月) 15:12:35ID:???
どうみてもネタスレ・・・じゃなかったです。
本当にありがとうございました。
0345nobodyさん2005/12/26(月) 18:04:54ID:???
こんばんは、お世話になります。
ホットメールに以下の要領でメールを送信しようとしているのですがmb_encode_mimeheader($char)を
加えるとメールを受け付けてくれなくなります。
$headers = "From: ".mb_encode_mimeheader($char)." <[email protected]>"

件名を省いて以下のようにすると受け付けてくれるのですが件名を加えてメールを受信して貰う方法は
ないのでしょうか?。
$headers = "From: <[email protected]>"
0346nobodyさん2005/12/26(月) 18:10:13ID:???
>>345
$headers = "From: ".mb_encode_mimeheader(mb_convert_encoding($char,"JIS"))." <[email protected]>"
としたら?
0347nobodyさん2005/12/26(月) 18:25:19ID:???
迷惑メールフォルダに入ってたりして。
0348nobodyさん2005/12/26(月) 18:33:40ID:???
>>346-347
だめでした(^^;

ErrCode = -81
ErrString = [MAIL FROM:] not permitted by remote SMTP server
ErrInfo = 501 Invalid Address
SMAIL SMTP-Send MX = "pamx1.hotmail.com." SMTP = "test.co.jp" From = " =?ISO-2022-JP?B?GyRCJGYkJiRsJCQbKEI=?= <[email protected]" To = "[email protected]" Failed !
SMTP-Error = "501 Invalid Address"
SMTP-Server = "pamx1.hotmail.com."
0349nobodyさん2005/12/26(月) 18:46:10ID:???
>>348
ちなみに345には「件名」ってあるけど、Subjectのことじゃないんだよね。
0350nobodyさん2005/12/26(月) 19:05:36ID:???
>>349
Subjectです。ホットメールから逆に送ってみて比較したりするのですが良くわかりません。
ISO-2022-JPでエンコードしたら日本語が使えるというものではないのでしょうか?。
0351nobodyさん2005/12/26(月) 19:12:04ID:???
>>350
へ?
お前、Fromのとこに書いてるじゃん。
0352nobodyさん2005/12/26(月) 19:13:10ID:???
>>351
mailもしくはmb_send_mailのパラメーターをよくみてみな。
0353nobodyさん2005/12/26(月) 19:21:33ID:???
>>348
エラーメッセージは「そのアドレスは無効」と言っているから,
日本語云々以前の問題…というオチじゃないんだよね.
日本語入れなきゃ通るみたいだし.

ダブルクォーテーションは関係ないかなぁ.
うちのメーラーは「てすと <[email protected]>」とするとエラーが出て,
「"てすと" <[email protected]>」に訂正してしまうので.
半角英数のみだとクォーテーションなしでも通るけど.
的外れだったらゴメン.
0354nobodyさん2005/12/26(月) 19:40:01ID:???
>>351-353
あ、勘違いしていました。
subjectではなくて差出人名です(^^;すいません。
「"」を試してきます。
03553542005/12/26(月) 19:59:49ID:???
["]付けてもダメでした(--; くやしい
From: ここに文字(英語含めて)が入るとだめみたいです <[email protected]>"
0356nobodyさん2005/12/26(月) 21:03:46ID:???
そもそもhotmailのSMTP鯖がそれに対応してるのかが大前提の問題な気もするが。
0357nobodyさん2005/12/26(月) 21:44:13ID:???
PHPで添付メールを受け取りたいのですが、メールの仕様が良く分かりません。
メールの仕様を詳しく解説してるサイトありませんか?
探したんですが見つかりませんでした。
0358nobodyさん2005/12/26(月) 21:58:36ID:???
>>356
俺んとこでは普通のメーラーからニックネームつきメアドが届いてるから大丈夫じゃないの?
1度、全く同じFromアドレスを一般的なメーラーで送ってみて、
エンコ内容やヘッダ内容の違いでも比較してみればいいんじゃないかと。
0359nobodyさん2005/12/26(月) 22:01:05ID:???
>>357
RFC2045〜RFC2049にMIME1〜5の規定が書かれてるから
それの邦訳をググればよろしい。
0360nobodyさん2005/12/26(月) 22:43:32ID:???
array_searchで配列を検索しヒットしたときだけ処理を行いたいんですが、
戻り値が「0」のことも考慮すると、
if (array_search($foo, $bar) === false) {
} else {
(やりたい処理)
}

という極めて美しくないソースになります。
こんなとき皆さんはどうされますか?
0361nobodyさん2005/12/26(月) 22:45:13ID:???
in_array()を使う。
03623602005/12/26(月) 23:04:46ID:???
>>361
マニュアル確認しました。
まさに求めていたとおりの関数です。
ありがとうございました。
03633542005/12/26(月) 23:11:06ID:???
メールサーバーのバージョンアップしたらヘッダーの内容が変わった
Received: from home ([127.0.0.1]:1859)
by nature.dip.jp with [Mail Server]
id <S21> for <[email protected]> from <[email protected]>>;
Mon, 26 Dec 2005 23:05:58 +0900

「>>」とかなってるし・・・
前はここにも from  =?ISO-2022-JP?B?GyRCJGYkJiRsJCQbKEI=?= <[email protected]>
とかなってたから、これが原因な気がします

どちらにしろ送信できないんですけどね(^^;
03643542005/12/26(月) 23:14:02ID:???
てか失敗した(*ノ-;*)見逃してっ
0365nobodyさん2005/12/27(火) 00:09:06ID:???
>>363
エラーの内容がMAIL FROMがおかしいって言われてたよね?
それってヘッダじゃなくてSMTPのエンベロープFROMアドレスの事じゃないの?
sendmailで送信してるなら -f オプションでちゃんと指定してみたら。
03663542005/12/27(火) 10:10:17ID:???
おはようございます。他のメールソフトのヘッダーやエラーメッセージの内容を比較しながら色々と試してみた結果、
やはりPHPのmb_send_mailの「Form:」ヘッダーに「<」「>」が含まれている場合、他のヘッダー情報に「<<」や「>>」などの
悪影響を及ぼしてしまうように思います。FromはメールアドレスだけにしてReturn-Pathに同じように差出人名を入れた
場合はちゃんと届くのですが・・・。

x From: abc <[email protected]>\r\n
x From: abc [email protected]\r\n
x From: <[email protected]>\r\n
o From: [email protected]\r\n
0367nobodyさん2005/12/27(火) 10:18:51ID:???
>>366
ならmb_send_mailではなくてmailでやってみては?
0368nobodyさん2005/12/27(火) 10:30:05ID:???
header ("HTTP/1.1 403 Forbidden");
echo ("<html><head><title=\"403 Forbidden\"></head><body>");
echo ("403 Forbidden<br>");
echo ("$host_name<br>");
echo ("$host_ip");
echo ("</body></html>");
exit;


こんなのって有りですか? IEとFirefox で挙動が違う。
0369nobodyさん2005/12/27(火) 10:37:47ID:???
>>368
どう違うんだ?
0370nobodyさん2005/12/27(火) 10:37:59ID:???
Return-Path: っていうと、-f オプションで指定したんだね?
まさか extra-headers にReturn-Path:行を追加したのではないよね

ちなみに、OSとPHPのバージョンとか、関連する設定はどうなってる?
03713542005/12/27(火) 10:39:39ID:???
>>367
結果は全く同じでした(*ノ-;*)
PHP > X-Mail > メールソフトは差出人名を入れても上手く行くのですが
PHP > X-Mail > HotMail になるとエラーになります(^^;。
03723542005/12/27(火) 10:42:40ID:???
>>370
あ、すいません。
Windowsなのでsendmail_path = の設定は出来ないと思うのですがどうなのでしょうか?。

XPSP2+XMail+PHP5.1.0です。
0373nobodyさん2005/12/27(火) 10:47:39ID:???
>>372
塚さ、WindowsでX-Mail使っているとか情報小出しにするなよ。

要するに、SMTPがX-Mailとかいうので、
宛先がホットメール以外だとうまくいくけど、
宛先がホットメールだとダメってことか?

差し出し人名を日本語でなくて英字だとどうなる?

ちなみに、ソース晒してみたら?
0374nobodyさん2005/12/27(火) 11:06:54ID:???
>>370
windowsならメールを送る前にini_set("sendmail_from","[email protected]");
してみたらどうかな。

ヒマなのでソースを斜め読みしたら、windowsの場合そいつがエンベロープFromに
優先的になってるようだ。

なんかfrom:ヘッダーから自動的に抽出してるみたいだけど、
そこのところが腐ってるのかも。
0375nobodyさん2005/12/27(火) 11:07:49ID:???
ごめん、上のレスは>>370宛じゃなくって>>372
03763542005/12/27(火) 11:08:31ID:???
色々すいません(^^;。
ヤフーには正しく届きます。
ソースと言っても以下のようにやっているだけなのでこれと言って特別な事はしていないのです。
ホットメール厳しい(*ノ-;*)。

mb_language('Japanese');
mb_detect_order('sjis-win,eucjp-win');
mb_internal_encoding("UTF-8");

$mime_from = mb_encode_mimeheader(mb_convert_encoding($headers,"JIS"))." <[email protected]>\r\n";

$headers = "From: ".$mime_from;
$headers .= "Return-Path: ".$mime_from;
$headers .= "X-Mailer: PHP"."\r\n";

@mb_send_mail(
$to
,$subject
,$message
,$headers
);
03773542005/12/27(火) 11:13:14ID:???
(ノ´▽`)ノオオオオッ♪
374さんのおっしゃるとおりでした。
ini_setしたら届きました<(_ _)>。

php.iniをちゃんと設定しろという話しでしたね・・・。

みなさま、ありがとうございました。
0378nobodyさん2005/12/27(火) 11:15:52ID:???
ああ、たぶんwindowsの場合はどうも強制的に<>でくくって
MAIL FROM でエンベロープを指定するようだ。

だから "From: hoge <[email protected]>" の場合は

MAIL FROM: <hoge <[email protected]>>

という事になって、これがSMTP的に正しくなくてエラーになるんじゃないかな。
つまりini_set("sendmail_from","[email protected]")しておくのは必須の気がする。


と、ここまで書いたところでもう解決してたのね。
0379nobodyさん2005/12/27(火) 11:39:22ID:???
>>368
とりあえず
<title=\"403 Forbidden\">
これは無いな
<title>403 Forbidden</title>
だろ
それとecho に( )使うのも違和感ある
0380nobodyさん2005/12/27(火) 11:52:48ID:???
>>379

echo () はどうかわからないけど

"" でくくってるから<title=\"403 Forbidden\">でいいんじゃない
0381nobodyさん2005/12/27(火) 11:53:04ID:???
jpgraphですが、

txtファイルから読み込んでグラフの値に代入する時
txtファイルを配列に格納→y軸データの配列にそれぞれ変数を代入する。

の流れで出来ないのでしょうか?
0382nobodyさん2005/12/27(火) 12:02:03ID:???
>>381
やりたいことが良くわからんが、やってできなかったの?
だったらルーチン晒しなさいな。
0383nobodyさん2005/12/27(火) 12:15:19ID:???
>>380
お前はHTMLの基礎から勉強しなおせ
0384nobodyさん2005/12/27(火) 12:17:11ID:???
>>380
title要素とtitle属性がごっちゃになってないか
要素もないのに属性だけはありえんだろ
03853802005/12/27(火) 12:26:41ID:???
>>384

おっしゃるとおりです

勘違いしますた
0386nobodyさん2005/12/27(火) 14:01:31ID:???
で、>>368はどう違うのか?

あれで 403 エラーページ作る気か…
03873812005/12/27(火) 15:16:55ID:???
失礼しました。
上手く出来なかったのです。
jpgraph1.19使用、レンタルサーバのphpinfoを見るとGD関連はenableでした。

解凍した中にあるsrcを
public_htmlの下にアップロードしました。日本語使用予定は無いので日本語化しておりません。

public_html/src/Examples/testsuit.phpを起動すると
この時点でいくつかのグラフは表示されませんでした。
この中で表示された一つのexample0.phpのソースを試しに改変する事に。
適当にy軸値を変えるとグラフも変わり、感動しつつ本題のテキストファイルのデータをグラフに反映しようとしました。
追加したのは、example0.phpのinclude以下に

$ufile = "./ufile.txt";
$fp = file($ufile);
list($a1,$a2) = explode(",",$fp[0]);
とし、$ydataの最後二つを$a1,$a2としてみたのですがグラフにはこの二つの変数は表示されませんでした。

public_html/ufile.txtとなっており、ファイルの中身は
10,15
となっています。

分かりにくい点などあるやもしれませんが、どうぞアドバイス宜しくお願いします。
0388nobodyさん2005/12/27(火) 16:35:37ID:???
>>387
example0.phpの<?phpの次に
ini_set("display_errors", 1);
error_reporting( E_ALL );
を追加する
0389nobodyさん2005/12/27(火) 18:25:47ID:???
PHPでは、数値や真偽値のラッパークラスってありますか?
JavaではintやbooleanのラッパークラスとしてIntegerやBooleanがありますが、それに相当するものです。
自作するのは簡単なのですが、PHPあるいはPECLなどにすでに用意されてあればそちらを使おうと思います。

あと、日付や時刻をあらわすクラスなんてのも探しているんですが、あれば教えてください。
よろしくお願いします。
0390nobodyさん2005/12/27(火) 22:11:03ID:???
>>389
こんなところで聞くより
ttp://pear.php.net/
に行って探せよ。
0391nobodyさん2005/12/27(火) 22:18:13ID:???
なんか、PHP使いはじめのとき自分の書いたメソッドの引数を
全部型チェックさせてたのを思い出した。

いま? やめた。なんか文句言われたから。
03923812005/12/28(水) 00:00:11ID:???
>>387氏
ありがとうございます、お陰様で出来ました。
感謝ですm(_ _)m
0393nobodyさん2005/12/28(水) 08:38:44ID:???
これって使ってますか?
ttp://www.phpclasses.org/
0394nobodyさん2005/12/28(水) 15:04:17ID:???
ファイルではなく変数内のデータのmime-typeを得たいのですが一度ファイルにして
mime_content_typeするしかないのでしょうか?。
0395nobodyさん2005/12/28(水) 15:10:22ID:???
>>394
自前で関数を作る
0396nobodyさん2005/12/28(水) 18:02:58ID:???
>>394
変数にバイナリデータがあるって事は、そのデータは作ったか取得したかのどっちかだよねぇ?
作ったのならmime-type決定してるはずだし、取得したならどーせ保存するんだからファイルに落とせばいいし。
何がしたいかによってやり方も変わる。
0397nobodyさん2005/12/28(水) 18:20:02ID:???
>>395-396
それがファイルに落とすなら良いのですがDBに入るので出来る事ならファイルに落とさずに処理したいのです。
やはり自作関数作るしかないですよね。そこまでするなら最初の何バイトかファイルに落として識別させるかな、
なんて考えています。ファイル名は拾得出来るので拡張子から判断するのも手だとは思うのですが、なんか
スッキリしない感じがします。
0398nobodyさん2005/12/28(水) 18:42:31ID:???
>>397
DBにファイル入れるのはあまりオススメできないが・・・
そーゆーことならテンポラリ作って処理するしかないだろうねぇ
0399nobodyさん2005/12/28(水) 18:51:25ID:???

地震なかった?
0400nobodyさん2005/12/28(水) 19:16:44ID:???
しらねーよ バカ?
おれはいつも揺れてるから関係ないし
0401nobodyさん2005/12/28(水) 19:22:28ID:???
新しいwindowの大きさを指定する時、JAVAを使いますが、
アドレスに、PHPの変数を混ぜたい時どうすればいいのでしょうか?

<SCRIPT language="JavaScript">
<!--
function winopen(w,h){
win1=window.open("$x.html","","width="+w+","+"height="+h);
}
//-->
</SCRIPT>

などにしたいのですが・・・。
0402nobodyさん2005/12/28(水) 19:28:11ID:???
>>400
kwsk
■ このスレッドは過去ログ倉庫に格納されています