【PHP】下らねぇ質問はID出して書き込みやがれ 115
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/01/20(金) 05:43:23.62ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 114
http://kohada.2ch.net/test/read.cgi/php/1325437405/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0563nobodyさん
2012/02/14(火) 05:20:47.07ID:???> blue(''$file
シングルクォートが2個らしいよこれ
なもんで、HTMLエラーじゃないと思う。なもんで>>559
0564nobodyさん
2012/02/14(火) 05:32:22.93ID:???よく気づいたな
ヒント:
エスケープ
PHPの文字連結はドット
0565nobodyさん
2012/02/14(火) 10:32:18.76ID:VUGkLJ/d0566nobodyさん
2012/02/14(火) 13:09:24.88ID:???0568nobodyさん
2012/02/14(火) 14:54:11.43ID:Tk30SVBqhttp://phpjavascriptroom.com/?t=php&p=apachephpwindows7
のインストール部分をC直下ではなくD直下に変えて他はそのままにして下記のプログラムを実行しました
<?php
phpinfo();
?>
何故でしょうか
0569nobodyさん
2012/02/14(火) 15:05:52.59ID:???ずっと下の方の
LoadModule php5_module "C:\PHP\php5apache2_2.dll"
AddType application/x-httpd-php .php
この2つがあればそんな風にはならん。
Apache再起動したか?
0570nobodyさん
2012/02/14(火) 15:13:14.59ID:Tk30SVBqはい、再起動しました
0571nobodyさん
2012/02/14(火) 15:17:14.51ID:???0572nobodyさん
2012/02/14(火) 15:28:56.61ID:Tk30SVBq解決しました
Control Apache Server→Restart/start/stop のRestart/Stopが正常に動作していなかったようです
1回Windowsごと再起動してからもう1度起動するとできました
お騒がせしました
0573nobodyさん
2012/02/14(火) 18:54:42.00ID:VUGkLJ/d''→'.
''→.'
こうか
0574nobodyさん
2012/02/14(火) 18:58:30.06ID:???0575553
2012/02/14(火) 20:00:27.18ID:???「結果」は理由じゃないんだよ。
$iが定義されてないから
と
$iが定義されてないからNULLの値を見せる
は別なの
0577553
2012/02/14(火) 21:01:40.14ID:???0578nobodyさん
2012/02/14(火) 21:09:05.47ID:???0580553
2012/02/14(火) 22:40:54.39ID:???そういう風に詰めていくならもともとの質問は「エラーが出る」しか言ってないんだから、
NULLだという指摘は、<結果的にそれが原因>という可能性の一つになるだけ。
$iが(引用行外で)定義済みなら、NULLが入っているか、型が違ってるか、$iがarrayならそれがNULLではなくて
空か、ということが考えられる。他方$iがどこでも定義されてないなら定義してないからだ(NULLは単なる結果)、
という風になる。
なお578は論外の売り言葉買い言葉にすぎない。
0581nobodyさん
2012/02/14(火) 22:43:48.45ID:???何言ってんだwごまかしてるだけだろwワロタw
0582nobodyさん
2012/02/14(火) 22:46:29.54ID:???http://jp2.php.net/manual/ja/language.types.null.php
NULL
特別な NULL 値は、ある変数が値を持たないことを表します。NULL は、NULL 型の唯一の値です。
変数は、以下の場合に NULL とみなされます。
■定数 NULL が代入されている場合。
■まだ値が何も代入されていない場合。
■unset() されている場合。
はい残念
0583nobodyさん
2012/02/15(水) 00:09:17.17ID:???echo '<script type="text/javascript">';
echo 'alert("hello world 2012")';
echo "<\/script>";
?>
エラーになるますどうしたらいいですか?
0586nobodyさん
2012/02/15(水) 02:50:37.77ID:???もうね、俺は本当にどうだっていいんだけど、これをみて$iにもっていく勇気が俺にはないだけなんよ。
> echo $date_after[$t].'<br>';//エラーが出る
0587nobodyさん
2012/02/15(水) 05:27:01.38ID:x/xi+W4J//ファイルの取り出し
$file_name=$_FILES['filename']['name'];
//一時ファイル名の取り出し
$temp_name=$_FILES['filename']['tmp_name'];
// 保存先のディレクトリ
$dir = 'uploads/';
// 保存先のファイル名
$upload_name = $dir.$file_name;
// JPEG形式、GIF形式のファイルをアップロードする
// アップロード(移動)
$result = move_uploaded_file($temp_name, $upload_name);//これがないと失敗
echo ($result)?'アップロード成功':'アップロード失敗';
?>
<img src="<?php echo $upload_name; ?>">
において、全く同じ時間に画像アップロードした場合は
どうなるのでしょうか?
また、画像のファイル名をdate関数で作成したときなどは
どうなるのでしょうか?
0588nobodyさん
2012/02/15(水) 05:29:24.65ID:???ファイル名がかぶる可能性があるなら
連番で振るとか
すでに存在していたら画像の後ろに数字をつけるとか
いろいろ方法はあるでしょう
0589nobodyさん
2012/02/15(水) 05:55:11.81ID:x/xi+W4Jわかりました。
今、画像アップローダー作ってるのですが(6割ほど完成)
jpg、pjpeg、gif、png、bmpだけに対応でいいですかね?
0590nobodyさん
2012/02/15(水) 06:01:50.75ID:???0591nobodyさん
2012/02/15(水) 09:55:27.24ID:GiPiqyn4定義しない限りNULLは返らないと思っていたのですが
定義しなくてもNULLが返ってくるというのはどういう場合ですか?
0592nobodyさん
2012/02/15(水) 10:17:02.48ID:???0593nobodyさん
2012/02/15(水) 21:37:22.21ID:???ずっとutf-8を使っていたのですが、
GDでの画像描画がutf-8だとうまくいかなかったので
(エラーも何も表示されない)
はじめてutf-8nを使ってみました。
•一般的に、PHPは8nで書いたほうが良いのでしょうか?
•逆に、8nを使うことで発生するトラブルはあるのでしょうか?
0596593
2012/02/15(水) 21:55:40.37ID:5iudVdKB>>594
まじすか。
なんでだろう…
PHP5.3.8でGD2.0.34。
以下のコードをTeraPadのUTF-8で保存するとページ真っ白
UTF-8Nで保存すると意図通りの四角が出ます。
<?php
Header ("Content-type: image/png");
$image = imagecreate(50, 50);
$shikaku = imagecolorallocate($image, 0, 0, 0);
imagepng($image);
imagedestroy($image);
?>
0598593
2012/02/15(水) 22:19:48.19ID:???>>597
レスありがとう。
最初にsage忘れたせいでややこしくて申し訳ないんだけど、
BOMのせいでページが真っ白だった、というのは理解できています。
知りたいのは、
•もうPHP書くときはずっとutf-8n使った方が幸せになれるか
•>>594はどうしてutf-8で使えたのか
です。
0600593
2012/02/15(水) 22:24:04.09ID:5iudVdKB本 当 に 申し訳ありません…
>>593 •>>596 です。
>>597
レスありがとう。
最初にsage忘れたせいでややこしくて申し訳ないんだけど、
BOMのせいでページが真っ白だった、というのは理解できています。
知りたいのは、
•もうPHP書くときはずっとutf-8n使った方が幸せになれるか
•>>594はどうしてutf-8で使えたのか
です。
0601nobodyさん
2012/02/15(水) 22:27:49.65ID:???0602nobodyさん
2012/02/15(水) 22:34:15.78ID:???質問の回答になっているけど、UTF-8Nという呼称自体が元々日本独自の呼称で
最近その日本でもほとんど使用されなくなってきていることから
一般的にUTF-8と言った場合はBOM無しを指すという業界の共通認識があるので
>>594はBOM無しのUTF-8を指していると思うよ。
あと1つ目の質問だけど今時はBOM有りに何らメリットはないのでBOM有りのことは忘れよう。
0603593
2012/02/15(水) 22:42:20.59ID:5iudVdKB>>601 >>602
回答本当にありがとう!
TeraPadのデフォ設定ばっちり変更しました。
さよならBOM。
無駄にレス消化しちゃってごめんね。
解決できて感謝してます。
0604nobodyさん
2012/02/16(木) 02:36:52.86ID:???0605nobodyさん
2012/02/16(木) 04:18:49.73ID:???0606nobodyさん
2012/02/16(木) 05:03:04.18ID:???0607nobodyさん
2012/02/16(木) 06:14:28.88ID:???0608nobodyさん
2012/02/16(木) 07:48:03.60ID:UroJIk1P最近PHPを勉強しはじめたばかりです。ある書籍を使って学んでいます。
ttp://pastebin.com/Y1mU93jq
上記サイトにソースをコピーしました。
DBから商品リストを取得する際に、5カラムごとに表示させるというものですが、
一応問題なく動きます。ですが、index.phpにそのまま入るとエラーで
Notice: Undefined index: page in D:\xampp\htdocs\shop\index.php on line 3
と、出ます。原因は想像がつくのですが対処法がわかりません。書籍のサンプルを実行したところ
同様のエラーがでていまして。。。
お手数ですが、どうのようにすれば良いのでしょうか?
0609nobodyさん
2012/02/16(木) 07:53:32.53ID:???フォームから、0216 または 2/16 と入力されるデータを
02/16に統一したいんですが、どんな関数を使ったらいいんでしょうか?
str_replace とか preg_match とか、いろいろありすぎてよくわかりません。
springf で %d を使ってみたのですが、スラッシュ以降が捨てられてしまいました。orz
一文字ずつ文字か数字か調べて、二文字目にスラッシュがでてきたら、最初にゼロを加えて・・・
みたいな処理を書いてもいいんですが、PHPなら一発でやってくれる関数がありそうですよね。
どなたかご存知でしたら教えてください。よろしくお願いします。
0610nobodyさん
2012/02/16(木) 07:58:11.14ID:???$page = '';
if (isset($_REQUEST['page'])) {
$page = $_REQUEST['page'];
}
もしくは
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : '';
0613608
2012/02/16(木) 08:10:51.64ID:UroJIk1P>>612
返信ありがとうございます。
なるほど・・・。if分と初期化までは浮かんだのですが、$pageじゃなくてpageだしなぁ・・・と考え込んでました。
さっそく試したらばっちりでした。ありがとうございました!。
xamppだめですか; 安全性とかからでしょうか?。。。
0614nobodyさん
2012/02/16(木) 08:22:39.74ID:???Undefined index〜ってエラーは配列のキーの値が見つからなかった時によく見るエラーだから覚えとくといい
Noticeだから人によっちゃエラーリポートをきって無視するって人もいるが
>>610のissetで最初にチェックする対処法が王道
0615609
2012/02/16(木) 08:25:27.77ID:Dbcdet1T0616nobodyさん
2012/02/16(木) 08:28:44.34ID:???ローカルでテストする分には問題ないよ
0617nobodyさん
2012/02/16(木) 08:30:59.90ID:???/を除去してsprintf %04dして最後に真ん中に / 付ければいいんじゃない?
もっと簡単な方法があるかは知らんけど
0618nobodyさん
2012/02/16(木) 08:34:59.14ID:+jbHYpFg$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : '';
この?と:ってどういう意味ですか?
0619nobodyさん
2012/02/16(木) 08:35:48.18ID:???0620608
2012/02/16(木) 08:44:05.91ID:UroJIk1P評価の高かった書籍だったので(ほかの書籍は実は途中で挫折)購入してやってみると
phpっておもしろいなぁと初めて思えていますw
聞いて良かったです。書籍の答えもエラーなので放置してる人もいそうですが、気持ち悪かったもので;
本当にありがとう。
xamppはローカルのみなので大丈夫かな。ありがとうございました。
0622608
2012/02/16(木) 08:58:51.66ID:UroJIk1Pそういえばxampp設定時にiniを触りましたね。。。てことは、デフォルトでは切れてたのか・・・。
なるほど、すごく納得しました。
ありがとう、連投すいません。
0623nobodyさん
2012/02/16(木) 09:08:57.78ID:???0624608
2012/02/16(木) 09:15:50.47ID:UroJIk1P私?別人です。
0625nobodyさん
2012/02/16(木) 09:20:25.11ID:Dbcdet1Tありがとうございます。それでやってみます!
0626625
2012/02/16(木) 09:22:23.87ID:Dbcdet1T最初に スラッシュを取り除くと、 1/27 と 12/7 の区別がつかなくなってしまうんです。
入力する人たちに統一してもらえたらいいんですが・・・。
0627nobodyさん
2012/02/16(木) 09:26:37.06ID:???0628nobodyさん
2012/02/16(木) 09:30:16.32ID:+jbHYpFgへえ、そういう記法があったのですね。ありがとうございます。
0629nobodyさん
2012/02/16(木) 09:35:11.87ID:???0631nobodyさん
2012/02/16(木) 13:02:15.76ID:???スラッシュつきを先にやれば問題ないでしょ。
あと環境かいてないから提供されてる関数については教えられず。
0632nobodyさん
2012/02/16(木) 13:33:51.23ID:RNA+7C4LcsvA
hoge@hoge.com,田中太郎
hoge2@hoge2.com,山田花子
hoge3@hoge3.com,鈴木太郎
csvB
hoge@hoge.com
hoge3@hoge3.com
と、2つのCSVがあるとして
phpを実行すると
csvC
hoge@hoge.com,田中太郎
hoge3@hoge3.com,鈴木太郎
というようにcsvBに一致する行を抽出して別csvに保存出来る物を作りたいです
どうすれば出来ますでしょうか?
お願いします
0633nobodyさん
2012/02/16(木) 13:43:19.73ID:???foreachで回して適合したヤツを別の配列Cにぶち込んで
配列Cをcsvで吐き出すかんじか
DBつかったほうがサバに優しいと思う
0634nobodyさん
2012/02/16(木) 13:58:17.91ID:???レスありがとうございます
一度試してみます!
ローカル環境で使用するつもりなのでphpで行いたいと思います
0635nobodyさん
2012/02/16(木) 14:11:37.35ID:???すぐ慣れるしできることが広がる
0636nobodyさん
2012/02/16(木) 14:14:14.01ID:2CwemWqC0637nobodyさん
2012/02/16(木) 14:23:58.88ID:RNA+7C4L>>636
レス有難うございます
当方php初心者な者で・・・
mysql+phpでinsertくらいは出来るのですが
イマイチ今やりたい事がどうやれば出来るのかがわからないです;
0638nobodyさん
2012/02/16(木) 14:31:36.91ID:???論よりrunっていうじゃん
とりあえずコード書いてみて動かなければスレ住人がアドバイスくれると思う
丸投げなら5000円でやってあげなくもない
0639nobodyさん
2012/02/16(木) 15:07:23.79ID:kcwNwXq8なるほど。strposでスラッシュを探して、ありやなしやで処理を変えて
strtotimeとdateあたりで、できそうですね。ありがとうございました。
0640nobodyさん
2012/02/16(木) 15:08:59.12ID:kcwNwXq80641nobodyさん
2012/02/16(木) 15:09:33.74ID:???いったん全部同じフォーマットにしてしまうという方法もある。
数値型にしてしまうとか、日付型にしてしまうとかね
0642nobodyさん
2012/02/16(木) 15:12:07.26ID:ySUB6ST30643nobodyさん
2012/02/16(木) 15:18:32.11ID:???$b = file("b.csv",FILE_IGNORE_NEW_LINES);
$fp = fopen('c.csv', 'w');
foreach(file("a.csv") as $var){
$l=str_getcsv($var);
if(in_array($l[0],$b))fputcsv($fp, $l);
}
fclose($fp);
0644nobodyさん
2012/02/16(木) 16:09:17.55ID:???ぶちゅーぶりぶり
0645633
2012/02/16(木) 18:14:40.57ID:RNA+7C4Lありがとうございます;;
助かりました
0646nobodyさん
2012/02/16(木) 18:22:00.74ID:???0648nobodyさん
2012/02/16(木) 18:47:40.34ID:???0649nobodyさん
2012/02/16(木) 21:29:38.02ID:???0650nobodyさん
2012/02/17(金) 07:27:18.28ID:uCAZxDKu今回も同じような質問で恐縮なのですが、Notice: Undefined index〜エラーが連発しました。
元ソースです ttp://pastebin.com/JcAYvrmH
エラ− Notice: Undefined index〜 line 36 37 45 46 54 55
そこで、昨日教えて頂いたので、自分なりに追記し、エラーを掃かなくなりました。
4行目と27行目に追加 ttp://pastebin.com/F3xP74Yx
この書き方で良いのでしょうか?
少し疑問に思ったのは、今回のような場合の大きいフォームの時に、冒頭に多数の配列のキーを書いていくことになるのでしょうか?
他に方法があるのでは?と、ご教授願いたく質問させて頂きました。
よろしくお願いします。
0652650
2012/02/17(金) 07:34:52.02ID:uCAZxDKu返信ありがとうございます。
マニュアルは、はい、一応見てはいます。見てはいるんですが、なかなか理解が。。。
それで、別のブログ?とかで説明して頂いてるようなサイトも見たり。
理解が乏しくてすいません。
0653nobodyさん
2012/02/17(金) 07:38:07.95ID:???それで手を抜いてマニュアル読まないようじゃ、本末転倒だと思うよ
0654650
2012/02/17(金) 08:03:12.13ID:uCAZxDKu返信ありがとうございます。
あの、とても質問しにくいのですが、
マニュアルとはarrayについてなのでしょうか、それとも、追記のそのものが違うということなんでしょうか。
arrayは、キーが整数ならば多少の省略ができるみたいですが、文字列となると単純には難しい感じなのかな。
連想配列のキーが何であっても空を入れるような・・・というより$errorはキーさえも入ってない状況?だから
どうでにもできないのかな?
とマニュアルを見て思いました。
0655nobodyさん
2012/02/17(金) 08:11:36.95ID:???>>650
$error = array('name' => '', 'email' => '', 'password' => '');
これ入れると22行目で常に空じゃなくっていつまでも確認ページにジャンプされないんじゃない?
俺なら先頭に
$data = array('name' => '', 'email' => '', 'password' => '');
// $_POSTからname email passwordがあれば入れる
foreach (keys($data) as $key) {
if (isset($_POST[$key])) {
$data[$key] = $_POST[$key];
}
}
でそれより下の$_POSTを全部$dataに置き換えする
0656nobodyさん
2012/02/17(金) 08:18:41.12ID:???PHPの公式マニュアルは難しい参考書や問題集ではなく、入門向けの基礎ドキュメントになってる。
「はじめに〜機能」まではPHP開発者なら当然抑えておくべき知識。上級者でなく初心者のね。
最低限「はじめに〜言語リファレンス」までは理解していないと質問の会話も通じないし既存サンプルコードも理解できない。
読んで基礎を身に着けてから開発したほうがいいよ。
(一通りとかじゃなくて、ちゃんと理解して)
0657nobodyさん
2012/02/17(金) 08:19:04.20ID:???関数リファレンスは、最低限主要な関数くらいは見ておいたほうがいい
0658nobodyさん
2012/02/17(金) 08:19:39.49ID:???フォーム関係だと、値を確認しないと危ないからどうしても長くなるよ
0659650
2012/02/17(金) 08:46:33.43ID:uCAZxDKu>>655
ご指摘どおり動きませんでした。
エラーが消えて喜んでいたので、このまま参考書通り進めていったら気がつかなかったと思います。
たぶんエラーが消えたので、その箇所が問題だと疑問に思ってなかったと思うのです。
ぜひ参考にさせて頂こうと思います。foreachは浮かんだのに、そこからが出て来ないという。
>>656-658
あー、見てないです・・・知らなかったです。辞書のようなものだと思って
検索エンジンから関数入力して、直接その関数だけのを見てました。
トップページ見たことなかったです。。。
これは、嬉しい。必ず見て理解しながら、今の参考書をやろうと思います。
稚拙な質問ですいませんでした。ほんとにありがとうございました。
0660nobodyさん
2012/02/17(金) 09:23:09.19ID:???俺は657-658だけど、ぶっちゃけ書籍とかいらない。
情報古いし誤記はあるし公式マニュアルの方が詳しいし。
今回みたいなことが発生する度にここで質問してたら一向に先に進まないから
基礎を身に付けてある程度自分で考えたり調べられるようになったほうがいいよ
0661nobodyさん
2012/02/17(金) 10:15:08.87ID:???実際にサイトに設置するスクリプト書いた時直せばいい
■ このスレッドは過去ログ倉庫に格納されています