【PHP】下らねぇ質問はここに書き込みやがれpart17
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/02/24(金) 22:05:48ID:YHkZgU8bここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/l50
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/l50
過去スレは>>2
0022nobodyさん
2006/02/25(土) 19:38:30ID:???例えば書評サイトを作るとしよう
・書籍名 :(さるでもわかるPHP)
・ジャンル:(ぱそこん)
・作家名 :(曾英知)
・出版社 :(PHP出版)
・書評 :(わからん)
・満足度 :(38%)
とソフトかなんかにカッコ内だけ記入してアップロードしたら
かってに
・ジャンルごとに固めて五十音順にならべるてページ作ってくれる
・ジャンルごとに固めて満足度順に並べてページつくってくれる
とかしてくれるようにしたいんだけど
HTMLやCSS以外に何を勉強したらできるようになるのか教えてください、
正直本屋いってもプログラム言語が多すぎてさっぱりわからない
blog使えばいいじゃねーかとか言われてもブログのデザインって
使いにくいしダサいし
002322
2006/02/25(土) 19:40:45ID:???これは難しいのか、簡単なのか、全く知識が無い者が
簡単にできるものなのか?てのも教えてください。
0024nobodyさん
2006/02/25(土) 19:44:40ID:???ここはPHP言語スレだからPHPを使え
0025nobodyさん
2006/02/25(土) 19:52:55ID:???0026nobodyさん
2006/02/25(土) 19:55:42ID:???俺は>>22がここを「PHP板・総合くだ質スレ」だと思ってることのほうが気になる。
0027nobodyさん
2006/02/25(土) 20:03:49ID:???PHPスレに来てこの発言とは、PHPを使えと言って欲しいだけのMと見た。
002922
2006/02/25(土) 21:25:21ID:???俺のプログラム言語の認識
WEBプログラミング
JavaScriput→なんかサイトの見栄えをうざくするやつ
CGI→カウンターとかつくるやつ
PHP→なんでもできるうえにかんたん
mysql→なんかデータベースつくるソフト、phpで記述する?
他のぷろぐらむ言語
basic→中学んころやったけどよくわからん
c→大学でやったけどカレンダーのプログラム難しくてつくれなかった
だからここで質問したw
やっぱりあきらめろってことかい
003022
2006/02/25(土) 21:31:09ID:???スレ違いでした
0031nobodyさん
2006/02/25(土) 21:38:44ID:???0032nobodyさん
2006/02/25(土) 21:44:29ID:???0034nobodyさん
2006/02/25(土) 22:25:47ID:???0035nobodyさん
2006/02/25(土) 22:49:32ID:???他に書いてあることも駄目ダメだが…
> c→大学でやったけどカレンダーのプログラム難しくてつくれなかった
これがやたらリアルで吹いた。
理解できるまで自分でプログラム書かない方がいいよ。
0036nobodyさん
2006/02/25(土) 22:55:19ID:???正直、お前さんの場合、自分でプログラムを書いてやりたいことをやるよりも、
誰かに書かせられるだけの資金力を身につけた方がてっとり早いかもよ。
0037nobodyさん
2006/02/25(土) 23:36:25ID:???やりたいことをプログラマに伝えられるとは思えん。
>>29のような認識しかしようとしない人には誰もついていかないと思う。
0038nobodyさん
2006/02/25(土) 23:45:42ID:???0039nobodyさん
2006/02/25(土) 23:45:54ID:???中途半端に知識があるヤツは「ここはコレでああしてくれ!」って頼んでくるからマジで面倒くさい。
>>29なら「こういうのが作りたいんだ。やってくれるか?」って行ってくれれば喜んでやるよ。
まぁ、>>29に人間性によるがな。知識はなくても人間性の良いやつには俺は出来るだけ力になりたいよ。
0040nobodyさん
2006/02/26(日) 00:23:56ID:???そういう人は何やっても無駄。
他人に金払って作ってもらったほうがいいよ。
0041nobodyさん
2006/02/26(日) 00:49:05ID:???0043nobodyさん
2006/02/26(日) 04:31:10ID:29iVLzi6$bookdata="
1,本の名前a,発売日,問い合わせ先,\n
2,本の名前b,発売日,問い合わせ先,\n
3,本の名前c,発売日,問い合わせ先,\n
4,本の名前d,発売日,問い合わせ先,\n
5,本の名前e,発売日,問い合わせ先,\n
6,本の名前f,発売日,問い合わせ先,\n
7,本の名前g,発売日,問い合わせ先,\n
";
を
1は本の名前a<br>
2は本の名前b<br>
3は本の名前c<br>
4は本の名前d<br>
・
・
・
という形で表示させたいのですが
どなたか教えてください
explodeを使うのかなぁと思うんですがいまいちやり方わからず・・・
0046nobodyさん
2006/02/26(日) 07:15:27ID:???for ($i = 0 ; $i < count($a) ; $i++) {
$b[$i] = explode("\n", $a[$i]);
echo $b[$i][0] . "は" . $b[$i][1] . "<br>";
}
0047nobodyさん
2006/02/26(日) 10:00:13ID:???0049nobodyさん
2006/02/26(日) 11:02:51ID:???・・・でも、PHPにしろJavaにしろオブジェクト指向開発で難しいのはプログラミングじゃなくって
クラス図とか作るほうだよな('A`)
0050nobodyさん
2006/02/26(日) 11:11:23ID:WBgYvtX2failure notice のエラーが返ってきて送れない人達がいます。
メールアドレスが間違っている or 受信設定でドメイン許可をしないと駄目
だと思っていたのですが、それ以外に @ の前が . (ドット)だと駄目とかありますか?
例 : test.@docomo.ne.jp
0051nobodyさん
2006/02/26(日) 11:33:39ID:???RFC2821の記述を読むと、
. から始まったり
. が連続したり
. で終わったり
するのはマズイんでないかねぇ。自分でも読んでみてちょ。
てか、実際 .@ の場合は多くのMTAが叩き落してた希ガス
0052nobodyさん
2006/02/26(日) 11:48:28ID:???>例 : test.@docomo.ne.jp
RFCに準拠して無いアドレスは、インターネットのメールアドレスとは言えない。
ドキュモの勝手な仕様。
0053nobodyさん
2006/02/26(日) 13:18:31ID:???0054nobodyさん
2006/02/26(日) 13:30:13ID:???一番苦労してるのはネットワーク系の人だろうね。
0055nobodyさん
2006/02/26(日) 13:57:13ID:???0056nobodyさん
2006/02/26(日) 14:05:50ID:???標準で組み込まれてる関数ってPHPで書かれてるんですか?
0057nobodyさん
2006/02/26(日) 14:07:53ID:???0058nobodyさん
2006/02/26(日) 14:18:14ID:???例えばメール関係の関数はこんな感じで書かれている。
ttp://cvs.php.net/viewcvs.cgi/php-src/ext/standard/mail.c?view=markup&rev=1.89
全部のソースを見たいなら、ttp://www.php.net/downloads.php から
Complete Source Code ってのをダウンロードすればいいよ。
0059nobodyさん
2006/02/26(日) 17:32:27ID:izomZemY0062nobodyさん
2006/02/27(月) 09:31:48ID:???0063nobodyさん
2006/02/27(月) 11:33:33ID:???echoやprintでhtmlを出力する時に、
どういった形で出力してますか?
たとえば
echo "<div id=\"a\">\n"
. "<div id=\"b\">\n";
とか、
echo "<div id=\"a\">
<div id=\"b\">
";
とか
echo '<div id="a">
<div id="b">
';
とか
echo <<<EOF
<div id="a">
<div id="b">
EOF;
とかいろいろありますよね。
この書きかたはセキュリティ的に良くないよー
みたいなことは特にありませんか?
0064nobodyさん
2006/02/27(月) 12:01:08ID:???mysq_query()コマンドで行うのでしょうか・・
0065nobodyさん
2006/02/27(月) 12:32:40ID:???長い場合は3つ目。ダブルクォートを気にしなくてすむし。
見やすくするためにEO+識別子を使う。EO_EntryFormとかね。
EOFだとファイルが終わっちゃう感じがするし。
短い場合は1行で収めちゃうね。基準はその時の気分w
0066nobodyさん
2006/02/27(月) 12:51:45ID:???俺はechoやprintではHTMLを出力しないようにしてる。
原則、?>HTML<?php 形式。
必要なケースでは(変数に格納しておきたい場合など)
1.変数が必要で内容が短い→"〜"
2.変数が不要か「.」で繋いだ方がシンプルにまとまって内容が短い→'〜'
3.内容が長い→<<<HTML でヒアドキュメント
って感じ。
0067nobodyさん
2006/02/27(月) 13:22:14ID:nvSEUa/x常識は持っています。
で、趣味で、webサイトを構築するときにcgiかphpを使おうと思っているところです。
簡単に言うとフォームから入力した情報を、index.htmlに反映させて
上書きしていく、というものです。
cgiとPHPどちらがいいものでしょうか?
0069nobodyさん
2006/02/27(月) 13:40:35ID:???CGIでPHPを使うのが両方出来てお得だと思います。
Pascalライクなのがいいなら、Pythonなんかがそんな感じがするが
Webと組み合わせるならPHPは本当に楽だよ。
007067
2006/02/27(月) 14:14:22ID:???PHPを勉強してみます。
0071nobodyさん
2006/02/27(月) 16:04:42ID:???お助けください。。。
// ------------------------------------------------------------
// データ格納
function getData() {
$post = $_POST; // 項目は「氏名(name)」と「目的(mokuteki)」
}
// ------------------------------------------------------------
// エラーチェック
function checkErr() {
if (!$post['name']) {$errmsg .= '<li>氏名が入力されていません。</li>';}
if (!$post['mokuteki']) {$errmsg .= '<li>目的が入力されていません。</li>';}
if ($errmsg) {$errflag = 1;dispErr();} else {return;}
}
// ------------------------------------------------------------
function dispErr() {
// エラーメッセージ表示
echo ('<ul>');
echo ($errmsg);
echo ('</ul>');
die;
}
HTMLのフォームからPOSTされた内容をエラーチェックしたいのですが、
フォームに何も入力しないでSUBMITしても、
エラーチェックにひっかかってくれません。
エラーチェックルーチンではこの他に
if ($post === "") / if ($post == "") / if ($post === NULL)
なども試してみました・・・
007271
2006/02/27(月) 16:12:47ID:sj9CYitM誤)if ($post === "") / if ($post == "") / if ($post === NULL)
正)if ($post['name'] === "") / if ($post['name'] == "") / if ($post['name'] === NULL)
0073nobodyさん
2006/02/27(月) 16:12:57ID:???関数の中でグローバル宣言してやる、もしくは引数として渡してやるかしないとダメだろ。
いずれにしてもgetData()、checkErr()は変だよ。返値ないじゃん。
関数の書き方マニュアルでチェックしてみ。
007471
2006/02/27(月) 16:20:23ID:???レスありがとうございます。
ソースにはカキコした関数以外の部分でglobal宣言しておりました。
とりあえずcheckErr()に$postを渡してみました。
checkErr → checkErr($post);
すると、いままでうんともすんとも言わなかったテスト用のvar_dumpが
反応してくれました(嬉泣)!
ひとまず、ご報告まで。半年ROMって精進します。
007571
2006/02/27(月) 16:31:45ID:???・ getData()内で$postと$errmsgをglobal宣言した
・ getData($post)からはreturn $post;で戻るようにした
・ checkErr()に$errmsgを渡すためにcheckErr($errmsg)と呼び出した
上記の変更で、なんとなく動くようになりました。
さらに改良していきます。
ありがとうございました。
0078nobodyさん
2006/02/27(月) 17:26:50ID:???checkErr($_POST);
0079nobodyさん
2006/02/27(月) 20:00:13ID:j8jIGqNe0080nobodyさん
2006/02/27(月) 20:02:35ID:???0082nobodyさん
2006/02/27(月) 20:04:59ID:j8jIGqNeすいません、詳しく教えてくれませんか?
検索しようにも記号は検索語にならんもんで。。
0083nobodyさん
2006/02/27(月) 20:08:18ID:???ttp://php.s3.to/man/language.operators.comparison.html
0085nobodyさん
2006/02/27(月) 22:02:21ID:APEEDXbIやったこと
→googleで「ファイル分割関数」で検索
→PHPエディタ[スタンドアロン版]に付属のマニュアルchmで検索
関数名さえ教えてもらえば、あとは自分で調べます。
0086nobodyさん
2006/02/27(月) 22:12:02ID:???0087nobodyさん
2006/02/27(月) 22:14:09ID:APEEDXbIすいません書き忘れてました
1.44メガバイトずつに分割したいと考えています。
0088nobodyさん
2006/02/27(月) 22:19:06ID:???0091nobodyさん
2006/02/27(月) 22:49:27ID:???いえ、フロッピーではなく、
今「PCドキュメントダウンローダー」という、auの定額携帯用のツールを作っていて、
DL可能なファイルサイズが、KDDIの仕様で1.5MBまでなんです。
0092nobodyさん
2006/02/27(月) 23:21:55ID:???夜遅くにすみません。
0093nobodyさん
2006/02/27(月) 23:24:21ID:???移動乙
OSとphpのバージョン書いたほうがいいよ
Winっぽいよね・・、winでphpのインストールした事がないなぁ
0094nobodyさん
2006/02/27(月) 23:26:01ID:???googleで
「php windows インストール マルチバイト関数」
で検索したら一発だな
0095nobodyさん
2006/02/27(月) 23:28:34ID:d/u1H5JHあの、ホントいい人ですね。
winです。でも>>94さんが言うように、さっきググったら自己解決できます。きっと。
俺のバカ。
夜遅くにホントすいません。
>>94
愛してます。
俺のバカ。
<引用>
mbstring は拡張モジュールです。
つまり、デフォルトでは 有効にならないということです。
configure スクリプトでモジュールを有効にする必要が あります。
詳細は、インストールの 節を参照してください。
はい、これならできます。ホントありがとうございました。
0097nobodyさん
2006/02/27(月) 23:59:20ID:???そ、そう言われたら。。
php.iniから↓をコメント外したしたところ、無事動作しました。
//ここから
extension=php_mbstring.dll
output_handler = mb_output_handler //これだけは追加しますた。
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none;
//ここまで
おやすみなさい。。
0100正規表現?
2006/02/28(火) 00:01:40ID:DEUM5hM0$str = mb_ereg_replace('\\\\',"\\\\",$str);
$str = mb_ereg_replace('\'',"\\'",$str);
という、データベースに入れるデータを通すための関数が2つあるんですが、
'\\\\',"\\\\"
'\'',"\\'"
この2箇所がどのような文字列についての対策なのかが分かりません...
もし分かる方がいらっしゃいましたら、
おしえてくださいっm(__)m
0101nobodyさん
2006/02/28(火) 00:41:40ID:???漏れは余計な改行が入るのを嫌って全てecho
>>100
単なるクエリのエスケープだと思うが
>$str = mb_ereg_replace('\\\\',"\\\\",$str);
前の\\\\は「\」にマッチしたいが「\\」→「\」の変換が2度行われる為
後の\\\\は「\\」に置換したいが「\\」→「\」の変換が1回行われる為
>$str = mb_ereg_replace('\'',"\\'",$str);
'\''は「'」にマッチさせる為
"\\'"は「\'」に置換させる為
''と""を使い分けている理由に付いては(゚听)シラネ
参照(引用)元がたまたまこの形式で、それをコピペしただけかも知れん。
0102nobodyさん
2006/02/28(火) 00:41:45ID:???0105nobodyさん
2006/02/28(火) 00:46:28ID:C5SJRerwちなみにperlからも出来ない・・・orz
これってモジュール版で動いてるから仕方ないんでしょうか?
解決策は鯖管に頼むしかないんでしょうか・・
0106正規表現?
2006/02/28(火) 01:09:33ID:1e1aKd+D100です
ありがとうございます!!!
よく分かりました!
0107nobodyさん
2006/02/28(火) 06:42:02ID:???特定のディレクトリのバックアップを自動で行ってくれるような
スクリプトはかけますでしょうか?
PHPでどういったことが(どこまで)できるのか知りたいです。
PHPは最近はじめたばかりで、他の言語に関しては知識は皆無です・・・
0109nobodyさん
2006/02/28(火) 07:28:57ID:???まぁできなくは無いんじゃないかな。WebProgというよりLinuxの方の話になると思うけど。
1週間おき -> cron (linuxの仕組み)
日付 -> date (PHP)
tar -> PHPにはtarを直接扱える関数が無さそうなので ` ` や execとか (PHP+Linuxコマンド)
tarはそう難しいファイルフォーマットじゃないので、自作でもできるんじゃないかな。
実際pearにもtarを扱うやつあるものね(pearだから当然PHPで書かれている)。
0110nobodyさん
2006/02/28(火) 09:10:39ID:1h7tXCMd文字コードと思われる点でつまづいています。
秀丸で書いておりまして、
保存時に「EUC」と改行コードは「LF」を設定しています。
IEで開くとき、問題なく表示できるようになりましたが、
<FORM ACTION="<?php echo( $_SERVER[ "PHP_SELF" ] ) ?>" METHOD="POST">
キーワード:<INPUT NAME="KEYWORD" TYPE="TEXT" SIZE="30">
<INPUT TYPE="SUBMIT" VALUE="検索">
とする時、日本語入力を受け付けていないようなのです。
echo( $_POST[ "KEYWORD" ] );
を各所に配置して確認したところ、日本語入力をすると文字化けしています。
0113110
2006/02/28(火) 09:33:07ID:???mbstring.http_output = EUC
としました。
汚してどうも。
0114107
2006/02/28(火) 09:44:35ID:???cronですか。ちょっとサービスが起動してるか確認してみます。
0115nobodyさん
2006/02/28(火) 12:33:53ID:???実行するにはどーすればいいんでしょーか?
http://jp.php.net/downloads.php ここで落とせばいいの?
0116nobodyさん
2006/02/28(火) 12:54:20ID:???あとWEBサーバもないと駄目。まぁ単体でも使えるけど・・
0117nobodyさん
2006/02/28(火) 13:08:31ID:???変数宣言とか無いから
ソース見た時に、この変数の型ってなんだ?とか思っちゃいます。
例えば、
$BBSData = LoadCsvFile( BBS_DATA );
こんなのある時に、LoadCsvFileはarray型の値を返すんですが、
$BBSDataの型は、LoadCsvFileの定義か、
$BBSDataを実際に使ってるところから割り出すしか無いですか?
変数宣言を強制するとかできません?
0118nobodyさん
2006/02/28(火) 13:11:09ID:???ありがとさん。解説サイトにも書いてあったけど、やっぱりサーバー持ってる人用なのかな?
普通にレンタルサーバーでもPHPは使えるわけでしょ、
更に下らない質問なんだけど
つまり鯖無しユーザーはHTMLにPHP記述してブラウザで確認ってカタチで宜しいんでしょうかね?
0120nobodyさん
2006/02/28(火) 13:17:29ID:???ムリ
大抵は関数の定義から判断する。
Perlみたいにスカラーとリストを両方返せる関数があるわけじゃないんだし、
型宣言できたところでリファレンスか実体かでまた苦しむだけだから一緒かと。
ソースを部分的に見ただけで型判別できるようにしたかったら、変数名に型の識別名を
入れるのがPHPに限らずCでもC++でもJavaでもセオリーかと思うがどうか。
0121117
2006/02/28(火) 13:24:14ID:???>リファレンスか実体かでまた苦しむだけだから
あら、やっぱり参照型と値型あるんですね。
まだ始めたばっかりなんで、オブジェクト関係はまだ遠いです。
>CでもC++でもJavaでもセオリーかと思うがどうか。
最近C#とIDEの開発では接頭語入れない事が多いんで、
それに慣れちゃってました。
PHPの慣習に倣います。
すごい分かりやすい解説でした。
また縁があったらよろしくお願いします。
ありがとうございました。
0122117
2006/02/28(火) 13:47:48ID:???PHPって関数の戻り値を、
絶対受けなきゃいけないって訳じゃないんですか?
さっきの例で、
$BBSData = LoadCsvFile( BBS_DATA );//array型の値が返る関数
の後に、
if ( $BBSData == false ) {
}
とか、
LoadCsvFile( BBS_DATA ); //特にLoadCsvFileのオーバーロードが他にある訳ではないです。(というか規定のパラメータと言う?)
みたいなコードが書いてあったんで、
「ん?bool型も返す?」・「戻り値受けなくてもいい?」
と疑問が出たのですが、中々目当ての資料に行き着けなくて。
毎度すみません。よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています