【PHP】下らねぇ質問はここに書き込みやがれ 47
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2007/05/26(土) 21:03:53ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0838nobodyさん
2007/06/23(土) 00:56:03ID:???0839789
2007/06/23(土) 02:11:32ID:2hjTlCBK遅くなりましたけどレスありがとうございます。
シェルスクリプトのがイマイチ良くわかってないので
もっと、いや、せめてもうちょっと^^;
勉強します。
ざっと見た感じ 受信したメールをテキストに保存してるみたいですね。(違ったらすいません)
dot-qmail(特定のメールを受信したときにスクリプトを起動したり、転送したりできる機能)
で、メールをユーザーdirに保存後、phpを起動してそのファイルを読みに行くって言うのも考えたのですが
タイムラグで、メールをPHPが読めないなんてコトがあるのかどうか心配です。
それがあり得ないのであれば、この方法が一番良いかな、と思ってます。
もしその方法が信頼性が低いならphpに一行ずつメールを渡して、それをテキストに保存(又はシェルスクリプトで保存)。
>phpで解析が良いのかな。
標準入力を改行も含めて一気に渡すコトってできませんよね?
まあ、とにかくシェルスクリプトの問題っぽいですね。
しかし、WEBでもちょっとしたシステムを作るって言うのは、本当に多岐にわたった知識が必要ですよね。
大きくて技術力のある人が多い会社は、無用な労力なんだろうか?
うちでは質問できるのは、君たちだけだよ・・・いつもすんませんね。
0843nobodyさん
2007/06/23(土) 04:15:12ID:???0844nobodyさん
2007/06/23(土) 06:20:47ID:M3Ri6nNm$dcsv[] = $arry;
のとき$dcsvの配列はどうやって参照すればいいですか?
0845nobodyさん
2007/06/23(土) 07:18:45ID:???エスパー的な回答
while(!feof($file)){
$arry=fgetcsv($file,1000,",");
$dcsv[]=$arry;
}
とすればきっとあなたの思い通りになるのではないでしょうか。
ただし$fileはファイルポインタですよ。
0846nobodyさん
2007/06/23(土) 08:07:44ID:???上記の場合は、
マルチドメイン(virtualメールアドレス)でどうしても運用したかったため、postfixの絡みもあってあんな風になってます。
んで、マルチドメインが必要ないならば素直な方法(先にこっち書けよ・・すまん)として以下のような
オーソドックスなやり方があります。 (受付専用ユーザhogeを作る必要有り)
1) /etc/alias 内に hoge: "|/usr/local/bin/fuga.php を書く
2) newaliases を実行して1)を有効に んで、hogeユーザへのメールは、fuga.phpに渡る。
fuga.php内で、
$fp = fopen("php://stdin", "r");
while (!feof($fp)) {
$buf = fgets($fp,256);
$all .= $buf;
}
fclose($fp); で、ストリームを読み込む んで、あとはパースする
$arr = explode("\n", $all);
$boundary = "";
$msg_id = "";
foreach ($arr as $line) {
$line = trim($line);// boundary 取得
if(!$boundary){
if (preg_match('/boundary="(.*?)"/i', $line, $match)) { $boundary = $match[1]; }
}
if (!$msg_id){// message-id 取得
if (preg_match('/Message-Id: <(.*?)>/i', $line, $match)) { $msg_id = $match[1]; }
}
if ($boundary && $msg_id) break;
}
みたいな感じ、$arrをグルグルやって読み込む。 同じ要領で、いけるんじゃないか?
0847nobodyさん
2007/06/23(土) 08:22:31ID:???/etc/alias は
hoge: "|/usr/local/bin/fuga.php" だクォート抜けてた
0848nobodyさん
2007/06/23(土) 12:08:34ID:cbRsCM6uaaa.phpファイルをbbb.phpファイルで呼び出す方法
どう違うんですか?
0849nobodyさん
2007/06/23(土) 12:15:06ID:M3Ri6nNm//ソート関数の定義
function cmp($a, $b){
return strcmp($a[7], $b[7]);//バイナリでも使える文字列比較
}
usort($dcsv, "cmp");
usortで上の関数を呼び出すと文字列比較になってしまうのですが数字比較を
するには何の関数を使えば良いでしょうか?
たびたびくだらない質問をして申し訳ございませんがよろしくお願いします。
0851nobodyさん
2007/06/23(土) 12:25:25ID:C481f9GD$url = 'http://www.example.com';
print_r(get_headers($url));
?>
にタイムアウトを設定したいのですが
具体的にどこに何を書けばいいのかわかりません
くだらない質問をして申し訳ないですがご教授お願いいたします
0852nobodyさん
2007/06/23(土) 12:37:46ID:???ソースの上の方に↓の一行を追加すればOK
ini_set('default_socket_timeout', 10);
0854849
2007/06/23(土) 12:56:38ID:M3Ri6nNmfunction cmp($a, $b){
if ($a == $b) return 0;
return ($a[7] > $b[7]) ? -1 : 1;
}
頑張ってソートの中身を変えて見ましたが出力結果は
497
391
10711
となってしまいます orz
0855nobodyさん
2007/06/23(土) 14:46:10ID:C481f9GD<?php
ini_set('default_socket_timeout', 10);
$url = 'http://www.example.com';
print_r(get_headers($url));
?>
に関してなのですが、ユーザーエージェントを特定のものにして
情報を受け取る方法を探していたのですが見つかりません
ユーザーエージェントを指定するにはこの場合
具体的にどこに何を書けばいいのかわかりません
度々質問をしてすみません、ご教授お願いいたします
0858839
2007/06/23(土) 16:52:33ID:2hjTlCBKいや、まじ助かります。ありがとう〜
キモはphp://stdinでした。
知りませんでした。
0860nobodyさん
2007/06/23(土) 18:47:34ID:???気になってしまた
0861834
2007/06/23(土) 19:24:15ID:???>>838
レス遅くなってすみません。
プレスフォルダに入れる値の配列を配列ごと何の考えも無しに文字コード変換してんですが、どうもその際にnullが空文字に変換されてinteger型のカラム等で弾かれてた見たいです。
お手数おかけしました。。
0862nobodyさん
2007/06/23(土) 20:23:13ID:???0864nobodyさん
2007/06/23(土) 20:46:15ID:???$fp=fopen($filename,"a");
でファイルポインタはファイルの終端に来るので、
そっからfwrite($fp,$str);
0865nobodyさん
2007/06/23(土) 20:54:39ID:???0866nobodyさん
2007/06/23(土) 21:05:55ID:???中身
aaa
↓
bbb
aaa
↓
ccc
bbb
aaa
こういうふうににしたいんだけど・・・わかりにくくてすいません
0868nobodyさん
2007/06/23(土) 21:10:18ID:???$buf = "bbb\n";
$buf .= $str;
$fp = fopen("hoge.txt", "w");
fwrite($fp, "buf\n");
fclose($fp);
行数が決まってるならfileとかで読み込んでループでいいんじゃないかな
0869868
2007/06/23(土) 21:11:38ID:???$str = file_get_contents("hoge.txt");
$buf = "bbb\n";
$buf .= $str;
$fp = fopen("hoge.txt", "w");
fwrite($fp, $buf);
fclose($fp);
0871nobodyさん
2007/06/23(土) 23:08:52ID:???これの入力値がフリガナだけか調べるうまい方法おしえて
文字オードはUTF-8です
0872nobodyさん
2007/06/24(日) 00:03:34ID:???こちらで効かせてもらいます。
0873nobodyさん
2007/06/24(日) 02:44:08ID:???0874871
2007/06/24(日) 06:41:14ID:???文字コードEUC-JPでお願いします。
0875nobodyさん
2007/06/24(日) 07:28:41ID:???0876nobodyさん
2007/06/24(日) 11:51:09ID:???0877nobodyさん
2007/06/24(日) 11:57:42ID:???0878nobodyさん
2007/06/24(日) 11:59:37ID:???0879nobodyさん
2007/06/24(日) 12:58:34ID:???0880nobodyさん
2007/06/24(日) 13:13:55ID:???0881nobodyさん
2007/06/24(日) 13:19:36ID:???俺がそれできるようになるまで何日かかったと思ってるんだ!知らんと思うけど!!
0882nobodyさん
2007/06/24(日) 13:57:05ID:RCivN73v0883nobodyさん
2007/06/24(日) 14:00:43ID:???大変勉強になることばかりで、私の生活の糧になっています。
ところで、このスレはどうしてこんなにキモイ変態ばかりが群がっているのでしょうか?
0884nobodyさん
2007/06/24(日) 14:01:08ID:???0886nobodyさん
2007/06/24(日) 16:59:44ID:j/kNbMoHHTMLのTEXTAREA内にTEXTAREAのタグを読み込めないのですが、
どうすれば読み込めますかね?
0887nobodyさん
2007/06/24(日) 17:59:21ID:???0888先ほど質問した者ですが
2007/06/24(日) 18:08:38ID:j/kNbMoHheader省略
$body = file_get_contents("./index.html)
print <<<_EOT_
<form action="">
<textarea>
$body
</textarea>
</form>
_EOT_;
0889nobodyさん
2007/06/24(日) 18:10:43ID:???0893nobodyさん
2007/06/24(日) 18:34:49ID:RCivN73v0894先ほど質問した者ですが
2007/06/24(日) 18:48:36ID:j/kNbMoHなるほど、HTMLを実体参照にするのですね。
誠にありがとうございます。
では
0897先ほど質問した者ですが
2007/06/24(日) 19:25:21ID:j/kNbMoH具体的な解を下さったのは>>893様です。
死ねなどという幼稚な発言はやめたらどうですか?
PHPどうたらの前に人間性ですよ。
0898nobodyさん
2007/06/24(日) 19:29:19ID:???貴方が幼稚な質問をしたから罵られているのですよ・・・
考えて見ても下さい、理由無く叩かれる質問なんて極僅かですよ
0899nobodyさん
2007/06/24(日) 19:33:34ID:???0900nobodyさん
2007/06/24(日) 19:43:07ID:j/kNbMoH幼稚=下らない
ならば
スレタイ通りの質問をしたまでですが?
そんな事言われても困りますね。
>>899
あなたにとって丁寧な言葉遣い以外に何が必要か教えて下さい。
0901nobodyさん
2007/06/24(日) 19:45:43ID:???俺なら許す。
0902nobodyさん
2007/06/24(日) 19:53:20ID:???0903nobodyさん
2007/06/24(日) 19:58:06ID:???ヒント:ここはPHPの質問スレであって、HTMLの基礎について質問するスレではない
<textarea>の中にそのままページ丸ごと読み込みなんて、HTMLの基礎知識が有ればやらない
言葉使いが人格のメインだなんて思ってるのか?
君がやってるのは敬語を使いながら相手の靴に唾を吐きかけるような行為だよ
口先ばかりで行動が伴っていない
0904nobodyさん
2007/06/24(日) 20:28:45ID:RCivN73v0905nobodyさん
2007/06/24(日) 20:39:40ID:???PHP初心者のお前のために解決方法を考えて労力と時間を費やしてくれた人がいるというのに
それに対して一言も謝辞がなく、具体的な解でなかったから価値がないように言い放つ奴は
どう考えても人間性が最悪な奴だと思うがどうかね?
0907nobodyさん
2007/06/24(日) 20:51:14ID:???誰かが任意で答えればいいだけだし。
答えたい奴が勝手に答える ってスタンスに変えればいいのに。
0908nobodyさん
2007/06/24(日) 20:57:40ID:RborMjIR0911nobodyさん
2007/06/24(日) 21:07:54ID:???0913nobodyさん
2007/06/24(日) 21:12:06ID:???0914nobodyさん
2007/06/24(日) 21:25:56ID:???0915nobodyさん
2007/06/24(日) 21:26:36ID:???0916nobodyさん
2007/06/24(日) 21:39:35ID:???反省すべし
0917nobodyさん
2007/06/24(日) 21:41:25ID:???質問する上での最低限の態度・マナー・礼儀がそもそもなっていない。
すなわち質問する権利がない。
分かりやすく表現してあげるなら、身の程をわきまえろ、立場を考えろ、ということ。
もっと謙虚になろうな。>j/kNbMoH
0919nobodyさん
2007/06/24(日) 22:16:55ID:???0921nobodyさん
2007/06/24(日) 22:59:21ID:???そういうやつに限って使えない
0922nobodyさん
2007/06/24(日) 23:04:24ID:???/ \
/ ─ ─\
/ (●) (●) \
| (__人__) |
/ ∩ノ ⊃ /
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0923nobodyさん
2007/06/24(日) 23:15:25ID:???perlでやれよと思う今日このごろ
0924nobodyさん
2007/06/24(日) 23:16:03ID:???とやると日付とBeat表示が一致しなくなります。
date("Y年n月j日", $_SERVER['REQUEST_TIME']-8*60*60).date("@B",$_SERVER['REQUEST_TIME'])
などとすることになりますが、
こういうものなんでしょうか?
また、こういうものだとすれば、なんで
こんな仕様になってるのか教えてください。
0925nobodyさん
2007/06/24(日) 23:26:02ID:???・サーバーの時計がおかしい(これだとBeadがズレるのでないと思うが)
・タイムゾーンの設定
んなとこじゃね
0927nobodyさん
2007/06/24(日) 23:31:09ID:???もうわかったから、落ち着け。
$str="コレハイーユーシー";
if($str){
if(preg_match('/[\x00-\x8E]/', $str)){
echo "全角カナ以外が混じってる NG";
}else{
echo "全角カナ文字だけ OK";
}
}else{
echo "空白";
}
0929nobodyさん
2007/06/24(日) 23:40:13ID:???すまん、全角チェックだから
echo "空白"; →echo "NG";だね
リガナ内の " " 半角スペースとかのチェックは別途うまくやってね。
0930924
2007/06/25(月) 00:03:31ID:yWbYl+8v>>926
Swatch Internet Timeで日付・時刻表示をします。
基本的にはUTC+1なんで、タイムゾーンがAsia/Tokyoの場合、
date関数で924のように指定すると、BeatはUTC+1に、
その他の日付はUTC+9になる、ということのようです。
>>925
>・タイムゾーンの設定
この場合、date関数の前にタイムゾーンを変更してやればよい、ということでしょうか?
date_default_timezone_set関数で変更する場合、
どのタイムゾーンの指定が適切でしょうか?
夏時間でずれたりしないようにしたいところですが。
0931nobodyさん
2007/06/25(月) 01:30:37ID:L5/fsAZZPHP4.3の別サーバーなら動きます。
問題は何でしょうか?
プログラムは画像アップロードするものです。
0932nobodyさん
2007/06/25(月) 01:58:01ID:???情報が少なすぎてこれくらいしか
http://jp.php.net/manual/ja/migration5.php
0933nobodyさん
2007/06/25(月) 01:59:11ID:???0934nobodyさん
2007/06/25(月) 02:50:10ID:???0935nobodyさん
2007/06/25(月) 03:02:25ID:L5/fsAZZ変えさす真っ白表示します。
PHPの設定を変えれば大丈夫なのですがやり方がわかりません・・・。
どうやら問題の関数はPReg_Matchのような感じです・・・。
それを外せば何とかプログラムは動きます。ただし、画像のアップはできたのですが
GD系が動いてないのかサムネイルが作れません・・・。
情報少なくてすみません。
0936nobodyさん
2007/06/25(月) 03:25:08ID:L5/fsAZZGD系の関数ですね・・・。
ただ、全く同じ別プログラムではPHP5でも動いてますので・・・。
謎は深まるばかりです。
0937nobodyさん
2007/06/25(月) 03:28:09ID:L5/fsAZZPregMachを追加でも真っ白表示になります
レス数が900を超えています。1000を超えると表示できなくなるよ。