【PHP】下らねぇ質問はID出して書き込みやがれ 111
■ このスレッドは過去ログ倉庫に格納されています
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 110
http://hibari.2ch.net/test/read.cgi/php/1314692611/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0588nobodyさん
2011/10/19(水) 20:43:54.82ID:xYuYvl/qマニュアル読んでもサッパリ分かりませんでした
具体的にはどういうものなのでしょうか?
他サイトとかと通信するような例文が書かれていましたが、TCP/IPとかそういうものの為のものなのでしょうか?
そうだとしても、cUrlとかあるので、違いが分かりません
0589nobodyさん
2011/10/19(水) 20:54:38.57ID:3Y/Xg53Mどっちでも問題ないんですね
ありがとうございます
自分も\が使いやすいので今日、\"の方でやっていたら
B先生に激しく否定されてしまったので、ダメなのかと思ってました
0590nobodyさん
2011/10/19(水) 21:50:55.85ID:???> B先生は、" の中で " は使えないから ' を使いなさい、と言っていました
が
B先生は、HTMLの" の中で " は使えないから ' を使いなさい、と言っていました
と予想。
× <input type="text" value="\"">
○ <input type="text" value='"'>
○ <input type="text" value=""">
だが
× <input type="text" value='''>
○ <input type="text" value="'">
○ <input type="text" value="'">
でもある。
"とかは「実体参照」というので、これらを道具にB先生と話してみてはどうか。
0591nobodyさん
2011/10/19(水) 21:52:35.39ID:???エスパーすると
> B先生は、" の中で " は使えないから ' を使いなさい、と言っていました
が
B先生は、HTMLの" の中で " は使えないから ' を使いなさい、と言っていました
と予想。
× <input type="text" value="\"">
○ <input type="text" value='"'>
○ <input type="text" value=""">
だが
× <input type="text" value='''>
○ <input type="text" value="'">
○ <input type="text" value="'">
でもある。
"とかは「実体参照」というので、これらを道具にB先生と話してみてはどうか。
0592nobodyさん
2011/10/19(水) 22:04:14.12ID:???最終的には自分で判断しないとだめ
>>588
wikipediaを読んでもわからないなら今は諦めたほうがいい
そのうち分かるよ
0593nobodyさん
2011/10/19(水) 22:12:01.67ID:VUkV/Zvl$hogeの文字列「aaa」を「bbb」に置換するとき
$hoge = preg_replace("/aaa/","bbb",$hoge);
としていますが、「aaa+改行」でも同じように置換するにはどうしたらいいでしょうか?
$hoge = preg_replace("/aaa\r\n/","bbb\r\n",$hoge);
を追加するだけでもできますが、これを1行でやりたいと思っています。
0594nobodyさん
2011/10/19(水) 22:13:56.45ID:???http://jp2.php.net/manual/ja/reference.pcre.pattern.modifiers.php
0595nobodyさん
2011/10/19(水) 22:19:33.54ID:zH8RXMin【PHPのバージョン】5.3.6
【質問内容】
for文で別のページへのリンクを記述している場合に、
インデックスとして使っている変数をリンク先に引き継いで表示する方法を教えて下さい。
具体例としては、index.phpで「ナンバー4にジャンプ」をクリックした時にはnext.phpで「ナンバー4」と表示されるようにしたいと考えています。
【index.php】
<?php
for($i = 1; $i <= 10; $i++){
echo '<a href="next.php">ナンバー'.$i.'にジャンプ</a><br/>';
}
?>
【next.php】
<?php
echo '<h1>ナンバー'.$i.'</h1>';
?>
0596nobodyさん
2011/10/19(水) 22:20:17.27ID:YBpJRiZ7mb_convert_kanaを使って
「う゛」
を
「ヴ」
にするにはどうしたらいいでしょうか?
オプションを"CV"にしてもウ゛になってしまいます。
0598nobodyさん
2011/10/19(水) 22:54:10.76ID:???0599nobodyさん
2011/10/19(水) 23:15:34.24ID:???echo '<a href="next.php?no=$i">ナンバー'.$i.'にジャンプ</a><br/>';
<?php
$i = isset($_GET["no"]) ?: "err";
echo '<h1>ナンバー'.$i.'</h1>';
0602nobodyさん
2011/10/20(木) 00:34:59.37ID:???http://php.net/manual/ja/function.mb-convert-kana.php
V 濁点付きの文字を一文字に変換します。"K", "H" と共に使用します。
0603nobodyさん
2011/10/20(木) 00:35:53.30ID:???http://php.net/manual/ja/function.mb-convert-kana.php
V 濁点付きの文字を一文字に変換します。"K", "H" と共に使用します。
0605nobodyさん
2011/10/20(木) 02:10:26.74ID:???様々なプロトコル(ローカルファイル、HTTP、FTP等)によるデータの入出力を
同じ方法で扱うための仕組みをPHPではストリームと呼んでいる
echo file_get_contents('/path/to/file'); # ローカルファイルの読み込み
echo file_get_contents('http://www.example.com/file'); # HTTP でダウンロード
echo file_get_contents('ftp://ftp.example.com/file'); # FTP でダウンロード
これが出来るのもストリームのおかげ
http://www.php.net/manual/ja/wrappers.php
0606nobodyさん
2011/10/20(木) 02:23:45.32ID:???$hoge = preg_replace("/aaa/","bbb",$hoge);
これだけで望む結果が得られない理由がわからないので、例をお願いします。
少なくとも>>593だけじゃsオプションがどうとかいう話はまるで的外れなので…
0607nobodyさん
2011/10/20(木) 03:38:53.23ID:L7UL36csどこかのファイルからincludeされているかを
判定する方法を教えて下さい
0608nobodyさん
2011/10/20(木) 03:39:37.61ID:???2段構えしかないだろうね。一度半角カタカナにしてから全角カタカナにする。
$a = "う゛";
echo mb_convert_kana(mb_convert_kana($a, "h", "UTF-8"), "KV", "UTF-8");
0610nobodyさん
2011/10/20(木) 03:55:32.86ID:???realpath($_SERVER['SCRIPT_FILENAME']) === realpath(__FILE__)
0612nobodyさん
2011/10/20(木) 06:40:57.39ID:???0613nobodyさん
2011/10/20(木) 10:13:26.59ID:???難しく考えなくても単純に
$str = str_replace("う゛","ヴ",$str);
でいいと思うんだ
必要なのはそれ一個だけだろう?
0614nobodyさん
2011/10/20(木) 11:08:16.46ID:Pt54gQrOクラス名を変数に入れる必要があります。
<?
class TestClass{
public static function testMethod(){
echo "test";
}
}
$className = "TestClass";
$className::testMethod();
?>
上記だと
T_PAAMAYIM_NEKUDOTAYIMとかエラーが出てしまいます。
これ無理なんでしょうか?
0615614
2011/10/20(木) 11:10:05.49ID:Pt54gQrO【OS名】CentOS
【PHPのバージョン】5.2
です。
0617nobodyさん
2011/10/20(木) 11:44:31.93ID:???じゃないかな
0619nobodyさん
2011/10/20(木) 12:23:57.31ID:???そう簡単に諦めるな
http://php.net/manual/ja/function.call-user-func.php
0620nobodyさん
2011/10/20(木) 17:10:24.99ID:???0621nobodyさん
2011/10/20(木) 17:58:14.60ID:???{
$cnt=$ini;
return function()use ($cnt){return ++$cnt;};
}
$a=baka(10);
echo $a();
echo $a();
とやっても11 11と出力されていくだけで12 13みたいに繰り上がりません
教えてください
0622nobodyさん
2011/10/20(木) 18:22:26.47ID:???useで使う変数の前に&を付けて明示的に参照にしてやる必要がある
function createCounter($init) {
return function () use (&$init) { return ++$init;};
}
$counter = createCounter(10);
echo $counter(),PHP_EOL;
echo $counter(),PHP_EOL;
echo $counter(),PHP_EOL;
0623nobodyさん
2011/10/20(木) 18:24:49.35ID:???0624nobodyさん
2011/10/20(木) 19:34:55.02ID:???まあ、Cで書けば圧勝なんだけどさ。
0625nobodyさん
2011/10/20(木) 19:44:19.08ID:1ugFMr1j【PHPのバージョン】5.3.6
【質問内容】
YahooのフリーメールにPHPからメールが送れなくて困っているのですが、
POP before SMTPという方法でやろうとしても上手くいきません。
何処が悪いのか教えて頂けますでしょうか?
-------------------------------------------------------------
■php.ini
[mail function]
SMTP = smtp.mail.yahoo.co.jp
smtp_port = 587
sendmail_from = ユーザー名@yahoo.co.jp
-------------------------------------------------------------
※続きます。
0626nobodyさん
2011/10/20(木) 19:44:52.29ID:1ugFMr1j-------------------------------------------------------------
■hoge.php
<?php
$fp = fsockopen ("pop.mail.yahoo.co.jp", 110, $errno, $errstr, 30);
if (!$fp) {
echo "Error msg in fsockopen is $errstr ($errno)<br>\n";
}
else {
fputs ($fp, "ユーザー名\r\n");
fputs ($fp, "パスワード\r\n");
fputs ($fp, "QUIT\r\n");
fclose($fp);
}
mb_internal_encoding("UTF-8");
mb_send_mail($to, $subject, $msg, 'From:' . $email);
?>
-------------------------------------------------------------
■結果
メールは送れず、エラー。
SMTP server response: 530 Sorry, please use SMTP-AUTH instead
-------------------------------------------------------------
宜しくお願いします。
0628nobodyさん
2011/10/20(木) 20:56:25.64ID:???0629nobodyさん
2011/10/20(木) 20:57:58.80ID:1ugFMr1jelse {
fputs ($fp, "mohiojp\r\n");
fputs ($fp, "rinmaru\r\n");
echo fgets ($fp,128);
fputs ($fp, "QUIT\r\n");
fclose($fp);
}
としたところ、
+OK hello from popgate(2.35.19)
と出力されましたが、状況は変わりません。
0630nobodyさん
2011/10/20(木) 21:02:04.08ID:???0631nobodyさん
2011/10/20(木) 21:13:28.36ID:???コネクション時とコマンド送信毎に応答を受け取らないと先に進まないよ。
こんな↓感じ。
http://www.atmarkit.co.jp/fnetwork/rensai/tcp04/hyou1.html
詳細はRFC1939まで。
0632nobodyさん
2011/10/20(木) 21:23:06.87ID:1ugFMr1j■ソース
else {
fputs ($fp, "USER ユーザー名\r\n");
echo fgets ($fp,512) . "<br />";
fputs ($fp, "PASS パスワード\r\n");
echo fgets ($fp,512) . "<br />";
fputs ($fp, "STAT\r\n");
echo fgets($fp, 512) . "<br />";
fputs ($fp, "QUIT\r\n");
echo fgets($fp, 512) . "<br />";
fclose($fp);
}
■出力
+OK hello from popgate(2.35.19)
+OK password required.
+OK maildrop ready, 1 message (2155 octets) (80554561)
+OK 1 2155
一応、この状態でメールを受け取ったらやはり1通来ましたので、
ログインはできていそうな感じなんですが…。
0633nobodyさん
2011/10/20(木) 21:24:52.87ID:1ugFMr1j「パスワードが必要です」ってことで、間違ってるんですかね…。
0634nobodyさん
2011/10/20(木) 21:30:04.34ID:1ugFMr1jいなかったので、そちらも受け取るようにしたら↓になりました。
※メールは送れていませんが…。
+OK hello from popgate(2.35.19)
+OK password required.
+OK maildrop ready, 1 message (2159 octets) (80554565)
+OK 1 2159
+OK server signing off.
0635nobodyさん
2011/10/20(木) 21:38:39.35ID:???あと>>629の
>fputs ($fp, "mohiojp\r\n");
>fputs ($fp, "rinmaru\r\n");
これ大丈夫なのか?w
0636nobodyさん
2011/10/20(木) 21:43:46.71ID:1ugFMr1jうぎゃぁぁ!
気を付けていたつもりだったんですが…。
パスワード変えました。
ご指摘ありがとうございます…!
0637nobodyさん
2011/10/20(木) 22:08:29.89ID:???0640nobodyさん
2011/10/20(木) 22:29:06.95ID:1ugFMr1jアドバイス有難うございます。
とりあえず↓のようにしてみましたが、動作は変わりませんでした。
意味もわからず挟んでみたの状態なので、ini_set()について
調べてみます。
fclose($fp);
ini_set('SMTP', "smtp.mail.yahoo.co.jp");
mb_internal_encoding("UTF-8");
mb_send_mail($to, $subject, $msg, 'From:' . $email);
0641nobodyさん
2011/10/20(木) 22:33:59.60ID:???0642nobodyさん
2011/10/20(木) 22:59:06.51ID:V3iH/iKbmysqlにこのような文字列が入ってます
「AAA
」
↑これ(AAA+改行5つ)をPHPで表示するとAAAだけ表示され、改行が消えてしまいます
最後の改行まですべて表示させることはできないのでしょうか?
0643nobodyさん
2011/10/20(木) 23:01:33.34ID:1ugFMr1jSMTP-AUTHの場合、
ttp://www.codewalkers.com/c/a/Email-Code/Smtp-Auth-Email-Script/
の内容で試したのですが、最終的なメール送信の所で
451 See http://pobox.com/~djb/docs/smtplf.html
というエラーで詰まってしまっていました。
なかなか難しくて簡単にはできなかったので、POP befor SMTP の方が
簡単なのかな?と思ってこちらで進めている状態でした。
元々YahooのフリーメールにはPOP befor SMTPの方法では送信出来ない
ということだったのでしょうか?
0644nobodyさん
2011/10/20(木) 23:09:42.58ID:???注意
メールの送信は、新着メールの「受信」後、インターネットへの接続を
切断せずに行ってください。送信前に接続を切断した場合は、再度接続して
メールの受信を行い、続いて送信を行ってください。
ってYahooに書いてあるんだけど、POP3でログアウトする前にメール送信する仕様じゃね
0645nobodyさん
2011/10/20(木) 23:15:34.07ID:???改行コードが半角スペースになってしまいます
ttp://oshiete.goo.ne.jp/qa/1423513.html
0646nobodyさん
2011/10/20(木) 23:18:28.43ID:1ugFMr1jPOPのQUITの前に送信を持って行ってみましたが、エラーは変わらず
SMTP server response: 530 Sorry, please use SMTP-AUTH instead
でした。
ini_set('SMTP', "smtp.mail.yahoo.co.jp");
ini_set("smtp_port", 587 );
mb_internal_encoding("UTF-8");
mb_send_mail($to, $subject, $msg, 'From:' . $email);
fputs ($fp, "QUIT\r\n");
echo fgets($fp, 512) . "<br />";
fclose($fp);
0647nobodyさん
2011/10/20(木) 23:22:22.10ID:???phpのmb_send_mailでyahooメールだけ、メールが届かない問題
ttp://www.gucch.net/web/php%E3%81%AEmb_send_mail%E3%81%A7yahoo%E3%83%A1%E3%83%BC%E3%83%AB%E3%81%A0%E3%81%91%E3%80%81%E3%83%A1%E3%83%BC%E3%83%AB%E3%81%8C%E5%B1%8A%E3%81%8B%E3%81%AA%E3%81%84%E5%95%8F%E9%A1%8C/
0649nobodyさん
2011/10/20(木) 23:36:56.79ID:V3iH/iKbありがとうございます。しかし
「AAA
BBB
」
これだとAAAとBBBの間の改行はちゃんと表示されるのですが、BBB以降の改行が表示されないのです。
nl2brでも結果は同じです。最後まで改行を表示させるにはどうしたらいいでしょうか?よろしくお願いします。
0650nobodyさん
2011/10/20(木) 23:38:56.47ID:1ugFMr1jSMTP-AUTHではqdmailというライブラリを使って無事に送信できました。
$ver = & new という記述を $ver = new に置換する必要があったくらいでした。
皆さんも色々と調べて頂きましたが、
「YahooのフリーメールはPOP befor SMTP の方法ではメール送信できない」
という事で一旦納得ようと思います。
メールは送れましたし、popサーバにもつないだり、勉強にもなりましたので。
皆さん、親切に対応して下さって本当に有難うございました!
0653nobodyさん
2011/10/20(木) 23:57:59.66ID:V3iH/iKbいえ、trimは真っ先に調べました。
htmlspecialcharsすらしてないです。
0654nobodyさん
2011/10/21(金) 00:06:54.74ID:???ブラウザのtextareaが無駄な改行コードを消してるんじゃね
データベースに送らずに、まずフォームデータをPOSTして表示してみて
ところで、MySQLの管理ソフトを使って、データベース内のデータを確認をしてないっしょ
0656nobodyさん
2011/10/21(金) 00:23:41.77ID:???SQL中でもtrimしてない?(selct trim('〜') from 〜)
ソース晒さないとそれ以上は誰にもわからんよ
0657nobodyさん
2011/10/21(金) 00:46:38.36ID:???を数えたいのですが、どうすれば良いでしょうか?
0658nobodyさん
2011/10/21(金) 00:52:01.90ID:uhnPfxzbGmailのSMTP認証に使うユーザーが送信者になっちゃうんだけど
別途FromやSenderを定義しても無視されちゃう
どうすれば送信者を設定できますか?
0659nobodyさん
2011/10/21(金) 01:14:18.36ID:???http://php.net/manual/ja/function.mb-strlen.php
0660nobodyさん
2011/10/21(金) 01:33:06.70ID:???0661nobodyさん
2011/10/21(金) 01:37:35.81ID:???実質このスレしか機能してないんだし
0662nobodyさん
2011/10/21(金) 02:38:07.77ID:???0663658
2011/10/21(金) 03:59:36.92ID:???0664nobodyさん
2011/10/21(金) 06:09:06.81ID:???0665nobodyさん
2011/10/21(金) 07:30:16.98ID:???PHPプログラマ〜のお姉さんだよぉ〜
今日はどんな質問が残ってるのかな?
暇だから質問に答えるよぉ〜
0666nobodyさん
2011/10/21(金) 10:01:58.30ID:???http://hibari.2ch.net/test/read.cgi/prog/1312275688/
「akiyan.com撲滅振興協議会」
http://unkar.org/r/prog/1219967325
「小飼弾撲滅振興協議会」
http://hibari.2ch.net/test/read.cgi/prog/1258970886/
「amachang撲滅振興協議会」
http://hibari.2ch.net/test/read.cgi/prog/1291518728/
0667nobodyさん
2011/10/21(金) 18:42:01.75ID:???$test = 'test';
if (isset($test['abc'])){
echo 'key abc exists';
}
abcというキーは存在しないのでif内は実行されないことを期待したが違った!実行される!
var_dump($test['abc']); してみると't'と出る。どうやら1文字目が出るようだ。
一体どういうことなのか解説いただける方希望…
0669nobodyさん
2011/10/21(金) 19:27:03.80ID:???文字列に対してキーに文字列指定すると
文字列をintに変換するとかそんな感じ
0670nobodyさん
2011/10/21(金) 19:50:54.75ID:???何言ってんの?w
0671nobodyさん
2011/10/21(金) 19:54:24.52ID:???http://www.php.net/manual/ja/language.types.string.php
の中ほど「文字列への文字単位のアクセスと修正」を読め
あとID出せ
0672nobodyさん
2011/10/21(金) 20:10:58.69ID:???'abc'を数値として評価すると0になるという話。んで、これはそういう仕様。
$test[0]の結果が't'となることが理解できないのなら>>671
>>670は頭がおかしい
0674nobodyさん
2011/10/21(金) 21:29:13.44ID:???0675672 != 669
2011/10/21(金) 23:25:23.91ID:???それを>>670で書いてれば最後の行を書いてなかったと思う
0676669
2011/10/21(金) 23:28:32.72ID:???ID出してないしちょっと濁した回答にしたんだが
0677nobodyさん
2011/10/21(金) 23:41:05.74ID:???phpで飯食ってる奴はどれくらい覚えてるもんなの?
0678nobodyさん
2011/10/21(金) 23:44:20.55ID:???別に責めているわけじゃない
どうでもいい
0680nobodyさん
2011/10/22(土) 00:11:37.27ID:???0681nobodyさん
2011/10/22(土) 00:49:28.90ID:???0682nobodyさん
2011/10/22(土) 02:39:50.63ID:???0683nobodyさん
2011/10/22(土) 03:01:26.76ID:???これが俺様の生き方だ
0684nobodyさん
2011/10/22(土) 03:56:02.35ID:f9N011rI同じように、関数を読み込む時、その関数が無い時、別ファイルをincludeして外部ファイルに記述してある関数を呼び出すにはどうしたらよいのでしょうか
0685nobodyさん
2011/10/22(土) 09:30:15.00ID:???0687nobodyさん
2011/10/22(土) 09:55:53.68ID:???>>1
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
■ このスレッドは過去ログ倉庫に格納されています