【PHP】下らねぇ質問はここに書き込みやがれ 66
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2008/03/16(日) 17:23:27ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0866nobodyさん
2008/04/08(火) 18:22:50ID:EAGbfhcMリンゴ
└青
└赤
みかん
と表示させたいのですが、上手くできません。
以下のソースについて指摘いただければと思います。
$array = array("バナナ","リンゴ","みかん");
$array[1] = array("赤","青");
for($i=0;$i<count($array);$i++){
// 配列の場合
if(is_array($array[$i])){
echo $array[$i]."<br>";
foreach($array[$i] as $value){
echo "└".$value."<br>";
}
// 変数の場合
}else{
echo $array[$i]."<br>";
}
}
0867nobodyさん
2008/04/08(火) 18:27:15ID:???同じ変数名使ってるから変になる
$array = array("バナナ","リンゴ","みかん");
$array[1] = array("赤","青");
ってやった時点で
その配列は
array("バナナ",array("赤","青"),"みかん");
になる
0868860
2008/04/08(火) 18:45:06ID:???レスありがとうございます。
21行目というのは
mb_send_mail ($_POST['email'], "件名", "本文1行目\n本文2行目\n", $headers);
の行になります。
>>864
見てみたのですが、違いがいまいちわかりません・・・。
ネット上で関数のリファレンス、サンプルコードなどもいくつか確認しましたが、呼び方も同じようです。
Googleで検索したところ、以下の方が同じ症状なのですが、結局解決には至っていないようです。
メッセージが送信できない - PHPプロ!Q&A掲示板
http://www.phppro.jp/qa/818
Windows環境のPHPでRadishをSMTPサーバに使ってメール送信プログラムを動かせている人とかっていませんでしょうか?
0869nobodyさん
2008/04/08(火) 18:53:09ID:???いっぱい居る
0871nobodyさん
2008/04/08(火) 19:11:31ID:???http://jp2.php.net/manual/ja/function.mb-send-mail.php
ヘッダを \r\n で区切って食わせろとは書かれてない。
>>866
$fruits = array("バナナ","リンゴ","みかん");
$attrib = array('', array('赤','青'), array('冷凍'));
ロジックそのままで、変数名だけをこれに合うように書き換えて試してみよう。
0872860
2008/04/08(火) 19:32:59ID:???ありがとうございます。
実際に詳しく解説しているサイトなどあったら教えていただけないでしょうか?
>>870
メールアドレスは実際には送受信可能なものを指定しています。
さっきのURLではそれで解消されたように書いてあったのですが、私の環境では変わらないのです。
>>871
おおっ!それは気付きませんでした。
が、
$headers = 'From: foobar@gmail.com';
mb_send_mail ($_POST['email'], "件名", "本文1行目\n本文2行目\n", $headers);
のように変えてみたのですが、やはり同じく
SMTP server response: 501 Syntax error in parameters scanning "From"
が表示されてしまいます・・・。
0873nobodyさん
2008/04/08(火) 19:40:28ID:???マニュアルを読め
PHPと関係なさ過ぎる
0876860
2008/04/08(火) 20:20:38ID:???>>874
Radish自体はデフォルトの設定(解凍して起動しただけ)の状態で、メールクライアントでのメール送信テスト(localhost:25を指定)は行っています。
そちらのテストでは正常に送信できていました。
php.iniにも以下を設定しており、Radishを落としている時はタイムアウトしたため、SMTPサーバとの疎通というよりは
PHPでのmail関数の使用法に問題があるのかと思い質問させて頂いたのですが・・・。
SMTP = localhost
smtp_port = 25
0878860
2008/04/08(火) 21:42:25ID:???いろいろ試してみたところ、php.iniのsendmail_fromのコメントアウトを解除したところ、無事メールが送信できるようになりました。
この設定はデフォルトというだけで、メールヘッダの方でFromを指定すれば問題ないと思っていたのですが、Windowsの場合必須なんでしょうか?
この設定を有効にした上で、第4引数でFromヘッダに任意のメールアドレスを指定するとちゃんとそのアドレスで送信されるようになりました。
お騒がせしました。
0879nobodyさん
2008/04/08(火) 22:02:00ID:tayW9iIoPHPから別のPHPを実行させる為に、PHPのexce関数を使用しています。
WindowsXP上のサーバ環境で問題なく実行できます。
ところが、WindowsVista上のサーバ環境では、exce関数から別のPHPを実行する事ができません。
OSのセキュリティ関係が影響しているのではと思うのですが、原因を掴めていません。
WindowsVistaで、exce関数からPHPを実行させる方法を知っている方いましたら教えて下さい。
0880nobodyさん
2008/04/08(火) 22:03:01ID:???0881879
2008/04/08(火) 22:32:44ID:tayW9iIo0882nobodyさん
2008/04/08(火) 23:20:24ID:???きもち悪い動きだねぇ。
自分は PHP5.2 / WinXP Homeで SMTP/POPはXMAIL を使ったテスト環境作ってるけど、
sendmail_from はコメントアウトされたままでメール送信できてる。
0883nobodyさん
2008/04/08(火) 23:29:53ID:???php.iniで補完されて通るようになっただけだと思われ
まぁPHPとは関係ないな
0884nobodyさん
2008/04/09(水) 00:32:42ID:???解決策を!
0885nobodyさん
2008/04/09(水) 00:57:57ID:zhyjL3fT["hoge1"]=>
array(9) {
["comment"]=>
string(4) "aiue"
["IP"]=>
string(13) "xxx.xxx.xxx.xxx"
["hoge2"]=>
array(9) {
["comment"]=>
string(4) "aiue"
["IP"]=>
string(13) "xxx.xxx.xxx.xxx"
みたいな構成の場合にhoge1とhoge2を取得したいのですが、どのようにすればよりですか?
0886nobodyさん
2008/04/09(水) 01:01:17ID:???取り出す条件は何よ
foreachでkey取り出せばいいって話じゃなくて?
マニュアル:foreach
http://www.php.net/manual/ja/control-structures.foreach.php
0888862
2008/04/09(水) 01:28:27ID:???おかしいですね、ソースはそのままなんですけど・・・。
もしかしたらサーバの設定が間違ってしまったのかも・・・。
一度見直してみます。
ありがとうございました。
0889nobodyさん
2008/04/09(水) 02:15:28ID:yG4BsjHJ画像のアップローダを作っていて、「A.jpg」と名づけて保存された写真に対して、
「A.jpg」という同じ名前で上書きアップロードをしています
で、その上書き保存はうまくいくんですが、どういうわけか画像のプレビューページに
戻ると古いA.jpgが表示されています
どうしたらいいでしょうか? リロードすると新しい画像になるのでキャッシュかなと
思うんですが、そのページに対して、キャッシュを保持させないような関数など
あるでしょうか?
もしphpの問題でなく、apacheの設定の問題だとしたら、申し訳ないですが
その場合でもご意見もらえたら嬉しいです お願いします
環境はphp5、apache2です
0890nobodyさん
2008/04/09(水) 02:24:15ID:???PHPに関する質問をお待ちしております
0891nobodyさん
2008/04/09(水) 02:35:39ID:???埼玉県警本庄署は8日、中学で同級生だった高校2年の女子生徒(16)に「レイプしますよ」などとメールを送ったとして、脅迫の疑いで同県立高校2年の男子生徒(16)=本庄市=を逮捕した。調べに「間違いありません」と容疑を認めているという。
調べでは、男子生徒は昨年10月から11月にかけて8回にわたり、別の県立高校に通う女子生徒の携帯電話に「暴行しますよ」「日時が決まりました」などとメールを送った疑い。
男子生徒は、自分のアドレスが特定されないよう、別のアドレスに変換してメール送信できるサイトを利用していたが、アクセス記録などから発覚した。
0892nobodyさん
2008/04/09(水) 02:38:59ID:???警察が照会した
0893nobodyさん
2008/04/09(水) 02:44:54ID:???警察に弱みでも握られているのかよ。
0894nobodyさん
2008/04/09(水) 03:22:59ID:???なんで犯罪者をまもらなきゃいけないのかと・・
0895nobodyさん
2008/04/09(水) 03:29:39ID:???0896nobodyさん
2008/04/09(水) 05:20:12ID:???普通の人間は警察の捜査には素直に協力するだろ
0897nobodyさん
2008/04/09(水) 05:26:00ID:???いまどきダッセー
0898nobodyさん
2008/04/09(水) 05:35:49ID:???警察を explode() して配列に格納したいとかそんな用事か?
0900nobodyさん
2008/04/09(水) 11:17:42ID:???DOMスクリプティングはPHPでもできますか?
0901nobodyさん
2008/04/09(水) 11:29:11ID:???0902nobodyさん
2008/04/09(水) 11:39:41ID:???PHP関係ないしww
0904nobodyさん
2008/04/09(水) 13:19:57ID:???PHPでDOMを生成することはできるけど。
0905nobodyさん
2008/04/09(水) 15:38:30ID:???普通に考えればわかるだろ。
メールのアドレスを偽る(fromヘッダーとかの話だと思うけど)
送信経路も違う形にしても、結局使っていたサイトのアクセスログに
利用者のIPアドレス、ホストが出てくるからその時間帯に割り振られていた
地域と、ISPへの接続用ID/PWを調べれば即わかるって
0906nobodyさん
2008/04/09(水) 15:49:11ID:hapnZShVDBにセッションIDとか時間とか記憶させてるけど
後で何に使うの?
0907nobodyさん
2008/04/09(水) 16:11:10ID:???0908nobodyさん
2008/04/09(水) 21:23:51ID:???0909nobodyさん
2008/04/09(水) 21:39:41ID:???0910nobodyさん
2008/04/09(水) 23:45:32ID:???0911nobodyさん
2008/04/09(水) 23:57:05ID:???0912nobodyさん
2008/04/10(木) 01:19:01ID:???ってか、プロバイダーまでグルかよww
昔、ベッコウアメインターネットっていう会社があってけど、
警察から捜査要請があっても断っていた。
プロバイダー責任法とかで、警察に弱みを握られているんだろうな。
0913nobodyさん
2008/04/10(木) 01:34:37ID:???0914nobodyさん
2008/04/10(木) 01:46:15ID:???よう今日の俺。
自分が先にブチ込んだとは言え、
妊娠させるっていう本能的な目的を達成できなかったっていう
負け組感が心のどこかで微かに沸く気がする。
つーかどこの誤爆なんだww
0916nobodyさん
2008/04/10(木) 02:37:53ID:rhHoOlQnその辺りの処理はどのように書けばいいでしょうか?
0918nobodyさん
2008/04/10(木) 02:56:42ID:???日本語読めますか?
0919916
2008/04/10(木) 02:58:51ID:rhHoOlQnアルゴリズム的なところが分からないのですけど。
ファイルを開いて、そのファイルの所定の位置に文字列を挿入する
という処理がしたいと思っています。
簡単に、どのようなソースを書けば、そのようなことが出来るでしょうか?
0921916
2008/04/10(木) 03:23:23ID:rhHoOlQnfgetsで一度ファイルの内容をすべて変数に格納してから
書き出すということを考えたのですが、
もうちょっと簡単に処理する方法はないでしょうか?
0922nobodyさん
2008/04/10(木) 03:27:55ID:???0923916
2008/04/10(木) 03:37:04ID:rhHoOlQnすみません。
マニュアルは見てますが、
私がやりたい項目が見つかりません。
0925nobodyさん
2008/04/10(木) 04:01:12ID:???もうちょい具体的に書いてくれ
0926nobodyさん
2008/04/10(木) 08:12:34ID:wqutz9kO$hoge = $DB->qstr($_GET['hoge'])
とすると、適切にクオートして、引用符で囲んでくれますが、
このままだと LIKE '%$hoge%'
のように使うことができないのですが・・・
どのようにすればよいのでしょうか?
よろしくお願いします。
0927nobodyさん
2008/04/10(木) 08:16:32ID:???クオートするまえに%を付け足せばいいだけでした・・・
よく考えずに質問してしまって申し訳ありません;;
0928927
2008/04/10(木) 08:17:28ID:wqutz9kOスレを汚してしまって申し訳ありません;;
0930nobodyさん
2008/04/10(木) 08:54:53ID:???1.対象ファイルをオープンする
2.tempファイルを作りオープンする
3.対象ファイルから1行読み込む
4.tempファイルに読み込んだ1行を書き出す
5.3-4を目的行まで繰り返す
6.対象ファイルからある行を読み出し、追加する
7.3-4を最後の行間で繰り返す
8.2つのファイルをクローズする
9.対象ファイルをリネーム
10.tempファイルを対象ファイル名にリネーム
11.リネームした対象ファイルを削除。
実際には1-11の途中で止まってしまっう事も考えて
フラグをセットしておくとか、1-11の処理が同時に
行われないようにするとかの処理が必要。
0931nobodyさん
2008/04/10(木) 09:26:30ID:???0932nobodyさん
2008/04/10(木) 09:37:53ID:???0933nobodyさん
2008/04/10(木) 09:41:59ID:???0935nobodyさん
2008/04/10(木) 10:20:23ID:???全読み込み→キーを挿入したい文字列に置換→上書き
ってすれば楽。置換後の文字列にまたキーを入れておけば
次回以降も同じ処理で追記できるべ。
0936nobodyさん
2008/04/10(木) 10:30:27ID:???どうやって?
0937nobodyさん
2008/04/10(木) 13:44:24ID:???0938nobodyさん
2008/04/10(木) 13:50:06ID:???もっといい書き方あるだろうけど
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$new_array = array();
$count = 0;
for ($i = 0; $i < count($array); $i++) {
if ($i == 3) {
$new_array[$i] = 0;
$count++;
}
$new_array[$i + $count] = $array[$i];
}
print_r($new_array);
$arrayはfileで読み込んだ配列ってことで
$array[3]に0を挿入した新しい配列を作るプログラム
この部分を関数にして引数で渡せば外部ファイル使う必要がないかな
0939nobodyさん
2008/04/10(木) 14:09:04ID:???でOK
0941nobodyさん
2008/04/10(木) 14:27:18ID:???$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$newArray = array();
foreach($array as $key => $value) {
if ($key == 3) {
array_push($newArray,0);
}
array_push($newArray,$value);
}
var_dump($neArray);
0942nobodyさん
2008/04/10(木) 14:38:51ID:???0943nobodyさん
2008/04/10(木) 16:17:50ID:???これありなの?
if (なんたら){
なんたら
} else {
function hoge(){
なんたら
}
略
$a = hoge();
以下略
}
0944nobodyさん
2008/04/10(木) 16:35:54ID:???ビギナーがやりそうだな
0945nobodyさん
2008/04/10(木) 17:11:08ID:???やればいいよ派
┣ファイルストリーム使うよ派
┃┣壊れるのは嫌だよ派(保守派)
┃┃┣処理がアトミックかどうかはFSに依存する(要出展)(ウィキペディア)
┃┃┗ソ連では、ファイルがお前をロックする!(アンサイクロペディア)
┃┗壊れてもいいよ派(過激派)
┃ ┗タロウくん壊れる訳がないよ派(無防備マン)
┗配列使うよ派
┣結果が同じならどうでもいいよ派(富豪プログラミング派)
┣配列の何が問題なのか分からないよ派(ゆとりプログラミング派)
┗問題が出てから対処するよ派(遅延プログラミング派)
しなくていいよ派
┣それは本当に必要なのか考えるべきだよ派(歴史修正主義派)
┣つかなんでこうするの?派(質問に質問で答えると0点だよ派)
┗やらずに済む方法を探すよ派
┣スレ違いだよ派(プログラム板派)
┣誰かに作ってもらうよ派(Web製作板派)
┗やっぱりペチパーには任せられないよ派(島根県松江市板)
マニュアル読めばいいよ派
┣マニュアルは最高だよ派(原理主義派)
┣マニュアルは嘘ばかりだよ派(PHP bugs も bogus ばかりだよ派)
┣User Contributed Notes は最高だよ派(二次創作派)
┗User Contributed Notes がないよ派(三流製作会社の SEO だよ派)
0946nobodyさん
2008/04/10(木) 17:16:41ID:???$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$newArray = array();
foreach($array as $value) {
if ($key == 3) $newArray[] = 0;
$newArray[] = $value;
}
var_dump($newArray);
0947nobodyさん
2008/04/10(木) 17:17:09ID:???を追加してくれ
0948946
2008/04/10(木) 17:18:13ID:???○if ($value == 3)
0949nobodyさん
2008/04/10(木) 17:51:20ID:???NGでもなんでもない。
>>943では関数定義が実行時に評価されるって話だ。
if (false) { function hoge() {} }
var_dump(function_exists('hoge'));
0951nobodyさん
2008/04/10(木) 18:03:06ID:???ttp://www.php.net/manual/ja/language.functions.php
0952nobodyさん
2008/04/10(木) 18:07:27ID:???修正後でも結果が変わると思うが?
916の指定行に値を追加したい
というのに対しての回答が938
その回答が941であって
やるならこうだろ
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$newArray = array();
foreach($array as $key => $value) {
if ($key == 3) {
$newArray[] = 0;
}
$newArray[] = $value;
}
var_dump($newArray);
0953nobodyさん
2008/04/10(木) 18:19:38ID:???0954nobodyさん
2008/04/10(木) 18:38:42ID:F/t4zGMj読みにくい。これだからプログラムしかしてない人はだめだね
0955nobodyさん
2008/04/10(木) 18:45:30ID:fx+O7o8h動作するのは分かってるんだけど、可読性とかの意味でどうなのかと。
あと、わざわざ実行時評価にする意味がある場合があるのかな?
まあ、俺のところで使ってるやつは特に考えずにやったっぽいけど。
0957nobodyさん
2008/04/10(木) 19:56:50ID:???0958nobodyさん
2008/04/10(木) 19:59:49ID:???考えないキモメンが考えそうなコードだなw
0959nobodyさん
2008/04/10(木) 20:01:57ID:???こんなあいまいな質問の仕方なら
この展開もおかしく無いだろ
・言語構造として可能なのか
・実運用としてありなのか
ちゃんとした答えが必要なら、ちゃんとした質問を用意するって基本だろ
0960nobodyさん
2008/04/10(木) 20:13:40ID:???細かい技術的なことを気にするよりも、市場調査をしっかりして、
きちんとしたコンセプトを考える方が大事。
企画書なのに5ページも10ページも書いてくる奴は馬鹿。
0962nobodyさん
2008/04/10(木) 20:40:55ID:???「fscanfがおかしいです。」
0963nobodyさん
2008/04/10(木) 21:25:17ID:???うちにも居るよ、
スパゲティコードしか書けないくせにプライドだけは
一人前のキモイ香具師、指摘すると青筋たててマニュアルを
持ち出すのなww
0964nobodyさん
2008/04/10(木) 21:31:49ID:???0965804
2008/04/10(木) 22:11:12ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。