【PHP】下らねぇ質問はここに書き込みやがれ 25
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2006/07/23(日) 20:00:03ID:???ここならお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
過去スレは>>2
0911拓海
2006/08/05(土) 21:18:23ID:Tub8+xQyわからない人はレスしなくていいですよ、あなたはスルーも出来ない子供なんですか。あとあっちにリンク貼らないでください。迷惑千番です。
0914nobodyさん
2006/08/05(土) 21:34:17ID:???君には迷惑かもしれないけど、向こうの人たちには大変な朗報だと思いますよ。
PHPが何かも知らないガキは書き込むなってこと。
0915nobodyさん
2006/08/05(土) 22:11:00ID:DDZI29mp0916No-Title
2006/08/05(土) 22:35:52ID:KJXGQj4k>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
>>拓海wwwww
ABCオロチの無料サーバーでほぼ荒らし的な行為を繰り返している馬鹿厨房wwww
0918nobodyさん
2006/08/05(土) 23:59:45ID:???そんな時代は2.3年前に終わったと思っていたよ。
0919nobodyさん
2006/08/06(日) 02:35:21ID:sjZAg5e5ローマ字入力にしてAが含まれれば+1ポイントとかそんな感じ?
0921nobodyさん
2006/08/06(日) 02:49:42ID:???0922nobodyさん
2006/08/06(日) 02:55:14ID:???0923nobodyさん
2006/08/06(日) 03:21:21ID:???傾向を作るか作らないかによる。
手っ取り早くは名前のMD5取って適当にやればいい。
たとえば2人それぞれから1文字目をとって近ければ相性がいいとか。
姓名の間にある空白がどっちでも同じ結果になるように修正は必要だろうね。
実際の姓名判断は知らんけど、斎藤と斉藤を同じ扱いにするみたいな処理は入るかもね。
0924nobodyさん
2006/08/06(日) 03:36:48ID:???0925nobodyさん
2006/08/06(日) 04:15:27ID:EsUUYOdrphpversion()>="4.1.0"
例えばこういうのは、内部的に数値型へキャストしてるのではなく、アスキー値で比較してるんですかね?
式中に + などの数値用の演算子を使用した場合は、文字列は数値型へキャストされる という理解でいいんでしょうか?
0926925
2006/08/06(日) 04:16:48ID:EsUUYOdr○キャストされる
×キャストされてから評価される
0927nobodyさん
2006/08/06(日) 04:31:31ID:???0928nobodyさん
2006/08/06(日) 04:37:37ID:???内部のzvalについてはZendのドキュメントかソースコードを読
0929925
2006/08/06(日) 04:58:44ID:EsUUYOdrphpversion()についてではなく、式の中で型がどう自動変換され評価されるか についてです。phpversion()は例として出しました。
型についてのマニュアルもひととおり見ました。
if("1.1.1">"1.1.0"){
print("true");
}
出力結果:true
↑このような式がなぜ成立するのか、内部的にはどう型変換などが行われているのか について解りません。
1.1.1 なんて数値はfloatとしても不正ですから、floatに変換され、評価されてるわけではないというのは解るんですが・・
だったら、アスキー値として評価されてるのでしょうかね??そのへんが解りません。
あと、<や>などの演算子は必ずしも数値を要求するわけではないのでしょうか?
0930925
2006/08/06(日) 05:14:00ID:EsUUYOdr要するに、↓の式も成立するわけですね。
if("A"<"B"){
print("true");
}
出力結果:true
という事は、
if("1.1.1">"1.1.0"){
print("true");
}
と
if("\x31\x2E\x31\x2E\x31">"\x31\x2E\x31\x2E\x30"){
print("true");
}
は等価で、 > は数値を要求するわけではない(数値変換して評価するわけではない)という事ですね?
間違ってたらつっこみお願いします
0931nobodyさん
2006/08/06(日) 05:45:30ID:???詳しくはzend_operators.c
0932925
2006/08/06(日) 06:01:37ID:???zend_operators.c というとphpそのもののソースコードのようなものですよね?
ちょっと敷居が高そうですが・・(汗 余裕があれば参考にしてみます。
0933nobodyさん
2006/08/06(日) 06:15:34ID:???関数 mb_http_outputは任意の変数がどんな文字コードでも出力時には指定文字コードに変換してくれるのでしょうか?
0934nobodyさん
2006/08/06(日) 06:26:34ID:???0935nobodyさん
2006/08/06(日) 08:19:57ID:CMHstoCK0936nobodyさん
2006/08/06(日) 10:16:10ID:???ブラウザ側でキャッシュしない設定を行えば正常なんですけど。
普通、ページ内容が変化するのでキャッシュしないはずなんだけど。。。
なんででしょう?
0938nobodyさん
2006/08/06(日) 10:23:34ID:???URLにパラメータが付加されてればキャッシュしないことが多いけど、
パラメータが無ければ内容がなんであれキャッシュ読んじゃうのが一般のブラウザの設定。
それを防ぐにはブラウザに送信するヘッダ出力に「変更があるよ」かもしくは
「このページはキャッシュ禁止」というサインを出さないといけない。
0939nobodyさん
2006/08/06(日) 10:26:34ID:???一応、これだけ書いてますが・・・ダメです。
<HTML>
<HEAD>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Sat, 01 Jan 2000 00:00:00 GMT">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-JP">
<TITLE>INS 試験</TITLE>
</HEAD>
<BODY>
<?
以下PHP
0942nobodyさん
2006/08/06(日) 10:56:06ID:???大ありがとうございます!早速やってみたら・・・GJでした。
<?
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // 過去の日付
?>
(参考)
http://phpspot.net/php/man/php/function.header.html
0943nobodyさん
2006/08/06(日) 11:44:21ID:???0944nobodyさん
2006/08/06(日) 12:00:41ID:???0945nobodyさん
2006/08/06(日) 12:02:00ID:???0947nobodyさん
2006/08/06(日) 12:48:57ID:???0948nobodyさん
2006/08/06(日) 12:56:28ID:???0949nobodyさん
2006/08/06(日) 14:17:59ID:???file_put_contents("./data.php", "<?php\n\$data = " . var_export($data, true) . ";\n?>");
みたいな感じで PHP スクリプトとして書き出して、読み込む時には
include("./data.php"); で読み込んでいるのですが、この方法、何かやばかったりするでしょうか。
基本的にデータファイルへの直アクセスは .htaccess などではじいています。
0950nobodyさん
2006/08/06(日) 14:27:22ID:hfhMCxc10952nobodyさん
2006/08/06(日) 14:42:34ID:???0953nobodyさん
2006/08/06(日) 14:42:38ID:???var_exportの引数$dataに何が与えられるかによる。
例えば外部からくる変数だと、ちゃんとチェックしないと心配かな。
0954nobodyさん
2006/08/06(日) 14:45:18ID:???それは別に出力がPHPコードであろうとなかろうと一緒の気がするんだが。
自分でPHPコード化してるならともかく、var_exportを通してる時点で
エスケープ処理もできてるんだし、他の変数を破壊されるような心配はないだろ。
0955nobodyさん
2006/08/06(日) 15:17:40ID:???internal_encodingがSJISでデータに日本語を含んだりするわけじゃなきゃ問題ないのでは?
SJISでそういう手法を使うとvar_exportはSJISの特殊な構文パースに対応しないから、
$data = '表';
とかいうデータだった場合、
期待する出力
<?php
$a = '表';
?>
実際の出力
<?php
$a = '表\';
?>
となって、include時にパースエラーを起こす。
ま、常識的にUTF-8かEUC-JPでスクリプト書いてれば特に心配はないよ。
0956949(950)
2006/08/06(日) 15:34:08ID:hfhMCxc1自分の知らない脆弱性か何かがあるかもしれないと思い質問しましたが、平気そうですか。ありがとうございます。
>>953
$data = array(0 => array('name' => 'xxx', 'date' => 'xx.xx.xx'), 1 => 以下略);
のような多次元配列が格納されています。外から来たものは一応個別にサニタイズしています。
>>954
UTF-8 で書いています。心配はあまりしなくても良いみたいですね。ありがとうございます。
皆様ありがとうございました。
0958nobodyさん
2006/08/06(日) 16:00:27ID:???0959>>958
2006/08/06(日) 16:11:32ID:???アケwケ→厩w
0962nobodyさん
2006/08/06(日) 16:55:12ID:???"$data"が固定されるとか、1ファイル1データ制限とかはまあ仕方無いとして、特に問題無いんじゃないかな。
問題が出て来たとしてもすぐにserialize/unserializeに切り替えられるし。
>>958
sjis送信されたテキストがEUCとして扱われている。設定ミスだね。
例を出せたのは良いけど、その程度の知識で内部エンコーディングにsjis使うとデメリットしか出ないよ。
と思ったらできました。ありがとうございます。
mbstring.http_input = auto
↓
mbstring.http_input = SJIS
0965nobodyさん
2006/08/06(日) 17:48:40ID:???949の例が単純すぎるだけで、別に1ファイル1データ制限とかは無いと思う。
例えば
$save = "<?php\n";
foreach($envlist as $name => $value) $save .= "\$$name = " . var_export($value, true) . ";\n";
$save .= "?>";
file_put_contents($savefile, $save);
とする程度で普通に汎用化できるし。
変数名固定問題も、関数内でローカル変数としてincludeして、returnでリファレンスを返すか
指定した別の変数に代入するって仕組みにすれば全然問題ない。
後はunserialize()とincludeでのPHP構文パースとどっちが高速かの勝負だろう。
コードキャッシュと組み合わせればこっちの方が性能は高いかもしれんよ。
0967nobodyさん
2006/08/06(日) 19:21:37ID:VRNU21+tそこで配布していた『HTML テンプレート』を使いたいんだけど
見当たらなくて困ってます。
どこに移ったか知っている方、
もしくはPHP5 版『HTML テンプレート』を
再配布しているところを知っている方
教えてください。
0968nobodyさん
2006/08/06(日) 19:41:29ID:???そういう話なら
【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc8.2ch.net/test/read.cgi/php/1118799352/
こっちの住人の方が詳しいと思う。
0970nobodyさん
2006/08/06(日) 23:12:52ID:???こちらに書いてあるような方法でBASIC認証をした後、ブラウザを閉じるまで $_SERVER['PHP_AUTH_USER'] の情報が維持されますが(ブラウザのクッキーに?)、ログアウトさせて明示的に情報を消去させる(クッキーの?)ためにはどうすればよいでしょうか?
0971nobodyさん
2006/08/06(日) 23:20:32ID:???0972nobodyさん
2006/08/07(月) 03:11:14ID:???$thisで何故かエラーになってしまいます。
全く分からないのでもし分かる方いらっしゃいましたらお願いします
class checked {
function checkFData() {
global $fobj;
global $DATA;
$fobj = new FDataUtil();
$fobj->setVar('title');
$fobj->setVar('cate');
$fobj->setVar('aflg');
$fdata = $fobj->getFData();
$this->DATA = $fdata; //ここ
}
}
0973nobodyさん
2006/08/07(月) 03:23:21ID:???0974nobodyさん
2006/08/07(月) 03:55:10ID:???0976nobodyさん
2006/08/07(月) 04:52:34ID:???どうでも良いけどglobalて。。
0977nobodyさん
2006/08/07(月) 06:08:58ID:???1.log
2.log
3.log
4.log
5.log
↑のような構成のディレクトリから3.logを探してアクセスするのと、↓のようなファイルから3に対応する行を探すのとどっちが高速ですか?
1
2
3
4
5
0979nobodyさん
2006/08/07(月) 06:45:37ID:???どう考えても前者。
よっぽど異常なハード構成じゃなきゃ後者の方が速くなる事はまず無い。
ただ、前者の方式は数が増えすぎると1個のディレクトリに収まらなくなる難点がある。
1000や2000くらいまでなら全然問題なし。
0980nobodyさん
2006/08/07(月) 06:48:31ID:???保存先はクッキーではなくブラウザのプロセスが持つメモリ上だろう。
だからブラウザが起動中はずっと保持される。逆に言えばブラウザを終了させれば消去される。
PHPなどサーバー側の仕組みでブラウザを終了させることは不可能。
JavaScriptでも、1個のウインドウだけならともかく全ウインドウを閉じさせるのは至難の業。
0981nobodyさん
2006/08/07(月) 06:49:49ID:???var $DATA;がclass checkedに存在しないからじゃない?
多分、PHP4の頃はNoticeエラーを表示しない設定にしてたんだろ。
0983nobodyさん
2006/08/07(月) 07:16:48ID:???だいたいエラー出た行のひとつ前に原因があるんだよ
class checked {
var $fobj;
var $DATA;
var $fdata;
......
0984nobodyさん
2006/08/07(月) 07:27:41ID:???まさか3.logを探す、ってのを
glob("*.log")の配列から探すとか
opendir→readdirして順番に探すとか
そんなことしてるわけじゃないよな?
file_exists("3.log")やって読み込むだけなら、後者でファイル読み込むのと
ほぼ同じ手間だけで検索も完了するし読み込む量も最小限で済む。
それで前者より後者の方が速くなる理屈はまず無いと思うんだが。
0985982
2006/08/07(月) 08:02:23ID:???>glob("*.log")の配列から探すとか
>opendir→readdirして順番に探すとか
>そんなことしてるわけじゃないよな?
いえ、違います。
ファイルシステムの事とかよくわからないので、ふと疑問に思ったんです。
file_exists("3.log")とかやった時、結局はファイル名のテーブルのようなものから一つ一つ照合して探しているのかなぁと思いまして。
だったら>>977の前者も後者もやっている事は同じで、メモリのが高速だから後者のが早いのかなぁとなんとなく思ったんです。
でも違うんですね。
0986nobodyさん
2006/08/07(月) 08:13:55ID:???その場合、後者のはそもそもファイルをopenする段階で
file_exists("3.log")と同じだけの時間がかかってる。
後者は前者+αの処理なのに速いわけがなかろう。
0987nobodyさん
2006/08/07(月) 08:15:07ID:???だいたいそんな感じ。
けど後者もファイルを開くときに前者と同じようにファイルを探すから、
ファイルを開いた時点で後者の負け。
0988nobodyさん
2006/08/07(月) 08:17:25ID:???0989nobodyさん
2006/08/07(月) 08:24:13ID:???後者のやり方で前者を抜こうと思ったら、いちいちファイルから読み込まずに
最初からメモリ上の配列に用意しとけということだ。
しかし実際は、最初に読み込んでおく時点で無駄に時間がかかるし、
メモリも無駄に食うしで、よほど使用頻度の高い処理でなければ価値がない。
後者の内容別にファイルを持つやり方は、管理が面倒になる上に、
ディレクトリ内に置けるファイル数の制限などもあるので、扱いにくい。
つまりそういう検索が必要なデータはDBに置いてindexを振っておけってことだよw
0990名無し募集中。。。
2006/08/07(月) 12:02:51ID:xN6e+uCjアップロード終了と同時に削除される
なのでis_upload_fileのあとでmove_upload_fileを使ってtmp_nameのファイルを移動する必要がある
http://php.s3.to/man/features.file-upload.html
>移動または名前の変更が行われていない場合、リクエストの終了時にその ファイルはテンポラリディレクトリから削除されます。
0991nobodyさん
2006/08/07(月) 12:11:54ID:???というか次スレ誰か頼む…
自分は無理だった。
0992名無し募集中。。。
2006/08/07(月) 12:15:51ID:xN6e+uCj0993nobodyさん
2006/08/07(月) 12:17:14ID:???カキコしたんじゃねーの?
0994名無し募集中。。。
2006/08/07(月) 12:18:36ID:xN6e+uCj俺が夏休みで暇なんで上からログを読んでただけだ
0995nobodyさん
2006/08/07(月) 13:14:50ID:???立てたー
【PHP】下らねぇ質問はここに書き込みやがれ 26
http://pc8.2ch.net/test/read.cgi/php/1154923910/
0998nobodyさん
2006/08/07(月) 14:15:13ID:???一部、より初心者向けの内容に手直ししただけ。
0999nobodyさん
2006/08/07(月) 14:28:31ID:???1000nobodyさん
2006/08/07(月) 14:35:13ID:???がんばるぞー!!
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。