【PHP】下らねぇ質問はここに書き込みやがれ 29
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/09/17(日) 04:26:39ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0384nobodyさん
2006/09/23(土) 13:54:10ID:???(1)「自分よりもコーディングスキルが低い(=低能)」
でなおかつ
(2)「それにも関わらず自分よりも高額の報酬を得ている」
と勝手にみなした相手に対して心の底から怒りと敵意と憎しみの
感情が湧いてきて、法律無視で勝手にサーバーに
アタックを仕掛けたりとか、そういう連中が多いの?
0385nobodyさん
2006/09/23(土) 14:40:02ID:???LXXXI. その他の関数(Misc) - highlight_string()
こんなのまで用意してあるのか
0386nobodyさん
2006/09/23(土) 15:33:44ID:???(1)「自分よりもコーディングスキルが低い(=低能)」
でなおかつ
(2)「それにも関わらず自分よりも高額の報酬を得ている」
と勝手にみなした相手に対して心の底から怒りと敵意と憎しみの
感情が湧いてきて、法律無視で勝手にサーバーに
アタックを仕掛けたりとか、そういう連中が多いの?
0387nobodyさん
2006/09/23(土) 16:01:47ID:???0388366
2006/09/23(土) 16:57:09ID:???レス遅れてすみません。
大変参考になりました。
ちゃんとUTF-8になりました。
どうもありがとうございました。
0389nobodyさん
2006/09/23(土) 17:20:39ID:pwav1FM0できるならどうやるか説明してあるサイトなどを教えてください。
ググってみたけどキーワードがイマイチ分からなくてうまく探せません。
0391nobodyさん
2006/09/23(土) 17:37:49ID:iHfFDUzp0392nobodyさん
2006/09/23(土) 17:41:08ID:???JavaScriptのソースそのものをPHPが生成できるから、
データを引数に埋め込んだJavaScriptソースを作って
表示してしまえばOK
0393nobodyさん
2006/09/23(土) 17:43:38ID:pwav1FM0おー!なるほど!
頭固かったです。
助言ありがとうございます
0395nobodyさん
2006/09/23(土) 20:39:42ID:???みなした相手が、自分よりも高額の報酬を
受け取ってるって感じると、心の底から激しい
敵意と憎しみと怒りの感情が湧き上がってきて
対象のサーバーを法律無視で勝手にアタックしたり
とかしてるの?
0397nobodyさん
2006/09/23(土) 21:12:36ID:+xHt5Ti5別のPHPファイルでその中身を参照し多次元配列の中身を
すべて取り出し、元あった配列と同じように格納したいのですが
どのような方法があるでしょうか?
要素数は数字ではなくこちらが任意に割り当てた文字列です
ご教示ください。よろしくお願いいたします。
0398nobodyさん
2006/09/23(土) 21:19:11ID:???1:多次元配列の中身をファイルに書き込む
2:ファイルを読み込む
3:読み込んだファイル内容を多次元配列に書き込む
これで良いんじゃないか!?
0402nobodyさん
2006/09/23(土) 22:18:05ID:3bqiWr3Uセキュリティー対策でたとえば何があるでしょうか?
xxs対策でhtmlspecialcharsで無害化(『'』も含める)以外に
なにかありましたらどうか私にご教授お願いいたします。
0407nobodyさん
2006/09/23(土) 22:47:34ID:???var_export($val, true) か serialize($val) で得られる文字列なら元に戻せる。
0408nobodyさん
2006/09/23(土) 23:54:52ID:9euC2hhU---------------------------------------
class Parent
{
var $array = array(1, 2, 3);
}
---------------------------------------
A: 同一値でvarが上書きされた場合
---------------------------------------
class A extends Parent
{
var $array = array(1, 2, 3);
}
---------------------------------------
B: var指定無しの場合
---------------------------------------
class B extends Parent { }
---------------------------------------
AとB共に$this->arrayはarray(1,2,3)なんだけど
$this->arrayが、Aのように同一値の上書きなのか
Bのようにサブクラスで上書き指定がないから継承されてるのか
どちらなのかをサブクラス内から判断する方法ってある?
get_object_vars/get_class_varsでも継承後の値になっちまう
0409nobodyさん
2006/09/24(日) 00:12:19ID:???0410nobodyさん
2006/09/24(日) 02:26:26ID:???0411nobodyさん
2006/09/24(日) 02:55:23ID:???xxsじゃなくてxssね。しかもその意味もよく理解していないようだな。
XSSってのはHTML表示の時に問題になるのであって、データベース関連には関係ない。
データベースへの入力にはそれ専用のエスケープ関数があるから調べて使え。
>>404
このド素人に現段階でCSRFなんて言っても無用な混乱を招くだけの気がする。
0412nobodyさん
2006/09/24(日) 03:28:53ID:????????????、???????]?????、???
0414nobodyさん
2006/09/24(日) 08:03:54ID:???表示時にhtmlspecialchars
0416nobodyさん
2006/09/24(日) 09:30:18ID:???データベースにデータを挿入する祭にhtmlspecialchars( )で処理すると、text/htmlなどのフォーマット意外
(例えば電子メール)で利用する際に使えなくなるから、再利用性が無いし効率が悪い。
だったらHTML文書でブラウザに出力する際にhtmlspecialchars( )で処理すればいい。
0417nobodyさん
2006/09/24(日) 09:54:53ID:???0418nobodyさん
2006/09/24(日) 09:58:19ID:???0419nobodyさん
2006/09/24(日) 10:02:50ID:hqJ9+PnBひろみちゅ先生は、表示時ではなくDB挿入時にhtmlspecialcharsすることをすすめているのか?
0420nobodyさん
2006/09/24(日) 10:17:26ID:???登録ボタン押す前に、他のリンクボタンを押されたら、一時フォルダに画像が残る。
どうすれば、良いのですか?
0421nobodyさん
2006/09/24(日) 10:24:47ID:???そのワークの保存が必要な処理なら、定期的に古いファイルを掃除する
スクリプトの実行がベターじゃないかな。
掃除スクリプトはcronバッチでもアップロード処理の頭でもどっちでもいいけど。
0422nobodyさん
2006/09/24(日) 10:31:03ID:???一般に表示は更新に比べて使用頻度の高い処理なので、
高パフォーマンスを必要とする大規模サイトではあらかじめ変換しとくよね。
再利用性を意識するなら元データと変換済みデータの2種類保存。
パフォーマンスに特にこだわらないんであれば元のまま置いといた方が便利なこともある。
DB格納ではなく静的HTMLを生成しちゃう場合もあるけどそれはシステムに応じてTPO。
>>418
>>416みたいにメール配信に使う場合とか、検索処理で使いたいとか(実体参照変換
されてると精度または速度に難が出る)、あと表示データの再編集機能とか付けることもあるかな?
0423nobodyさん
2006/09/24(日) 11:15:24ID:???date関数では現在の日付しか返してくれません。
何かよい関数はありませんか?
0425nobodyさん
2006/09/24(日) 11:24:59ID:???ファイルをアップ→確認ページ→登録。という流れで、確認ページでファイルの適正を
調べて、エラーがあれば削除、無ければ一時保存してます。
んで、そのファイルを登録ページでDBに登録してるのですが。
cronはちょっと、解らないっぽいす。。
こうゆう場合、どんな風にすればいいんですかね!?
所定のボタン以外が押されたら、削除してリンク先に飛ぶことってできます?
0426nobodyさん
2006/09/24(日) 11:31:43ID:???とりあえず、システムの /tmp に一時保存しておけば?
あれって定期的に自動で削除されるんだっけ。
それから上手に設計することも大切。
というか、ファイルの適正を調べるって具体的に何がしたいの?
0427nobodyさん
2006/09/24(日) 11:38:14ID:???そういう場合、手っ取り早いのはアップロードの開始または受信ページの処理で
古いゴミファイルが残ってないか探して掃除する処理を追加でいれとく方法。
所定のボタン以外クリック〜は結構ムリがあるので諦めた方が吉。
>>426
サーバー再起動が入らなきゃ消えないと思うけど >/tmp
アップロードで途中に確認処理を入れたいくらいはごく普通の話じゃない?
0428nobodyさん
2006/09/24(日) 11:46:43ID:???{
link( $filename );
exit;
}
0430nobodyさん
2006/09/24(日) 12:29:28ID:OMjQUi71たとえば、http://example.com/movie/01.aviみたいなの
0431nobodyさん
2006/09/24(日) 12:39:38ID:???{
$size = strlen(file_get_contents($url));
return $size;
}
0432nobodyさん
2006/09/24(日) 12:49:40ID:???おー、どうもありがとうございます。
でも、このばあいファイルがない時すごい時間がかかっちゃうんですけど
タイムアウトの設定とかできないんでしょうか?
0433nobodyさん
2006/09/24(日) 13:00:07ID:???確認ページって別ページに遷移するのか?
そうなら>>426のtmpfileは使えない(fcloseで消える)
0434nobodyさん
2006/09/24(日) 13:01:15ID:???filesize('http://example.com/movie/01.avi')で通らないか?
通らないならどっかに設定があった気がする
0436nobodyさん
2006/09/24(日) 13:11:44ID:???filesize('http://example.com/movie/01.avi')は通らなかったです
レン鯖なのでphp.iniも弄れないです
0438nobodyさん
2006/09/24(日) 13:29:00ID:???「自分よりも低スキル(=低能)」
とみなした相手が
「自分よりも高額の報酬を受け取っている」
と知ったとき、どういう感情を抱くの?
0439nobodyさん
2006/09/24(日) 13:41:55ID:???それだったらfile_get_contentsもダメのような・・
$fp = fopen($url, 'r');
$stat = fstat($fp);
echo $stat['size'];
とかどうなんだろ
0440nobodyさん
2006/09/24(日) 13:49:40ID:OMjQUi71助言ありがとうございました
0442nobodyさん
2006/09/24(日) 14:00:56ID:???マニュアル嫁
0443nobodyさん
2006/09/24(日) 14:03:59ID:DZtBW6OC0444nobodyさん
2006/09/24(日) 14:36:22ID:uiOmiLkx色々と機能をつけたし、ユーザー関数を雨後のたけのこのように作ってきたのですが、
そうするとあたり前のように似たような関数が作られ、使いがっての悪い関数は使われなくなりソースの片隅に放置されてしまいます。
このように定義はされているが、一度も呼び出される可能性のない関数を調べることは出来るのでしょうか?
もしそのような便利な方法などがあればご教授ください。
よろしくお願いします。
0445nobodyさん
2006/09/24(日) 15:41:05ID:???むつかしいな。
grepで頑張るか。
parsekitである程度調べられないかな?(php5で動くっけ?)
定義されてる関数の列挙くらいはできるので、そのリスト+適当にスクリプト書く+grepでやるとか。
つーか、正規表現でゴリゴリ書いてもけっこうすぐできそうだな。
/\bfunction\s(\S+)\s*\(/
で定義を抽出。それぞれの関数名に対して
/(?<!\bfunction\s)\b$func_name\s*\(/
の出現回数を数える。
あ、<?php ?>の外側と文字列とコメントを除かないとマズイか。
それじゃ簡単な字句解析ルーチン作って・・・・・・たぶん俺はこの辺で寝ると思う。
0446nobodyさん
2006/09/24(日) 15:47:32ID:???foreach(range(1,7) AS $passday){
echo date("Y-m-d",strtotime("-{$passday} day"));
}
0447nobodyさん
2006/09/24(日) 16:11:45ID:???技術的な能力が低くても、技術を換金する能力が高いことも
経済社会においては高報酬につながるとあらためて思うだけ。
0449nobodyさん
2006/09/24(日) 17:03:51ID:???この記述をなくすと、正常に次のページで表示される。
ずっと悩んでます。どうか教えてください。
ちなみに両ページともEUCです。
0450nobodyさん
2006/09/24(日) 18:08:06ID:hqJ9+PnB<!-- 美乳 -->
と書いてください。そうすると文字化けがなおります。
詳しくは、Googleで「文字化け 美乳」をキーワードにして検索して自分で調べてみてください
0452nobodyさん
2006/09/24(日) 18:31:51ID:hqJ9+PnBこのページの途中の「HTTP入出力」ってとこに書いてある話が関係してるのかな?
まずPHPのバージョンがわからないとね
0453nobodyさん
2006/09/24(日) 19:03:20ID:???ありがとうございます!!!そのページにある
「EUC-JP ユーザ用の php.ini の設定」の設定に変更してみたところうまくいきました!!
本当にありがとうございます。
バージョン言って無くて申し訳無かったです。
PHP Version 5.1.6でやってます。
0454nobodyさん
2006/09/24(日) 20:05:18ID:???違っていれば別スレに誘導していただけると嬉しいです。
http://allabout.co.jp/internet/database/closeup/CU20020721/index.htm
このサイトを見てMySQLをインストールしました。(3.23.58)
cd mysql\bin と入力すると「指定されたパスはありません」と出たので、
これはc\mysql\bin で解決しました。
次に、
mysqladmin ping
と入力して、稼動しているか調べようとしたのですが
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to MySQL server on 'localhost' (10061)'
Check that mysqld is running on localhost and that the port is 3306.
You can check this by doing 'telnet localhost 3306'
とエラーがでます。
これは、localhostが見つからないということなのでしょうか?
0455nobodyさん
2006/09/24(日) 20:05:21ID:???逆だよ
ひろみちゅ先生は、HTMLとして出力するときに、htmlspecialcharsすることを推奨している
0456454
2006/09/24(日) 20:09:05ID:???事故解決しました
0458nobodyさん
2006/09/24(日) 20:52:39ID:???だったら初めから余計なこと言うなボケ。素人に誤解を招く。
>>414が正しいこと言ってるのに、>>415でお前が余計なこと書いたから
このような流れになった。
ちなみに俺はこの流れに一切関係ない。初めて発言した。
0459nobodyさん
2006/09/24(日) 20:55:57ID:???しているのですが.jpgのギガピクセル超え(5MB以上)だと極端に重くなります。
処理時間におおよそ20秒程度。
これで普通でしょうか
0460nobodyさん
2006/09/24(日) 20:57:17ID:???皆からしたら「それくらい?」って思うが俺からしたら大進歩♪
0461nobodyさん
2006/09/24(日) 21:00:07ID:???0465nobodyさん
2006/09/24(日) 22:44:08ID:C1aKz/pPifの中に組み込むとか……
たとえば
$i = 5;
if (!$i = 5){
echo "iは5";
}else{
echo "iは5でない";
}
とやると iは5でないとなります。
しかし
$i = 4;
としても iは5でないとなります。
$i=5; のとき
iは5ではない=5 → 偽
となりそうなのはわかるのですが
$i=4; のとき
iは4ではない=5 → 偽
となるのが意味わかりません。
0466nobodyさん
2006/09/24(日) 22:50:56ID:???0467nobodyさん
2006/09/24(日) 22:51:40ID:???まぁ誰しも通る道だけどね。
0468nobodyさん
2006/09/24(日) 22:57:13ID:???本とかマニュアル、よく読もうよと言いたいとこだけど。
0469nobodyさん
2006/09/24(日) 23:14:40ID:???あのマニュアルは用語とか多用しているし、プログラミング経験が無い人には取っ付きにくいと思う。
だが日本語訳もあるしかなり環境は良いなPHPって……。
0470465
2006/09/24(日) 23:22:25ID:C1aKz/pPとなっていました。
ということは
$i が偽のとき真を返す。
$i = 4;
if(!$i == 5){
echo "iは5";
}else{
echo "iは5でない";
}
i=4 =5でないから偽
偽の場合は真を返す → echo "iは5";
のはずなんですが…… 偽の答えがでてきます。
考え方が何か間違ってますでしょうか?
0471465
2006/09/24(日) 23:27:01ID:C1aKz/pPif($i>5 && $i<10){
echo "6〜9です";
}else{
echo "6〜9ではありません";
}
みたいな、論理演算子で&&と||は理解したのですが…… ! がどうしても。
}
0472nobodyさん
2006/09/24(日) 23:37:36ID:???http://www.php.net/manual/ja/language.operators.logical.php
+------------------------------------------+
| ! $a | 否定 | $a が TRUE でない場合 TRUE |
+------------------------------------------+
$a = FALSE;
if (! $a) echo '$aはTRUEではない';
$b = 0;
if (! $b) echo '$bは0';
// integerの '0' はFALSE
// 参考: http://www.php.net/manual/ja/language.types.boolean.php#language.types.boolean.casting
0473nobodyさん
2006/09/24(日) 23:39:20ID:???0474nobodyさん
2006/09/24(日) 23:41:27ID:???演算子の優先順位(掛け算や割り算は足し算引き算より先に計算される、というアレね)で
! は == より上。
だから if(! $i == 5) ってのは
まず ! $i が計算されて、$i が 0 であれば 1に、0以外であれば 1 にされる。
そしてそれが == 5 で 5と一致するか、を判定される。
正しくは if(! ($i == 5)) のように書く。
0475nobodyさん
2006/09/24(日) 23:45:47ID:???>>470
演算子の優先順位に関しては、言語リファレンスの演算子の所に載ってるよ。
http://www.php.net/manual/ja/language.operators.php
0476nobodyさん
2006/09/24(日) 23:46:39ID:???0477nobodyさん
2006/09/24(日) 23:47:02ID:???if ($i != 5)
って書くな
0478nobodyさん
2006/09/25(月) 00:00:43ID:???0480nobodyさん
2006/09/25(月) 00:01:57ID:???プリント 5
って書くな
0481nobodyさん
2006/09/25(月) 00:02:19ID:???0483nobodyさん
2006/09/25(月) 00:06:59ID:???風呂行ってさっぱりしてくるか
それはそうとちょっと聞いてくれ。
俺10月からPGじゃなくなるんだ
細かく書いちゃうと特定されるかも知れないから書かないけど
SEでもない。
やることはもちろんこの業界なんだけど何か寂しい
仕事でプログラミングできないのが凄く寂しい
またプログラミングがしたいな
0484465
2006/09/25(月) 00:08:36ID:9eV2tYIW>>474さん
>>475さん
どうもありがとうございます。
boolean に変換する場合、次の値は FALSE とみなされます。
がとても参考になりました。
演算子の優先順位があるとは気づかなかったです。 ようやく一歩前に進めたと思います。
これからいろいろサンプル作って試してみます。
どうもありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています