【PHP】下らねぇ質問はID出して書き込みやがれ 76
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/11/13(木) 04:15:32ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0666nobodyさん
2008/11/27(木) 13:42:38ID:7SaHUKLWレスありがとうございます。
副問い合わせ
調べてみます。
>>663
エスケープ、、、いまいち理解していないと思います。
$move_price = stripslashes($move_price[$i]);
と試してみたのですが、文字化けは直りませんでした。。。
0667nobodyさん
2008/11/27(木) 13:56:46ID:???0668nobodyさん
2008/11/27(木) 13:56:51ID:VS9OEG/Zhttp://nonn-et-twk.net/twk/why-set-names-in-php-is-bad
のようなことではないでしょうか。
0669660
2008/11/27(木) 14:12:12ID:7SaHUKLWありがとうございます。
この方法では化けずにコピーできました。
>>667
どこで化けたか正確にわからないのですが、
b.phpのINSERT直前で var_dump($move_price); としても
化けていませんでした。
b.phpを走らせhogehogeに格納されたデータを
phpmyadminで確認したところ化けています。
c.phpでも化けて表示されてしまいます。
>>660
そのページはググって見つけました。
b.phpに
mysql_set_charset("sjis");
と記述してみたけど使い方が悪いのか文字化けは直りませんでした。
0670nobodyさん
2008/11/27(木) 14:27:38ID:???たとえば、mysql_escape_string等で。
文字化けが起きないというa.phpでもやっとくべき。
それで化けるならむしろDBとの文字コード変換部分をチェックする必要がある。
このとき、内部エンコーディングとかが影響するので、
詳細な情報がないとエスパーするにも限界がある。
0671660
2008/11/27(木) 15:40:26ID:7SaHUKLWmysql_escape_stringを調べてみて
mysql_real_escape_stringを使ってみたところ
見事文字化けは解消されました。
まだまだ基本的な事がわかっていないので、
コツコツと勉強します!!
大変勉強になりました。
皆さまどうもありがとうございました。
0672nobodyさん
2008/11/27(木) 16:15:12ID:nVMghs4xサッカー,2
テニス.3
という内容がテキストファイルに書き込まれていたとします。
例えば、野球の行の数字を2に変えたい時、どうすればいいのでしょうか?
イメージとしては、行を取得してその行の数字の部分を新しい数字に置換
すればいいのだと思っていますが、特定の行だけ取得する事って出来るのでしょうか?
0673nobodyさん
2008/11/27(木) 16:20:51ID:???0675672
2008/11/27(木) 16:26:55ID:nVMghs4xと言う事は、全部読み込んで一行ずつ処理し、
strstrなどでその行に「野球」という文字が含まれていたら
野球,2 という文字列に置換するという考え方でよろしいのでしょうか?
0676nobodyさん
2008/11/27(木) 16:29:11ID:???長さが違うと不可能だし。
0677nobodyさん
2008/11/27(木) 16:50:13ID:nsjkEY4z$output = "foo\nbar";
preg_match('/.+/m', $output, $matches);
print_r($matches); //foo
しか出力されないのですが
なんか方法ありましたっけ?
なければ行ごとに分解するか、逆に改行を何かに置換するか・・・
お願いします。
0678nobodyさん
2008/11/27(木) 16:53:03ID:???0679677
2008/11/27(木) 16:56:30ID:???0680nobodyさん
2008/11/27(木) 17:20:51ID:???そのために文字列とURLを抜き出したいのですがどうすればいいでしょうか
[[ ]]の中だけは抜き出せるようになったのですが
\[\[([^\[]+)\]\]
0681nobodyさん
2008/11/27(木) 17:50:09ID:???っていうかID出せやコラ
ていうかPukiWikiの真似ならPukiWikiのソース見れやコラ
0682672
2008/11/27(木) 18:59:09ID:nVMghs4xなるほど。
じゃ、読み込んで新規ファイルに追加し、元ファイルを削除。
って流れが一番良さそうですね。
2ちゃんのログ検索とかどうしてるんでしょうね。
たぶんDBは使って無さそうだし。でも、結構速いし。
0685nobodyさん
2008/11/27(木) 21:53:53ID:???ただ催促すると放置される可能性があるので注意して下さいね。
基本、回答者に対して命令口調はやめてください。気分が悪いです。あなたは何様ですか?
回答者はいわば神です。一方、あなたは単なる質問者です。
神に対してはみんな、お願いをするものです。
平民以下の単なる質問者のくせして、神に命令するなんておかしいと思いませんか?
回答者はボランティアです。
自分の気分次第で嫌いな質問をスルーしたりすることに対しては何の問題もありません。
私は基本的に、自分の好きな時間に、自分が嫌いな質問や自分の嫌いなコテが書き込んだ質問を思う存分、集中的に叩きます。
自分勝手に私利私欲で叩きまくるのが基本です(笑)
私がPHP板の神ということを忘れないで下さい。
神を怒らせるととんでもないことになりますよ。
ヤスヒロや穴子という方をご存知ですか?彼は私を怒らせたのでまともな質問でも見つけ次第罵詈雑言浴びせまくっています。
その態度なんなんですか?
とても気に入らない質問の仕方です
0686nobodyさん
2008/11/27(木) 21:57:06ID:???0688nobodyさん
2008/11/27(木) 22:15:45ID:Y4lx+bCY自分が使ってるレンタルサーバーは
sendmailが停止されてるんだが、
この状態でもサーバーからメールを送ったりできるの?
PHPに独自に組み込まれたメール送信関数等を使って。
0689nobodyさん
2008/11/27(木) 22:18:51ID:exzeZtETドコモユーザなど判別しているんですが
もっと詳しくドコモ関東、ドコモ九州など地域まで
判別するのは不可能なんでしょうか?
0690nobodyさん
2008/11/27(木) 22:23:45ID:Y4lx+bCYIPアドレスの範囲で調べるとか?
0000−1111なら関東
4444−7777なら九州
とか、あらかじめ調べておいて、きめうち。
0693nobodyさん
2008/11/27(木) 23:08:09ID:???phpのバージョンは?
php.ini等でSMTPに自前のSMTPサーバーを指定してやればできる可能性はある。
ポートが塞がれていたらちょっと工夫が必要になるだろうけど。
0694nobodyさん
2008/11/27(木) 23:14:36ID:xeQLOWxL0695nobodyさん
2008/11/27(木) 23:25:32ID:???http://jp.youtube.com/watch?v=C5Kp4VL77b8&feature=related
0696nobodyさん
2008/11/28(金) 01:35:36ID:dY3rvFPa「ボタンを押したら、文字列が表示される」
ってプログラムを書こうとして、その予習として、
<form action = "1.php" method="POST">
<input type="submit" value="a">
</form>
<?PHP
print $_POST;
?>
こういうプログラムを書いたんだけど、これを実行すると
ARRAY
って出るんだけど、どういうこと?
素人目には、理解不能は仕様なんだけど?
0697nobodyさん
2008/11/28(金) 01:39:49ID:HHS1We1t695>>そうだね。
696>>エラーなんだが
0698nobodyさん
2008/11/28(金) 01:54:20ID:???0699nobodyさん
2008/11/28(金) 01:58:46ID:dY3rvFPa<input type="submit" name="a" >
</form>
<?PHP
if (isset($_POST["a"])) {
print "hello";
}
?>
これで、できたわ。
0700nobodyさん
2008/11/28(金) 02:08:14ID:???PHPでどうやってそんな風に教えればいいんだ
この関数は再帰だから〜、とか、関数力つけておきましょう、とか?
0701nobodyさん
2008/11/28(金) 02:26:28ID:dY3rvFPaただコードを「ベタッ」とはりつけてきて
補助的な解説が皆無なのがムカツクの。
0703nobodyさん
2008/11/28(金) 03:07:13ID:???再帰とか頭がこんがらがってしまうから、
フローチャートを使いながら説明するとか。
0704nobodyさん
2008/11/28(金) 03:18:35ID:???0705nobodyさん
2008/11/28(金) 03:48:54ID:???0706nobodyさん
2008/11/28(金) 07:54:41ID:???まあこの程度しかできないとおもうけど・・・
http://jp.youtube.com/watch?v=P9cLDqHfyoc&feature=related
0707nobodyさん
2008/11/28(金) 09:17:02ID:???0708nobodyさん
2008/11/28(金) 09:39:51ID:eL/0HM2wなんでお前ら馬鹿なの?
0709nobodyさん
2008/11/28(金) 10:06:45ID:???これはあまりよろしくないな
こんなこと頑張って覚えても実際の業務に何の役にも立たないし
このような概念的なことは教本見れ自分で勉強すれば済むこと
0710nobodyさん
2008/11/28(金) 11:37:08ID:skXTPrJy//code here
}
このとき、functionについている「&」はどういう役割をしているのでしょうか?
0711nobodyさん
2008/11/28(金) 12:13:10ID:???調べてみた
http://d.hatena.ne.jp/cloned/20060510
0712nobodyさん
2008/11/28(金) 13:54:03ID:???http://jp2.php.net/manual/ja/functions.returning-values.php
http://jp2.php.net/manual/ja/language.references.return.php
0713nobodyさん
2008/11/28(金) 15:51:04ID:skXTPrJyありがとうございます。
よくわかりました。
>>712
なるほど、マニュアルに書いてあったんですね。
ありがとうございました
0714nobodyさん
2008/11/28(金) 21:21:59ID:fzzy5FaA0715nobodyさん
2008/11/28(金) 21:24:16ID:???ウェブで見てもエディタで見ても改行されて見えるからやがな
0716nobodyさん
2008/11/28(金) 21:35:12ID:fzzy5FaA意味がわかりませんが
0717nobodyさん
2008/11/28(金) 22:02:12ID:???<br>\n<br>\nってやれば
出力されるhtmlのソースは
<br>
<br>
という具合に改行されるが、
<br><br>とやれば
そのまま<br><br>と改行されずに出力される
ソースの見た目であってhtmlの見た目上は問題ない
0718nobodyさん
2008/11/28(金) 22:27:32ID:dY3rvFPa最強、定番のって、どれ?
自動スクリプトで5000通とか送信されて
ぶっこわれたりしない、対策がちゃんと考えられてるやつ。
0719nobodyさん
2008/11/28(金) 22:41:20ID:dY3rvFPaアホが作るとこういう悲惨なことになるから。
最初からちゃんと聞いたほうがいい。
0720nobodyさん
2008/11/28(金) 22:46:47ID:dY3rvFPaもしかして、サーバー側で
sendmailが停止されている場合、
メール送信フォームを設置しても
動かない可能性が高いのか?
0721nobodyさん
2008/11/28(金) 23:04:13ID:???0722nobodyさん
2008/11/28(金) 23:06:34ID:???コンパイル時にsendmailのパスを含んでないと駄目。
サーバ管理者がメール送らせたくないって思ってんだから諦めろ。
0723nobodyさん
2008/11/28(金) 23:10:48ID:HHS1We1tqmailとかで送れってか?
0724nobodyさん
2008/11/28(金) 23:37:30ID:???PHPにあるのはmail関数。
mail関数を使っても、送られてきた情報を
そのままアパッチのsendmailに丸投げするだけだけど。
0725nobodyさん
2008/11/28(金) 23:56:55ID:???0726nobodyさん
2008/11/29(土) 00:00:45ID:???sendmail_path = /usr/sbin/sendmail
と
SMTP = localhost
smtp_port = 25
っていう設定があるけど、mail関数を使った時は、sendmailコマンドに
送られるのかね、それとも、SMTPを直接叩いてくれるんだろうか
0728nobodyさん
2008/11/29(土) 01:35:49ID:???0729nobodyさん
2008/11/29(土) 01:52:20ID:Zwy93qXL0730nobodyさん
2008/11/29(土) 08:12:28ID:Q7h0AD5bやっぱりZendFWやPearの本に載ってるような簡単なサンプルじゃ
大量の送信とかでエラー起こすものなんですか?
0731nobodyさん
2008/11/29(土) 08:19:35ID:???0732nobodyさん
2008/11/29(土) 09:19:26ID:???その簡単なサンプルがどの程度のものか知らんが、
スパムメール配信システムでも作るの?
メールサーバーによっては同時配信数に制限をかけているものがあるから、
その最大数に合わせて分割配送とか独自のキューを実装する必要があるかもね。
Web経由でやるんなら、タイムアウトとかもケアするとか。
0733nobodyさん
2008/11/29(土) 09:20:37ID:???放置放置
0734nobodyさん
2008/11/29(土) 10:14:58ID:Q7h0AD5bいや、そんなの作る気ないよ>スパム
せっかくサーバ借りるからやってみようって好奇心だけなんだけど
変なものできてトラブりたくないから聞いてみた 気に障ったならごめんね
0735nobodyさん
2008/11/29(土) 14:10:37ID:???とかの or die の使い方がのっているマニュアル該当部分てありますか?
探したんですが、orじゃ検索できないしいまいち動作がはっきりしないので情報を探しています。
論理演算子の or と同じ意味でしょうか。
0737735
2008/11/29(土) 14:27:57ID:khza+QN5function test(){
print "in test()!!";
return true;
}
とか色々やってみてやっぱり演算子なんですね。
しかも、die以外もprintなら使えるけど、date()は使えない。
でも、自作関数使えるみたいで
test() and test();
は出来た。
dateは駄目で、自作関数は駄目って基準が分からないw
0738nobodyさん
2008/11/29(土) 14:29:57ID:???0739nobodyさん
2008/11/29(土) 14:37:15ID:???式を評価する優先度と順番の問題。
A or B
でAがtrueならBは評価しない。だから、Aがfalseの時にしたい処理をBに書く。
C and Dで
CがfalseならDは評価しない。
0740nobodyさん
2008/11/29(土) 14:43:38ID:???737のはどちらも実行されますよ。
その上でprintと自作関数は実行されるのに、dateとかは駄目というのが現在の疑問です。
>>738
論理演算子
http://www.php.net/manual/ja/language.operators.logical.php
は読んだんですが・・。
ここまで書いて、booleanを返さないといけないということに気づきました。
ありがとうございました。
0741735
2008/11/29(土) 14:48:51ID:khza+QN5dateに限ってはprintを実行してなかっただけという orz
test() or print(date("Y"));
function test(){
print "in test()!!";
return false;
}
function test2(){
print "in test()!!";
//return false;
}
0742nobodyさん
2008/11/29(土) 14:51:43ID:???function testがtrue返してんだから、
test() and test()
は、最初がtrueだから、次をチェックしにいくんだから、両方実行されて当然でしょ。
仮にtestでfalse返してみなよ
test() and test()は1度しか実行されないから
0743745
2008/11/29(土) 14:52:05ID:???だらだらと書きましたが、誰かの参考になれば幸いです。
test() or ($test = date("Y"));
print $test;
function test(){
print "in test()!!";
return false;
}
とかやって、エラーフラグを変数に代入していけば、一個ずつif書くよりいいかもとか思いました。
0744nobodyさん
2008/11/29(土) 14:52:19ID:???0745nobodyさん
2008/11/29(土) 14:52:27ID:???perlのほうで調べてみ
0746nobodyさん
2008/11/29(土) 14:53:07ID:???0747735
2008/11/29(土) 14:54:31ID:khza+QN5えーと、そこは意図してそのような動作に・・。
既に書きましたが、test() or の後にdie以外を見たことが無かったので試していたら混乱したということです。
結果的には普通に何でも出来ますね。
アドバイス頂きありがとうございました。
0749735
2008/11/29(土) 15:01:17ID:khza+QN5なるほどそのあたりも漏れてました。
しかし、>>741のtest2()で試したところ返り値があるかないかは、論理演算子の右辺は関係ないかと。
>>745
情報ありがとうございます。
perl絡みで調べてみます。
どうもこの構文はPHPとしては唐突でしっくりこなかったんですが、そういう経緯もあるんですね。
0750735
2008/11/29(土) 15:02:35ID:khza+QN5ここってくだ質じゃないんですか?
何か勘違いしていたらすいませんw
0751nobodyさん
2008/11/29(土) 15:07:41ID:???いい加減にしてくれ
0752nobodyさん
2008/11/29(土) 15:20:06ID:???構文のパースに過ぎないんだから。
チューリングマシンの基礎だな。
> 論理演算子の右辺は関係ないかと。
そう書く気持ちはわかるが、そういう考えでは本質は理解できんよ。
0753nobodyさん
2008/11/29(土) 15:28:41ID:???0754735
2008/11/29(土) 15:34:46ID:khza+QN5個人的には基礎が足りないというのは理解しております。。
もしよろしければですが、どういうアプローチをしたら右辺の意味について理解できるでしょうか?
0755nobodyさん
2008/11/29(土) 15:57:48ID:Q7h0AD5b「まあ答えてやるか」って人間がいる限り、そういう書き込みが一番空気悪くする
いやなら答えなきゃいいし見なきゃいいだけだと思うが
0756nobodyさん
2008/11/29(土) 16:27:03ID:yRFYIZ4c・式だけでも正しい構文
・PHP では and/or は短絡評価
・functionはreturn文が実行されなかったときはNULLを返す
バージョンによる違いは調べてません。
0757nobodyさん
2008/11/29(土) 17:19:53ID:N9fdCVij単体の値を抜き出せるのに、Zend_Db_Table使うと、
結局イテレータで出てきちゃうので、
$row->カラム名
ってしないと値が取り出せず、面倒な気がするんですけど・・・。
何か良い解決方法があったら教えてください。
0758nobodyさん
2008/11/29(土) 17:30:09ID:???0759735
2008/11/29(土) 17:30:45ID:khza+QN5ありがとうございます。
・式だけでも正しい構文
というのは計算式だけでもOKって事でしょうか?
自作関数だけでもnullが返ってるんですね。勉強になりました。
たしかにvar_dumpで見たらnullが返ってました。
これもざっと見るとマニュアルに書いてないような・・。
やっぱりorの両辺は返り値(何らかの値)が無ければ駄目って事かな・・。
0760nobodyさん
2008/11/29(土) 18:44:16ID:???論理演算子で解釈できるようなものならOK
基本、関数ならいいけど命令ならダメ。
右辺なら関係ないとかやめてね
test1() or test2() or test3()
こういうことも可能なわけで、右辺はいつでも左辺になる可能性がある。
test() or echo "error";とかダメだから
0761nobodyさん
2008/11/29(土) 18:55:54ID:yRFYIZ4c0762nobodyさん
2008/11/29(土) 18:57:37ID:???0763nobodyさん
2008/11/29(土) 19:02:02ID:???0764nobodyさん
2008/11/29(土) 19:04:04ID:???0765nobodyさん
2008/11/29(土) 20:05:02ID:dnGnExVM自分に渡された引数が自分自身(同じインスタンス)かどうかを調べるには
どうすればいいですか?
===は、ちょっと違いますよね?
■ このスレッドは過去ログ倉庫に格納されています