【PHP】下らねぇ質問はID出して書き込みやがれ 81
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/02/18(水) 21:09:16ID:xNLzAD7T過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 80
http://pc11.2ch.net/test/read.cgi/php/1233479457/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0396nobodyさん
2009/02/24(火) 20:13:38ID:???各データをくっつけるときについでに ' ' でくくりたい。
foreach( $data1 as $d )$data2[]="'$d'";
$str = implode( ',', $data2 );
とかやってるんだけど、これダサくね? 字の数も多いし。
もっとかっこよくやりたい。
0397nobodyさん
2009/02/24(火) 20:16:29ID:???0398nobodyさん
2009/02/24(火) 20:17:21ID:???> 配列の各データをimplodeでくっつけたいんだけど
> 各データをくっつけるときについでに ' ' でくくりたい。
>
> foreach( $data1 as $d )$data2[]="'$d'";
> $str = implode( ',', $data2 );
> とかやってるんだけど、これダサくね? 字の数も多いし。
> もっとかっこよくやりたい。
0401nobodyさん
2009/02/24(火) 20:56:11ID:9Iv6lmqOこれらはPHP5ではバイナリセーフの関数ということであってますか?
色々調べたのですがバイナリセーフではないという記事が多くて困惑してます
マニュアルにはfileはPHP4.3でバイナリセーフになり
file_get_contentsはバイナリセーフとは書いてませんが
バイナリデータに対応してると書いてます(バイナリデータ対応=バイナリセーフ?)
実際にテストもしてみましたがヌル文字もちゃんと表示されているようでした
バイナリセーフではないというのは過去のこと(記事が古い)ということでしょうか?
0402nobodyさん
2009/02/24(火) 22:07:03ID:???PHP5.xxまでならバイナリに対応してる
PHP6以降、バイナリを突っ込めなくなるモードに設定できるようになる
0403nobodyさん
2009/02/24(火) 22:33:58ID:gE9pwkM6pngの場合に透過部分が透過されずに塗りつぶしになってしまいます。
png-8でもpng-24でも透過できるようにしたいのですがどうすればいいのでしょう?
環境はphp5です。できればImageMagickは使わずにやりたいのですが…
現在のソースはこんな感じです。
$size = getimagesize('./front.png');
$back = imagecreatefromjpeg('../back.jpg');
$front = imagecreatefrompng('./front.png'); //fromjpgだったりgifだったり
imagetruecolortopalette($front, false, 256);
imagecopymerge($back, $front, 0, 0, 0, 0, $size[0], $size[1], 100);
header('Content-Type: image/png');
imagepng($back);
0404nobodyさん
2009/02/25(水) 01:09:50ID:Ndqi56nAみたいに.php無いのにそのページ開いてしまいます
sample.phpの場合だけ開くようにしたいのですがよろしくおねがいします
0405nobodyさん
2009/02/25(水) 01:23:53ID:Ndqi56nA0406nobodyさん
2009/02/25(水) 01:43:31ID:aIiX70rdその3つのロックを開放するときの順番で、ロックをした順番ですか?
それともロックをした順番の逆順にロック開放するべきですか?
0407>>406
2009/02/25(水) 01:44:45ID:aIiX70rdflockで、3つのファイルを、排他ロックしたときに、
その3つのロックを開放するべき順番は、ロックをした順番ですか?
それともロックをした順番の逆順にロック開放するべきですか?
以上です
0408nobodyさん
2009/02/25(水) 03:48:51ID:lXxF9gdp$b,
$c;
という書き方と、
private $a;
private $b;
private $c;
という書き方、どっちが適切ですか?
0409nobodyさん
2009/02/25(水) 03:58:40ID:???0410nobodyさん
2009/02/25(水) 04:00:27ID:???順番は関係ない
>>408
目的もなしに手段だけ見せて適切か不適切かなんて下せる訳ない
あえて言えばコーディングスタイルの問題
宗教論争になるから好きにしろ
0411nobodyさん
2009/02/25(水) 12:11:48ID:???答えられないんじゃないの^^;
0412nobodyさん
2009/02/25(水) 12:54:52ID:Bh8pwxYs商品名をクリックするとクッキーに商品名と金額を記録するようにしたのですが
クッキーに配列で記録することはできるのでしょうか?
$_COOKIE['sinamono']にカートの中身が全部入ってるとして解説1のような構造で取れるようにしたいですが
現在方法が分からず解説2のようにやってます
解説1のようにクッキーに記録するにはどのようにしたらよろしいかアドバイスお願いしまsう
「解説1」
$_COOKIE['sinamono'][0]['name'] これは商品Aの名前
$_COOKIE['sinamono'][0]{'okane'] これは商品Aの金額
$_COOKIE['sinamono'][1]['name'] これは商品Bの名前
$_COOKIE['sinamono'][1]{'okane'] これは商品Bの金額
以下続く・・・
「解説2」
$_COOKIE['sinamono_0_name'] これは商品Aの名前
$_COOKIE['sinamon_0_okane'] これは商品Aの金額
$_COOKIE['sinamon_1_name'] これは商品Bの名前
$_COOKIE['sinamono_1_okane'] これは商品Bの金額
0413nobodyさん
2009/02/25(水) 13:30:48ID:???商品データベースは持っていないのかな?
データベースがあるなら、記録するのは商品コードだけでよいと思う。
記録方法は、COOKIEにそのままなら配列は無理だから、CSV形式とかにする。
だが、一番手っ取り早くて、効率的なのはセッションを使うことだと思う。
0414nobodyさん
2009/02/25(水) 13:33:30ID:???0415nobodyさん
2009/02/25(水) 13:42:15ID:???データベース(テーブル1)
abcdefg 商品ID
abcdefg 商品ID
abcdefg 商品ID
abcdefg 商品ID
データベース(テーブル2)
商品ID 商品名 値段 更新日
商品ID 商品名 値段 更新日
商品ID 商品名 値段 更新日
商品ID 商品名 値段 更新日
0416nobodyさん
2009/02/25(水) 13:44:07ID:???マニュアルの例3に配列での保存方法がある
http://www.php.net/manual/ja/function.setcookie.php#function.setcookie.examples
0417nobodyさん
2009/02/25(水) 13:50:34ID:???おまえかわいいなw
0418nobodyさん
2009/02/25(水) 14:11:49ID:ZVMHOF39pppp.phpファイルが実行され、pppp.phpファイルに書かれた仕様でdata.txtの内容をIEに表示させる。
という、pppp.phpファイルを書く事は可能でしょうか?
可能だとすれば、どんな関数を使えばいいのか教えて下さい。
0419nobodyさん
2009/02/25(水) 14:31:57ID:???0420418
2009/02/25(水) 14:38:39ID:ZVMHOF39phpでは不可能ですか?
0422nobodyさん
2009/02/25(水) 14:45:58ID:???PHPはサーバーサイドってことを理解したうえでの質問と見ておk?
0423nobodyさん
2009/02/25(水) 14:48:21ID:???処理するわけだから関数以前にやることありありだな
0424nobodyさん
2009/02/25(水) 14:52:22ID:???デスクトップにPHPファイルを置いておいて、ドラッグ&ドロップでデータを受け入れて処理して、ブラウザを起動する。
0425418
2009/02/25(水) 14:55:02ID:ZVMHOF39> Windowsでいいんだよな?
はい。
>>422
> ごめん、何がしたいのか理解できない
2ちゃんのスレッド情報の"mail""name""time""id""res"の情報がdata.txtにcvs形式で書かれています。
それを、pppp.phpファイルを使い、自分の好みの表示方法でIEに表示させたいのです。
0426418
2009/02/25(水) 14:56:48ID:ZVMHOF39>テキストファイルをドラッグ&ドロップしてphpファイルを起動させて引数情報を得て処理する
そうです。 これがやりたいのです。
0427nobodyさん
2009/02/25(水) 14:58:55ID:???できなくもないが
色々しないといけない
基本的にPHPはサーバーサイド向けに作られてるから
そういうのしたいならCなりJavaなり使おうな
0428nobodyさん
2009/02/25(水) 15:05:02ID:???はぁ?
デスクトップ環境でPHPが動かないとでも?
レンサバユースしてないアフィリエーターらしい考え方だな。
できなくもないってなら、できる方法を教えてやれよ。知ってるならだが。
0429418
2009/02/25(水) 15:05:11ID:ZVMHOF39了解しました、あきらめます。
0431nobodyさん
2009/02/25(水) 15:27:40ID:???php pppp.php %1
とか書いておけばいいんじゃないの?
0432418
2009/02/25(水) 15:28:03ID:ZVMHOF39じゃあ、ここにあるような、『参照』のボタンでdata.txtを読み込み、↑に書いた作業をさせるのは可能でしょうか?
0434nobodyさん
2009/02/25(水) 15:37:03ID:???0435418
2009/02/25(水) 15:42:27ID:ZVMHOF39こういう風に、data.txtの選択&読み込みが出来たら嬉しいんだけど、htmlにはそういう機能はないのでしょうか?
0439nobodyさん
2009/02/25(水) 16:42:17ID:???成功例はロールバックって書いてあるところかな?
0440nobodyさん
2009/02/25(水) 17:03:04ID:???0441nobodyさん
2009/02/25(水) 23:16:51ID:???オンクリックの中にさらにクオーテーション入ったときとか、functionしても、引数使うから
結局''で囲うからどうにもならね
0442nobodyさん
2009/02/25(水) 23:23:13ID:???0443nobodyさん
2009/02/25(水) 23:28:33ID:+kmtnISzツールなどで未定義の関数や引数の間違いを静的に検出する方法はないですか?
0444nobodyさん
2009/02/25(水) 23:33:06ID:???0445nobodyさん
2009/02/25(水) 23:36:40ID:???function hoge(){
echo 'hoge';
}
hage();
?>
とかあったときに、実行前に関数hageが無い事を検出したいって事だろ。
静的解析とかダセェ事せずに自動テスト使おうぜ。
0446nobodyさん
2009/02/25(水) 23:41:51ID:LSqAU6YZ$dbh->exec("UPDATE tb1 SET value = value + 1 WHERE id = '1'");
以外の書き方って、ある?
------------------------
【環境】
PHP5 + PDO + SQLite3
ようはexec以外のやり方で、って意味。
0447nobodyさん
2009/02/25(水) 23:43:15ID:???クオーテーションがネストしてしまうときに、
どう対処したらいいですか、って意味だろ?
行間読もうぜ
さもないと、30才でホームレスだにょ
0450nobodyさん
2009/02/26(木) 00:27:28ID:tryMdVBhphp.iniのphp_mysql.dllをコメントをはずせばつかえるのでしょうか?
0451nobodyさん
2009/02/26(木) 01:06:52ID:???0452nobodyさん
2009/02/26(木) 01:23:01ID:???自宅でのテスト環境だったら、たぶんそれでいける。
確認はphp.infoを見る。
無料のレンタルサーバーではほとんど
ドライバが入っていない(ので無理)
0453nobodyさん
2009/02/26(木) 01:55:08ID:???スクリプト中でechoとかprint()使ってるのかなぁ。。
なら、heredocにすれば少しは気を使う部分が減るかもしれない。
$text = 'ちんこ' ;
echo <<<__E_O_T__
<button name="tinko" onclick="alert( '{$text}' ) ;" />
__E_O_T__
HTMLとかJavaScriptは完全に別ファイルにして
<button name="tinko" onclick="alert( '<php echo $text ?> ' ) ;" />
のほうがいいと思うけど。
0454nobodyさん
2009/02/26(木) 02:05:21ID:91pUGaxV<input type="text" name="test" value="">←に、test'sと入力して送信すると、
PHP4だと、
$_GET["test"]の値は、test'sとなりますが、
PHP5だと、
$_GET["test"]の値は、test\'sとなります。
送信された時点でエスケープされているのですが、これはphp.iniで変更可能でしょうか?
0455nobodyさん
2009/02/26(木) 02:08:20ID:???マジックなんちゃらやね
0456nobodyさん
2009/02/26(木) 02:20:57ID:???SQLインジェクションの対策で
そういう変なオプションがある。
自動的に'とかを勝手にエスケープしてくれるっていう。
0457nobodyさん
2009/02/26(木) 03:45:51ID:91pUGaxV0458418
2009/02/26(木) 04:00:48ID:GtV/r+inhttp://www.stackasterisk.jp/tech/php/php02_06.jsp
【form.html】
<html><body>
<form action="display.php3" method="POST">
<input type="text" name="fName" size="30"><br>
<input type="submit" value="submit">
</form>
</body></html>
【display.php3】
<html><body>
<?
print $fName;
?>
</body></html>
今日はこれにチャレンジしてみたのですが、うまく動きません。
どこが悪いのかご指摘下さい。
0459nobodyさん
2009/02/26(木) 04:06:33ID:???そこの情報古すぎるから違うとこのほういいよ
0461nobodyさん
2009/02/26(木) 04:08:51ID:7qsKyuky5分ごとに1減らす、ってどう書けばいいの?
cronとかじゃなくて。
0462418
2009/02/26(木) 04:08:56ID:GtV/r+in有り難うございます。
> $_POST['fName']
をドコと入れ替えるのでしょうか?
0463418
2009/02/26(木) 04:10:48ID:GtV/r+inあ、なるほど。.php3ってそういう意味なんだ。
私の環境はPHP Version 5.2.6でしたw
0464nobodyさん
2009/02/26(木) 04:10:55ID:7qsKyuky計算してるようなんだけど。
だから、例えばページが過疎ってて、
3日間アクセスがなかったら、その間は
計算しない感じ。
そんで3日ぶりにアクセスがあったら、
「えーーっと、、、、前回のアクセスから
3日だから、3(日)X24(時間)X12(5分の単位)
減らせばいっかな、、、」
とかって計算しているようなんだけど??
0465418
2009/02/26(木) 04:17:39ID:GtV/r+in0466nobodyさん
2009/02/26(木) 04:21:18ID:???<html><body>
<form action="display.php3" method="POST">
<input type="text" name="fName" size="30"><br>
<input type="submit" value="submit">
</form>
</body></html>
【display.php3】
<html><body>
<?
print $_POST['fName'];
?>
</body></html>
0468nobodyさん
2009/02/26(木) 04:24:25ID:???【form.html】
<html><body>
<form action="display.php" method="POST">
<input type="text" name="fName" size="30"><br>
<input type="submit" value="submit">
</form>
</body></html>
【display.php】
<html><body>
<?
print $_POST['fName'];
?>
</body></html>
0470418
2009/02/26(木) 04:42:12ID:GtV/r+in有り難うございます。
form.htmlこれで入力枠が表示されます。
で、aaaaaとか入力して、ボタンを押すと、真っ白の画面に変わり何も表示されません。
どうしたらいいでしょうか?
0471nobodyさん
2009/02/26(木) 04:44:09ID:???この行はあってる?
それと、
display.php
ファイル名これに変更したから。
0473nobodyさん
2009/02/26(木) 04:51:12ID:???アパッチは起動してる?
ブラウザのURL欄に
http://localhost/form.html
とかって入力しないとだめだよ
ダブルクリックしてブラウザで見たらだめってこと
今はURL欄に
file:///C:/display.php
とかって表示されてるでしょ?それだとだめ
0474418
2009/02/26(木) 04:56:26ID:GtV/r+inつーか、この状態でソースを表示させると、
<html><body>
<?
print $_POST['fName'];
?>
</body></html>
これがマンマ表示されます。
だから、変数の中に何も代入されてなくて、print関数でnullを表示してるのではないでしょうか?
0475418
2009/02/26(木) 04:57:41ID:GtV/r+inhttp://localhost/php/phpinfo.php
これを入れると、紫色の表がずるずる出て来ます。
0476418
2009/02/26(木) 05:01:07ID:GtV/r+inこれではなく、
http://localhost/php/display.php
これになってて、真っ白の状態です。
0477418
2009/02/26(木) 05:24:06ID:GtV/r+in<?
を
<?php
としました。
有り難うございました。
0478418
2009/02/26(木) 06:41:16ID:GtV/r+indisplay.phpが表示されなくて、ファイルのダウンロードってのが表示されるようになったw
0479nobodyさん
2009/02/26(木) 06:56:40ID:zwlsZYIS外部とのIOはどうなりますか?
たとえば、オープンしてあるファイルとか、
DBとの接続とか。
複数プロセスからファイルがオープンされているような状態になるのはまずいんじゃないかと
思うのですが・・
0480418
2009/02/26(木) 06:57:27ID:GtV/r+inちゃんと、http://localhost/php/form.htmlと打つと。
0481nobodyさん
2009/02/26(木) 07:10:01ID:???0482nobodyさん
2009/02/26(木) 08:12:14ID:WDGjNsPdtxt、cgiや、datファイルなどなどに書き込めることがわかったのですが、
ふと、.phpにもインサートできるのかな?と疑問におもいました。
phpに書き込んで、それぞれ変数に格納していって、参照〜
みたいなのを1000件くらいしたときtxt cgi dat などと比べて速度は変わらないでしょうか?
0483nobodyさん
2009/02/26(木) 09:10:36ID:???拡張子が変わったところでプレーンテキストのデータということには変わりないんだろ?
0484nobodyさん
2009/02/26(木) 09:45:22ID:???DBが使えないといっても、txtが使えるならSQLiteぐらい使えるんじゃない?
まぁ、それが無理として、更新が重ならないという条件が付くなら、phpファイルに
var_export($hoge, true);の結果を書きこむ手はある。
速いよ。
しかし、一気に読み込むからメモリは食うけどな。メモリ割り当て次第。
0485nobodyさん
2009/02/26(木) 10:20:05ID:???なんでvar_export?
取り出すときevalすんの?しかも遅いじゃん
serializeの方が安全で高速
0486nobodyさん
2009/02/26(木) 10:24:40ID:???マイクロ秒単位の誤差などどうでもいい
好きにしろ
0487nobodyさん
2009/02/26(木) 10:36:38ID:???0488nobodyさん
2009/02/26(木) 10:45:56ID:???0489nobodyさん
2009/02/26(木) 12:49:24ID:???0490nobodyさん
2009/02/26(木) 12:49:59ID:???dw8から乗り換えるわwwwwwwwww
0491nobodyさん
2009/02/26(木) 12:50:37ID:???0492nobodyさん
2009/02/26(木) 12:54:45ID:hOiLi7h5文字列を1byteじゃなく1bitを取得することってできますか?
0493nobodyさん
2009/02/26(木) 13:06:37ID:???0494nobodyさん
2009/02/26(木) 13:15:31ID:???0495nobodyさん
2009/02/26(木) 13:22:02ID:???はぁ?
試したのかよ。$data = 付けて保存したら、includeするだけだぜ。
unserializeの方が遅いよ。
0496nobodyさん
2009/02/26(木) 14:12:33ID:YD+Z+nCMしかしPHP内で
header("Not Found", true, 404);
と書くと、設定している404エラー画面ではなくブラウザの404エラー画面が出ます。
設定しているエラー画面を表示させるにはどう書けばいいでしょうか?
■ このスレッドは過去ログ倉庫に格納されています