【PHP】下らねぇ質問はID出して書き込みやがれ 109
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/07/28(木) 06:53:37.45ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 108
http://hibari.2ch.net/test/read.cgi/php/1309599473/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0664663
2011/08/18(木) 10:28:26.52ID:5rc0bZA4○ $val = array("Body" => array("Title" =>
でした。
0665nobodyさん
2011/08/18(木) 10:36:06.36ID:???つまり、やりたい形をjson_decode()にでも突っ込んでみる
0666nobodyさん
2011/08/18(木) 10:42:43.24ID:???おそらくデータファイルを外部から叩いてページに表示するJSあたりがあるのではないかと
0668nobodyさん
2011/08/18(木) 10:50:20.95ID:???0670nobodyさん
2011/08/18(木) 10:51:40.10ID:???MD5はもちろん、SHA256もやめとけって書いてある
0671nobodyさん
2011/08/18(木) 10:52:32.96ID:???コピペじゃなくて入力してたから違った
Item => array(
array("aa"=>"bbb")
とせずに
Item => array("aa"=>"bbb")
としてるから違う結果になる
0672663
2011/08/18(木) 10:52:36.63ID:???json_decode() と var_dump を試してきます。
0673663
2011/08/18(木) 10:56:27.62ID:???>>668さんのarray() が抜けてるというのはそういうことか。
array()の構造がもう一個要るのか・・・難しい。
みなさんありがとう
0674nobodyさん
2011/08/18(木) 11:09:36.40ID:8kZPbcbMまだ>>582の問題が解決できません。
どのようにすればいいでしょうか?
できれば書き換えて示していただけると助かります。
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
if($value == $row['seq']){
$chk{$row['seq']} = 'checked'; }
}
<?php
$result = $mysqli->query("SELECT * FROM tbShopmenuCategory ORDER BY seq ");
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
?>
<input type="checkbox" name="category_seq[]" value="<?php echo $row[seq] ?>" <?= $chk{$row['seq']} ?>> <?php echo $row[category]; ?>
<?php
}
?>
0675663
2011/08/18(木) 11:14:57.69ID:???<?php
$chk1 = "aaa";
$chk2 = "bbb";
echo "${'chk' . '1'}";
echo "${'chk' . '2'}";
?>
こういうこと?
0676nobodyさん
2011/08/18(木) 11:24:43.73ID:???0677nobodyさん
2011/08/18(木) 11:35:10.47ID:8kZPbcbMwhile ($row = $result->fetch_array(MYSQLI_ASSOC)) {
if($value == $row[seq]){
$chk[$row[seq]] = 'checked'
}
}
<?php
$result = $mysqli->query("SELECT * FROM tbShopmenuCategory ORDER BY seq ");
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
?>
<input type="checkbox" name="category_seq[]" value="<?php echo $row[seq] ?>" <?= $chk[$row[seq]] ?>>
<?php
}
$result->close();
?>
このように{ }を[ ]に変えてやったりもしたのですが駄目でした。
0678nobodyさん
2011/08/18(木) 11:41:06.96ID:???http://masha.maakikaku.jp/2008/03/php.php
0679nobodyさん
2011/08/18(木) 11:46:12.79ID:???0680nobodyさん
2011/08/18(木) 11:47:23.10ID:???それに質問きたら別の方法教えてやれよw
>>677
どうだめなのか書け
エラーが出てダメならエラーも書け
ショートオープンタグが使えても使うな
<?= → <?php
0681nobodyさん
2011/08/18(木) 12:03:47.97ID:???0683nobodyさん
2011/08/18(木) 12:06:48.79ID:???0684nobodyさん
2011/08/18(木) 12:15:02.93ID:8kZPbcbM>>675なども試してやってみます。
できなかったらエラー内容やわかる範囲の原因なども書きます。
また後で報告させていただきます。
0685nobodyさん
2011/08/18(木) 12:17:02.35ID:???$chk なんていらない。 二回もまわしてて変だし。
<?= $row['seq'] == $value ? '"checked"' : '' ?> でいいだろ。
そもそも
if($value == $row[seq]){
$chk[$row[seq]] = 'checked'
}
も ループの中にいらないし
$chk[$value] = 'checked' でしかない。
0686nobodyさん
2011/08/18(木) 12:29:21.79ID:8kZPbcbM<input type="checkbox" name="category_seq[]" value="<?php echo $row[seq] ?>" <?= $row['seq'] == $value ? '"checked"' : '' ?>>
でよいということでしょうか?
<?= $row['seq'] == $value ? '"checked"' : '' ?>
のvalueから右がどうなっているかがわかりません。
?より左がtrueの時'checked'、falseのとき' 'を出力という意味でしょうか?
なんという文法でしょうか?
0688nobodyさん
2011/08/18(木) 12:43:55.84ID:???でも勉強段階なら、先の方法でも出来るようにしたほうがいいと思う。
こんなの憶えるよりよっぽどいい。
ただ、どう出来ないのかがさっぱり分からんので何にも指摘出来ません。
0689nobodyさん
2011/08/18(木) 15:13:21.82ID:8kZPbcbM$chk[$value] = 'checked'を使ってできました。
他の方にも色々アドバイスをいただけて本当に助かりました。
基礎的なところがまだまだなのでほかの方が上げてくださった
やり方なども試して勉強してみます。
0690nobodyさん
2011/08/18(木) 18:58:27.07ID:???0691nobodyさん
2011/08/18(木) 20:11:14.23ID:???68:以下、名無しにかわりましてVIPがお送りします:2011/07/07(木) 09:45:21.81ID:xv2pzvIpO
わからない→調べる→解決、という流れで人間学習するもの
わからない→調べる→やっぱりわからない→人に聞く、の流れはまともな人間同士ならコミュニケーションにもなり得る
わからない→人に聞く、の流れはただの馬鹿
わからない→なにもしない、無能
0692nobodyさん
2011/08/18(木) 20:21:27.04ID:???0695nobodyさん
2011/08/19(金) 04:49:56.96ID:???得るのは当だwwww
的なツッコミ?
0696nobodyさん
2011/08/19(金) 04:58:21.28ID:???http://biff1902.way-nifty.com/biff/2010/04/post-63d8.html
0698nobodyさん
2011/08/19(金) 07:44:48.81ID:???0699nobodyさん
2011/08/19(金) 09:28:04.83ID:???素人に毛が生えた程度の奴が書いてたりするし
0700nobodyさん
2011/08/19(金) 09:29:49.82ID:???0701nobodyさん
2011/08/19(金) 09:52:19.43ID:???辞書を参考にすればいい
http://dictionary.goo.ne.jp/leaf/jn2/209033/m0u/%E3%81%BE%E3%81%A8/
0703nobodyさん
2011/08/19(金) 13:30:31.23ID:???現在一般的にはやっぱり射るが正しいって>>696にも書いてあるね
さすがに「『射る』が誤用」はない。
0704nobodyさん
2011/08/19(金) 13:37:05.03ID:???0705nobodyさん
2011/08/19(金) 14:03:12.89ID:???そんなこといってたら100%信用できるものなんてないでしょ
個人サイトより信頼性が高いのは確かだし、複数の辞書で確かめればある程度の信頼性は得られる
あなたが何かを100%信じるに足る根拠って何なの?
0709nobodyさん
2011/08/19(金) 14:46:18.09ID:???0711nobodyさん
2011/08/19(金) 15:19:59.28ID:???0712nobodyさん
2011/08/19(金) 16:16:05.71ID:???回答を自分で確かめたら信じられる
0713nobodyさん
2011/08/19(金) 16:29:54.17ID:???0714nobodyさん
2011/08/19(金) 19:36:41.89ID:gexz26pY以下のような書き方をして無限ループを発生させてしまいました。
foreach($versiondate as $version){
$date = $versiondate->date
}
上記のような書き方をした場合に、$versionの中の値が全然変わらずに
foreachによるループが一向に終了しないという現象でした。
記述が正しくなく、本来は
$version->date
と書くべきで、正しい記載に変更したらループも正常に回るようになったのですが
原因がわかりません。
なにが原因で上記のような現象が発生するのか、分かる方はいらっしゃらないでしょうか?
0715nobodyさん
2011/08/19(金) 20:14:19.73ID:???0717nobodyさん
2011/08/20(土) 03:30:39.52ID:???0719nobodyさん
2011/08/20(土) 10:22:28.52ID:???それなら他人の回答に「100&信用できるか」なんてケチつけずに黙って見てるか「100%信用できる証拠」をつきつけなよ
「あなたのいうことは100%信用できますか?」とそっくりそのまま返せるような水掛け論がお望み?
0721nobodyさん
2011/08/20(土) 10:40:25.11ID:???0722nobodyさん
2011/08/20(土) 13:41:32.05ID:lT3E7dXTecho $image;echo '<br>';
imagedestroy($image);
echo $image;echo '<br>';
として実行すると
Resource id #4
Resource id #4
となるのですが、imagedestroy関数は動いてるのですか?
0723nobodyさん
2011/08/20(土) 14:07:36.64ID:???0724nobodyさん
2011/08/20(土) 14:51:08.00ID:???破棄する前後でメモリの様子見てみたらいいんじゃね?
0727nobodyさん
2011/08/20(土) 17:21:00.82ID:???http://jp.php.net/manual/ja/function.memory-get-usage.php
0728nobodyさん
2011/08/20(土) 17:23:48.53ID:???0729nobodyさん
2011/08/20(土) 17:33:49.83ID:???0734nobodyさん
2011/08/20(土) 18:39:07.17ID:???0736nobodyさん
2011/08/20(土) 19:01:30.52ID:???0737nobodyさん
2011/08/20(土) 19:59:59.40ID:???0738nobodyさん
2011/08/20(土) 20:38:58.43ID:VO4DRW5D【PHPのバージョン】5.2.17
【連携ソフトウェア】
【質問内容】
PHPファイルを文字コードUTF-8で作成。
テキストを2個とボタンを1個表示し、ボタンを押すと同じPHPファイルにPOSTでテキストの内容を
送って再度表示します。
再度呼ばれたときに、テキストの内容がどちらも文字化けしてしまいます。
<meta ... content="text/html; charset=UTF-8">
mb_internal_encoding("UTF-8");
formにaccept-charset="UTF-8"を設定
は実行していますが、POSTされるデータはUTF-8ではなくなっているのでしょうか?
どなたかアドバイス頂けないでしょうかm(__)m
0739nobodyさん
2011/08/20(土) 21:48:57.78ID:???0740nobodyさん
2011/08/20(土) 21:56:39.19ID:???magic_quotes_gpc=off
mbstring.input_encoding="pass"
mbstring.internal_encoding="UTF-8"
mbstring.output_encoding="pass"
mbstring.language="japanese"
mbstring.substitute_charactor=""
0741nobodyさん
2011/08/20(土) 22:17:19.04ID:VO4DRW5D739様、740様ありがとうございます。
自己解決いたしましたので記述しておきます。
サーバーのphp.iniを以下のようにしたところ、解決できました。
default_charset = UTF-8←ここがShift-JISだった
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8←ここがShift-JISだった
mbstring.http_input = auto
mbstring.http_output = UTF-8←ここがShift-JISだった。POSTの文字コードに関わるのはこれか?
mbstring.encoding_translation = Off←ここがOnだった
0742nobodyさん
2011/08/20(土) 22:58:35.13ID:???0743nobodyさん
2011/08/20(土) 23:13:13.45ID:sf8M978dcentOS6にPHP5.3.7をソースよりインストールしました
殆どの情報でPECLからのダウンロードと書かれていますが、
http://pecl.php.net/package/memcached
を見ると、stableバージョンが1.0.2しかありません
memcachedサイトは1.4.7なのでだいぶ古いように思います
連携させるにはPECLしか方法はないのでしょうか?
./configure時とかphpizeとかでコンパイル出来ないのでしょうか?
0745nobodyさん
2011/08/21(日) 05:58:15.30ID:???0746nobodyさん
2011/08/21(日) 06:20:41.84ID:???0747743
2011/08/21(日) 12:51:43.67ID:J6eOgBv6PECLでの連携はmemcachedではなく、memcacheでした、ごめんなさい
しかし自分の場合、mod_svnの時と同じようにPECLバージョンが古いのか、認識してくれません
ソースからでなくyumでのphpでならいけるのかもしれませんが、
php.iniのextension設定を正しく行ってextension=memcache.soを記述してもmemcache.soを読み込みません
memcachedは1.4.7をソースからインストール済みです
何か対策はありませんでしょうか?
0748725
2011/08/21(日) 12:59:08.20ID:hRktlKv4// 画像の破棄
echo '<br>メモリーの量(imagedestroy前)';echo memory_get_usage();echo '(バイト)<br>';
imagedestroy($image);
imagedestroy($image_s);
echo 'メモリーの量(imagedestroy後)';echo memory_get_usage();echo '(バイト)<br>';
とすると、
メモリーの量(imagedestroy前)1767856(バイト)
メモリーの量(imagedestroy後)336080(バイト)
と表示され、メモリー量が減っていました。
imagedestroyが使用しないとPHP スクリプトに割り当てられたメモリの量
増え続けるということですか?
0749nobodyさん
2011/08/21(日) 14:14:54.32ID:???display_startup_errors = on してなんとエラーが出てるか確認を
>>748
リソースがどこからも参照されなくなった時に開放される
例えば $image = imagecreate(); unset($image); などでデストラクタが働く
0750725
2011/08/21(日) 21:12:55.15ID:hRktlKv4ありがとうございます。
質問
$dir = 'uploads/';としたとき'uploads/'の中身を知る方法はありますか?
コマンドプロンプトでdirして中身が表示されるよな感じです。
0752nobodyさん
2011/08/22(月) 01:54:14.79ID:3f8RP/Mlphpで用意した配列
ID(12,45,771,32)
をselect文に掛けたいのですが、どういうやり方がスマートでしょうか?
ひとつずつ検索していくのではパフォーマンスが悪いですよね?
0753nobodyさん
2011/08/22(月) 02:12:29.42ID:???多分IN句を使えというレスになるとは思うが
0754nobodyさん
2011/08/22(月) 02:33:33.69ID:???0757nobodyさん
2011/08/22(月) 03:08:26.43ID:3f8RP/Mlarrayの配列の中身でsql文 select where をかけたいんです。
配列の中身がヒットするごとにフェッチさせて一覧をリクエストしたいんですが
なかなか調べてもいい方法が書いて無くて悩んでます。
0758nobodyさん
2011/08/22(月) 03:14:28.14ID:???0759nobodyさん
2011/08/22(月) 03:15:24.95ID:???誤解してるかも知れんが、
arrayに(12,45,771,32)が入ってて、
これに一致するIDを選ぶってこと?
もしそれならforeach($array as $id){...}になるのではないの?
取り違えていたらスマンが。
0760nobodyさん
2011/08/22(月) 03:17:10.57ID:???俺の理解力がないので申し訳ないが、
「配列の中身がヒットするごとにフェッチさせて一覧をリクエストしたいんです」
すまん、この部分をもう一度説明してくれ
0761nobodyさん
2011/08/22(月) 03:20:33.87ID:3f8RP/Ml要するに>>759の状態であってまする。
for文を使わずにできる方法が無いかな? とこう聞いておけばよかったですね。失礼しました
0763nobodyさん
2011/08/22(月) 03:23:02.24ID:???こんな感じでは違うの?
$arr = array(12,45,771,32);
$sql = "select * from table where fld in (".implode(",",$arr).")";
$res = sql_query($sql);
while($v = sql_fetch($res)){
//処理
}
■ このスレッドは過去ログ倉庫に格納されています