【PHP】下らねぇ質問はここに書き込みやがれ 32
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/11/06(月) 22:07:16ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
【前スレ】
【PHP】下らねぇ質問はここに書き込みやがれ 31
http://pc8.2ch.net/test/read.cgi/php/1161733546/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しない)
・ サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0495493
2006/11/14(火) 23:26:38ID:???foreach ($value as $val) {
$encode_val = array();
foreach ($val as $vah) {
$encode_val[] = mb_conv...($vah, ...
}
sqlite_query( ...
}
0496nobodyさん
2006/11/14(火) 23:34:18ID:???「役不足」という語について典型的な誤用をしてるな、お前。
知ったかぶって難しい言葉使う前に、辞書で調べるクセをつけるように。
0497456
2006/11/14(火) 23:40:48ID:liCu6Ubc$encode = mb_convert_encoding($val,"UTF-8","Shift_JIS");
でした。しかし・・やはり駄目か
あと、495の方法を試させていただきましたが、全てnullになってしまいました。
>>494
ひとつのフィールドにframeと書かれるはずが、f,r,a,m,eというように
別々のフィールドに書き出されてしまいます。
0498nobodyさん
2006/11/14(火) 23:55:16ID:???Warningが出ているはずだけど? 最初から疑問なんだけど何でエラーを無視してるの?
配列をmb_convert_encoding()に渡すことは出来ない
foreachでまわして一つずつ変換する必要がある
一文字ずつ出力されるのは $encode_val が配列ではなく文字列になってる証拠
$str = 'frame'; とある場合、$str[0] は f だし、$str[1] は r
変数の内容が期待したものかどうか、適当な位置で echo や var_dump() して
確認しながら作業しなきゃだめ
0499nobodyさん
2006/11/15(水) 00:01:43ID:???foreach ($double as $single) {
}
foreach ($double as $single) {
foreach ($single as $string) {
}
}
0500nobodyさん
2006/11/15(水) 00:02:09ID:???<form method=GET action=http://www.google.com/codesearch>
<input name=q value="">
<input type=submit value="Search Code" name=btnG>
</form>
0503nobodyさん
2006/11/15(水) 00:17:09ID:ylGAVv6P$smarty -> assign("name", $name);
$smarty -> display("template.tpl");
これだと、「<, >, &」などがHTMLエンティティに変換出来ないので心配です。
マニュアルを読んでみたのですが、Smartyサイドで変換することは出来ないのでしょうか?
$smarty -> assign("name", htmlspecialchars($name));
こうすると、何も出力されないのです(エラーさえも)。
0504nobodyさん
2006/11/15(水) 00:18:16ID:???http://sunset.freespace.jp/Smarty/SmartyManual_2-6-6J_html/language.modifier.escape.html
0505nobodyさん
2006/11/15(水) 00:22:53ID:ylGAVv6Pおお! ありがとうございました。
0506nobodyさん
2006/11/15(水) 00:27:27ID:???-----
<?php return array (
...
); ?>
-----
があって、これを
<?php
$a = require('hoge.php');
?>
として$aに読み込みたいんですが、実行すると標準出力にファイルの中身が吐かれてしまいます。
何が間違ってるんでしょうか?
0507nobodyさん
2006/11/15(水) 00:33:05ID:???テーブル設計がおかしい
Array ( [0] => ツール [1] => tool [2] => tools ) とあるとき
ツールの同意語を検索するのは容易だが、tool の同意語は検索しづらい
全ての組み合わせを登録する必要がある
が、普通こういうテーブルは作らない。正規化をググるべき
0508506
2006/11/15(水) 01:01:26ID:???0509nobodyさん
2006/11/15(水) 01:03:15ID:???0510nobodyさん
2006/11/15(水) 01:14:33ID:???静的なデータを持っているウェブアプリがあって、このデータを、
他のデータベースから引っ張ってきた対応する日本語に書き換えるスクリプトを書きたいんです。
そのウェブアプリ自体は$a = require('hoge.php');の形で、そのデータを使っているんですが、
自分でやるとできないんです。
どうも、hoge.phpのサイズが小さいうちは読み込めるのですが、500KBになるとエラーを出すようで。
実のところ、phpは全然分かっていないんですが、何か設定みたいのがあるんでしょうか?
0511nobodyさん
2006/11/15(水) 01:21:16ID:???requireは読み込みしてメインルーチンに取り込みであって
実行して結果を返すようなものじゃないから
requireファイルにreturnとか書いても無駄。
requireするファイルの中で
$a = array(...);
と書くか、
変数名を固定にしたくない場合は
function hoge() {
return array(...);
}
と関数化して
require('hoge.php');
$a = hoge();
と読み込んだ後に関数実行するとか。
関数名も固定にしたくないと言われたら知らん。
>>508
requireするファイルは特にサイズの問題はないと思うが、
PHPで確保できる配列のサイズには限界があるので
requireの中身が巨大な配列だとメモリ確保できなくて
エラーになることはある。(その場合、エラーメッセージが出る)
0512511
2006/11/15(水) 01:23:42ID:???0513nobodyさん
2006/11/15(水) 01:25:09ID:???エラーメッセージは何になってる?
500KBくらいならメモリ確保できないってこともないと思ったが、
そもそもそれ以前にメモリ食いすぎのプログラムなのかもね。
0514nobodyさん
2006/11/15(水) 01:27:30ID:???ttp://www.php.net/manual/ja/function.include.php
> 値の返し方: 読み込まれたファイル内では、ファイルの実行処理を終了し呼出側の スクリプトに戻るために
> return()文を実行することが可能です。 読み込まれたファイルから値を返すことも可能です。
> 例 16-9. include()とreturn()文
> return.php
> <?php
> $var = 'PHP';
> return $var;
> ?>
>
> noreturn.php
> <?php
> $var = 'PHP';
> ?>
>
> testreturns.php
> <?php
> $foo = include 'return.php';
> echo $foo; // 'PHP'と出力されます
> $bar = include 'noreturn.php';
> echo $bar; // 1が出力されます
> ?>
0515nobodyさん
2006/11/15(水) 01:30:09ID:???「<? return array(...); ?>」となっているのが原因のようです。
「<?php」にすると、requireで読み込むことができました。
一応、http://jp2.php.net/manual/ja/function.include.phpの例16-9で似たようなことはしているようです。
ただ、皆さんのおっしゃる通りあんまり正攻法ではないようですね。
どちらにせよ、なんで「<?php」になってないのに、元アプリで読み込めているかは謎です。
0516nobodyさん
2006/11/15(水) 01:43:05ID:???ああ、そういうことか。
それはphp.iniの設定でshort_open_tagsってのがあるため。
これをONにすると<? 〜 ?>形式でのPHPコードが許可される。
(OFFだと単なるHTMLとして扱われるため、そのまま画面に表示されてしまう)
記述が楽で<?=変数?>というテンプレートモドキの書き方もできるメリットがあるが
XMLなど他の<? 〜 ?>を使う言語との相性が悪いので推奨はされていない。
0520nobodyさん
2006/11/15(水) 02:28:58ID:wkc8v1DYOKになったのか?
$str = "asdf; echo $str[2];
0522nobodyさん
2006/11/15(水) 03:34:43ID:???例えばカラム名noの値が2、nameの値にうんこ、を入れたい時、配列のキーをカラム名にして
$value['no'] = 2;
$value['name'] = "うんこ";
foreach($value as $key => $val) {
$hoge[] = $key;
$hogehoge[] = "'{$val}'";
}
$k = implode(" ,",$hoge);
$v = implode(" ,",$hogehoge);
できあがった$kと$vをクエリに使ってみてはどうか。
0523522
2006/11/15(水) 03:37:33ID:???$k = implode(", ",$hoge);
$v = implode(", ",$hogehoge);
のほうがいいか。動作に支障はないけど。
0524nobodyさん
2006/11/15(水) 03:46:46ID:???あっちでも言ってるけど
$valueをforeachした$valは配列
配列をmb_convert_encodingはできぬ
MLマルチ乙
0525nobodyさん
2006/11/15(水) 03:55:28ID:???0526nobodyさん
2006/11/15(水) 04:01:45ID:???結局は双方向リストの束かしらん
0527496
2006/11/15(水) 04:20:37ID:???>>>468=<<496乙
>論点をすりかえなくていいよ。
ハァ?? 何言ってんのお前??? 俺は468ではないけどwww
単にお前の間違った単語の使用法を指摘してやっただけだ。感謝しろ。
0528nobodyさん
2006/11/15(水) 04:49:09ID:???そんな変な使い方はなかなか見ないよね。
0529nobodyさん
2006/11/15(水) 07:13:03ID:???当方、HTML→CSS→PHPとあらかたマスターしてきたのですが、次に何を勉強しようかなと迷ってます。
PHPは力技も使えばほとんどやりたいことはできます。
サーバー関連(Apache?UNIX?よくわからんす)の勉強か、ajaxかXMLあたりをやろうと思うんですが、どれがどんな特徴があるか、私的な意見になると思いますが、聞かせてもらえるとありがたいです。
0530529
2006/11/15(水) 07:14:15ID:N4vSt0D00531nobodyさん
2006/11/15(水) 07:47:00ID:???0532nobodyさん
2006/11/15(水) 07:55:17ID:???人に聞くまでもあるまいに。
思うがままに
0533nobodyさん
2006/11/15(水) 08:01:36ID:???何がしたいのかよく読めない。
ネットワークエンジニアの勉強したいのか?プログラマの勉強したいのか?
どれがどんな特徴といっても、分野が違うから困るんだよね。
Apache,Unix,Ajax,XMLと名前を出してるということは、
この言葉に興味があるってことでしょ?
HTML→CSS→PHPときてるなら、前者2つは全く違う分野で、
覚えるべきことが多くなってややこしくなるから触れないほうがいいと思う。
残るはAjaxとXML好きなほうやればいいよ。
Ajaxやるなら、まずはJavaScript勉強すればいい。
ついでにFlashのActionScriptと類似点も多いので、Flashも同時にマスター。
XMLはいろいろ使えるけど、勉強してきた経緯からして、
XSLTと組み合わせて、XMLでWebページを作る技術でも身につければいいと思う。
0534nobodyさん
2006/11/15(水) 09:12:48ID:???0535nobodyさん
2006/11/15(水) 09:14:06ID:???0536nobodyさん
2006/11/15(水) 10:16:33ID:N4vSt0D0なるほど、参考にします。
まぁ目標みたいなものもないので(既に仕事としては考えてないので)マターリ修得してこうかなと思ってました。
JAVAという手もありましたね…とりあえずはJavaScriptをガッチリやってからAjaxを勉強してみたいと思います。レスありがとうございました。
0537nobodyさん
2006/11/15(水) 11:30:37ID:DsSvM2t5SQLiteはEUC-JPを使うはずなのに、Shift-JISから
EUC-JPに変換して・・・ mb_convert_encoding($abc, "EUC-JP", "Shift_JIS")
文字化けがあるのは何故なのでしょうか?
0539nobodyさん
2006/11/15(水) 11:36:39ID:???0540nobodyさん
2006/11/15(水) 11:41:39ID:DsSvM2t5ありがとうございました。確かにUTF-8で文字化けしなくなりました。
本にSQLiteはEUC-JPを使うと書かれていたので、ひっかかってしまいました。。。
0543nobodyさん
2006/11/15(水) 12:52:36ID:???オブジェクト指向と言えますか?
クラスとかはよく分かりません。
0544529
2006/11/15(水) 13:43:05ID:N4vSt0D0一応マジレスしときます。
鯖と2chの仕様(もしくは参考サイト)とあとお金を用意してくれれば作りますよ。DBもMySqlでよければ扱えます。
2chについてはあまり詳しくないんで(ギコナビってなんだろうと思ってググった)、正直仕様を調べる時間と手間が面倒ですね。マジな話ならその分の金をいただきます。
スレ違いに反応スマソ。
0546nobodyさん
2006/11/15(水) 13:53:07ID:???p2だっけ?Web版2chブラウザなら既にあるじゃん
0547nobodyさん
2006/11/15(水) 13:59:09ID:uyXfKD17「フォームのsubmitを押してから○秒後に送信」とかやりたいのですが、
手持ちのリファレンスには記載がありませんので、質問しました。
0552nobodyさん
2006/11/15(水) 14:17:20ID:???PHPでのWEBメール一括送信とかに利用出来ないかなって思いまして。
クッキーとか使ったら出来るかな?って思ったけど無理だったし。
JSは基礎知識しかないので、出来ればPHPでなんとかならないかと。。
とりあえずもう少し調べます
0553547
2006/11/15(水) 14:21:48ID:???すみません、レス見逃してました。
そして、550さんのいうsleepをググったら下記のような方法で出来ました!
echo date("h:i:s");
sleep(10); //10秒遅らせる
echo date("h:i:s");
アドバイスありがとうございました
0554nobodyさん
2006/11/15(水) 14:25:05ID:???これは酷い。 まぁPGかじり始めは何でも出来ると思って自分に酔う時期なんだろうね。
俺も全く同じ道のり(HTML→CSS→PHP)辿ったが、
PHP5をやる時にオブジェクト指向と言う概念がよく分からなくて調べた時は自分の未熟さを恥じた過去があったりなかったり…。
まぁPHPとSQL使えるがサーバは不明てことは金は取らん方がいいよ。
金取る以上XSSやらSQLインジェクションみたいな脆弱性が書いたコードの中に見つかったらどうなるか分かってるよね?
と偉そうな事言ってる俺もPHP→Linux弄り(FC、CentOS、BSD)までの半人前だからアレなんだけど。
0555nobodyさん
2006/11/15(水) 14:29:13ID:???$config = parse_ini_file('config.ini', true);
$config = $config['hoge'];
0556nobodyさん
2006/11/15(水) 14:30:22ID:???0557nobodyさん
2006/11/15(水) 14:31:38ID:???まともなもの作れなくて投げ出されたわw
0558542
2006/11/15(水) 14:33:05ID:???お金取るのかよ(`ω´)
取るとして、要求定義書〜テスト仕様書までのドキュメントはもちろん付いてくるんだよね?
(でも、お金払うぐらいなら自分で作るよ Javaでw)
>>546
2ch以外にも使いたい掲示板があるので・・・あと右上のアニメーションが欲しい
0559nobodyさん
2006/11/15(水) 14:35:04ID:???ばっくれられた事あるよ
最初銀行振り込みで話付いてたのに、書留で送ってくれとか言い出して
ちょうど、イーバンクの振込み入金口座が廃止された時期だったから
身元明らかにしないで金振り込ませてバックレようとしたみたい
0560nobodyさん
2006/11/15(水) 14:38:47ID:???0561nobodyさん
2006/11/15(水) 14:43:19ID:???みたいな自作自演メールが来るよ
きょうつけて!
0563nobodyさん
2006/11/15(水) 15:06:44ID:DsSvM2t5ですが。
if ($db = sqlite_open("SQLiteManager/word", 0666, $sqliteerror))
{
$value2 = array(array( 'ツール', 'tool', 'tools' ),
array( 'ユーザー', 'user', 'ゆーざー' ),
array( 'ファイル', 'file', 'ふぁいる' ));
foreach($value2 as $nkey => $arrValue)
{
foreach($arrValue as $nkey2 => $strValue)
{
$arrValue[$nkey2] = mb_convert_encoding($strValue, "UTF-8", "Shift_JIS"); //EUC-JPでなくUTF-8
}
$sql = <<< EOM
INSERT INTO thesaurus(word, dougigo1, dougigo2, dougigo3) VALUES
('{$arrValue[0]}', '{$arrValue[1]}', '{$arrValue[2]}', '{$arrValue[3]}');
EOM;
sqlite_query($db, $sql);
}
}
sqlite_close($db);
上記のように、配列の内容を直に書くと、レコードに書き出せるのですが、
配列が格納された変数($value)を指定するとうまくレコードに書き出されません。
どのようにすればよろしいでしょうか?
0564nobodyさん
2006/11/15(水) 15:08:36ID:???0565nobodyさん
2006/11/15(水) 15:18:55ID:???まず、どの不具合の発生箇所を特定しなよ。
特定できたら、その箇所に対して別のコーディングが出来ないか試してみるとかすれば?
スレタイに見合った素晴らしい下らない質問だけど、
回答する度に、新たな、しかも大して進歩の無い質問を繰り返されるといい加減だれも相手しなくなるよ
0566nobodyさん
2006/11/15(水) 15:22:06ID:DsSvM2t50567nobodyさん
2006/11/15(水) 15:26:01ID:???そして氏ね
0568nobodyさん
2006/11/15(水) 15:32:36ID:DsSvM2t5障害箇所はわかってます。別のコーディングができないかどうかも
試しました。しかし、うまくいかないんです。
0569nobodyさん
2006/11/15(水) 15:38:30ID:???0571nobodyさん
2006/11/15(水) 15:45:17ID:???SQLliteは知らないけど
>>567が言うように、エコーバックしたSQLステートメントを
クライアント通して直接DBに対して実行してみた?
その場合、SQLLiteからはどんな反応(メッセージ)が帰ってきた?
「わかんない、わかんない」じゃマジで誰も相手しなくなるよ
0572nobodyさん
2006/11/15(水) 15:48:57ID:???0574563
2006/11/15(水) 15:50:26ID:DsSvM2t5ありがとう。
0575DsSvM2t5
2006/11/15(水) 15:51:41ID:???0576nobodyさん
2006/11/15(水) 15:53:17ID:???なぜエラーをスルーするんだとかいうレベルじゃない
0577nobodyさん
2006/11/15(水) 15:54:02ID:???0578nobodyさん
2006/11/15(水) 16:00:53ID:???0579nobodyさん
2006/11/15(水) 16:08:57ID:???3年に一人の逸材だ
0581544
2006/11/15(水) 16:14:31ID:N4vSt0D0>>558
当たり前でしょ、別に依頼を受けてるわけでもないのに、知らん奴に匿名でいきなり依頼されて、自分の時間裂いてまでタダで作る奴は普通はいないでしょ。
これは釣られてるのだろうかw
どうせまた煽りレスがつくんでしょうね。いい回答者さんもたくさんいるのに少数の煽りでスレが荒れる(しかも自分のレスで)のは嫌な気分ですね。
0582nobodyさん
2006/11/15(水) 16:19:16ID:???0583563
2006/11/15(水) 16:19:17ID:DsSvM2t5データベースを初めて使う素人に上手なデータベースの作り方を
お教えください。
0584nobodyさん
2006/11/15(水) 16:24:29ID:???0586nobodyさん
2006/11/15(水) 16:26:50ID:???お前もついでに氏ね。厨房が来るような板じゃないですよ
>>583
自分で調べてから出直して来い。
大体日本語が可笑しい時点でDBが何か把握できてないんじゃないの?
>上手なデータベースの作り方
何これ?料理教室にでも通うつもりか?
0590nobodyさん
2006/11/15(水) 16:35:26ID:???0591nobodyさん
2006/11/15(水) 16:38:43ID:???0592nobodyさん
2006/11/15(水) 16:40:51ID:???0593nobodyさん
2006/11/15(水) 16:41:17ID:???をする奴が多いな。そんな暗いことやってて楽しいのか?
0594nobodyさん
2006/11/15(水) 16:42:00ID:???■ このスレッドは過去ログ倉庫に格納されています