トップページphp
1001コメント342KB

【PHP】下らねぇ質問はID出して書き込みやがれ 85

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/06/15(月) 22:53:52ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0621nobodyさん2009/07/17(金) 11:00:20ID:???
>>620
クラスは1ファイルに納めておk
0622nobodyさん2009/07/17(金) 11:03:34ID:???
1ファイル以外に納めるやり方なんてあるのか
0623nobodyさん2009/07/17(金) 11:14:33ID:???
>>597
オブジェクト指向ねぇ。

ユーザー定義関数としてまとめてるでしょ?
いろんなプログラムで汎用的に使う関数は
きっと別のファイルに分けてまとめているはず。

オブジェクト指向は、このまとめ方をさらに発展させたものだよ。
いろいろごちゃごちゃ言う人いるけどねw
0624nobodyさん2009/07/17(金) 12:01:11ID:???
oopの本質はポリモることだろ
データと関数をまとめただけとか低レベルすぎ
0625nobodyさん2009/07/17(金) 12:23:31ID:???
じゃあポリモを実現できる本質はなんだよw
そこを言えよw
0626nobodyさん2009/07/17(金) 12:28:29ID:+Z3bH2zE
【OS名】win vista homepremium 32bit
【PHPのバージョン】php5.30
<?php
//setting.txtの読み込み
{
$setting_txt = file( 'setting.txt' );
foreach( $setting_txt as $setting ){
$setx = split("\n", $setting);
$set[$setx[0]] = $setx[1];
unset($setx);
}
}
?>
これを実行すると

Warning: implode() [function.implode]: Invalid arguments passed in X:/index.php on line 6

Warning: implode() [function.implode]: Invalid arguments passed in X:/index.php on line 6
何か根本的な勘違いをしてるような気がするのですが
自分ではわかりません指摘していただけると嬉しいです
0627nobodyさん2009/07/17(金) 12:32:19ID:WCCLHa3V
アップロードされたファイルを受け取って処理するケースについて教えてください。

心配しているのが、大量のファイルを悪意でアップロードされた場合に、
どのように防ぐか悩んでいます。
最大アップロードサイズを指定しても、それに満たないサイズで、
大量にアップロードされた場合に防ぐ方法が分かりません。


質問1:
クライアントからアップロードされたファイルを一時ファイルに置く処理(upload_tmp_dirで指定された場所に置く処理)は、
どのタイミングで行なわれるのでしょうか。
悪意のユーザーと分かった時点で、アップロード中に処理を切りたいと思います。

質問2:
upload_tmp_dirに置かれた一時ファイルは自動的に削除されますか?
Windowsでは、アップロードされた一時ファイルが探しましたがありませんでした。
「C:\WINDOWS\Temp」のところを見ました。

スクリプトの処理が終わると自動的に消去される仕組みでしょうか。

宜しくお願いします。
0628nobodyさん2009/07/17(金) 12:33:00ID:???
そのコードのどこにもimplodeなんて使われてないのでもっと上のほうでは?具体的には6行目
0629nobodyさん2009/07/17(金) 12:34:15ID:???
>>627
悪意のユーザってどうやって判別するの?
一時ファイルを削除するのはOSの仕事じゃないですかね.
まぁ別にPHPから削除してもいいと思うけど
0630nobodyさん2009/07/17(金) 12:56:05ID:WCCLHa3V
>>629
レスありがとうございます。

悪意のユーザを判定する一つとしては、
小さいファイルを何回も何回も短時間にアップロードを繰り返すようなケースでしょうか。

そのほか、サーバーに負荷が掛かるようなケースに制約を掛けたいと思います。
0631nobodyさん2009/07/17(金) 12:58:04ID:???
>>630
運用してみればわかると思うけど、そんな暇なユーザーいないよ
0632nobodyさん2009/07/17(金) 13:09:01ID:WCCLHa3V
>>631
そのように信じたいのですが、
暇なユーザーかどうか分かりませんが、
毎日毎日届くスパムメールやウィルスなどのことを考えると、
セキュリティーのために、予算の許す限りで考えられる得る対策はしたいと思っています。
0633nobodyさん2009/07/17(金) 13:23:17ID:???
要するにアップローダがブログの画像投稿とか
そのようなシステムかな?

無駄に制限をつけるのなら、最初からそのシステムの思想に
欠陥が在るように思えるが、いかがか?
0634nobodyさん2009/07/17(金) 13:27:28ID:???
失礼
×アップローダがブログの画像投稿
○アップローダかブログの画像投稿
文章を間違えました。

アップローダならばDBにアップロード時刻を保存して時間で制限をかける
画像投稿ならファイルサイズにて制限と思いますが、
細かいファイルのやり取りで制限をつけるなら、クッキーで
カウントさせて回数を制限させるのが簡単と思います。
それではダメですか?
0635nobodyさん2009/07/17(金) 13:36:55ID:???
>>597
継承とか、オーバーライドとかオーバーロードを理解すると便利さが分かるかもしれない。
でも、現時点で困ってないならいらないんだと思う。

複数人での大きめの開発とかだと有効だけど、一人で書く分にはそれほど効果は上がらないかも。
0636nobodyさん2009/07/17(金) 13:47:10ID:???
>>633
セキュアな機能は多くの場合無駄にはなるが、
その無駄が正常なシステムの運用を支えるのであって、
その無駄を欠陥と考えるのは、平和主義者の素人だな。
0637nobodyさん2009/07/17(金) 13:51:51ID:???
連続投稿制限がセキュア(笑)
0638nobodyさん2009/07/17(金) 14:31:47ID:F6lKm6fi
拡張子がphpのときのみ、phpを実行できる
というような設定はできますでしょうか?
例えば、test.htmlが、

<html>
<body>
<?php
echo phpinfo();
?>
</body>
</html>

であったとしても、拡張子がhtmlなのでecho phpinfo();は実行されない
という感じです。
よろしくお願いします。
0639nobodyさん2009/07/17(金) 14:35:26ID:???
>>638
それはPHPとは関係ない
Webサーバ側の設定でしょ(htaccessとかの話)
深読みしてPHPのソースを表示したいなら
拡張子phpsにする
htaccessにAddType application/x-httpd-php-source .phpsを追加
0640nobodyさん2009/07/17(金) 14:39:17ID:???
セキュア機能って
シス管がシステムをしっかりと安定させてトラブル対策を少なくしているより
トラブル発生しまくりで対応に動いている方が働いていると思われるのと同じだよな
0641nobodyさん2009/07/17(金) 17:07:31ID:NiuWIla/
$befor = "http://www.example.com/?file=test.html<;br>http://www.example.com/?file=abc.html";
$data["test"] = "123";
$data["abc"] = "456";
$after = preg_replace("/(http:\/\/www\.example\.com\/\?file\=)([\w\-\.!~\*'\(\)%#]+)/","変換後",$befor);
echo $after;

$afterが「123<br>456」のように
変換後の部分を$2の拡張子を取った $data["$2"] のようにしたいのですが$2を文字列として上手く利用できません
どなかご教示出来ますか?
0642nobodyさん2009/07/17(金) 17:50:12ID:raMKvGDh
ゼンドガードが高すぎるのですが割れ落ちてないですか?
またはゼンドガードに代わる暗号化ソフトやコンパイラ無いですか?

ソースが見えるのはともかく、データベースのパスワードも丸見えなのはセキュリティ上どうかと思います。

あとユーザー関数を使う度に呼び出すのではなく常にメモリ上に置いておきたいのですが
そういうのできますか?
0643nobodyさん2009/07/17(金) 17:55:09ID:???
>>642
通報した
0644nobodyさん2009/07/17(金) 17:56:15ID:kh/NJMur
ウレチーゴメンネー
オワビニ、ライチモテキタヨー
ウレチーライチシュキダッタヨネ!
キョウモ、イッパイモッテキタヨー
0645nobodyさん2009/07/17(金) 17:57:02ID:kh/NJMur
ごめんなさい誤爆しました
0646nobodyさん2009/07/17(金) 17:59:08ID:???
>>642
お前にぴったりの言語がある。「ひまわり」
0647nobodyさん2009/07/17(金) 18:08:42ID:???
>>642
>データベースのパスワードも丸見えなのはセキュリティ上どうかと思います。

なんで?
0648nobodyさん2009/07/17(金) 19:51:26ID:???
俺は、HTTP非公開領域にiniファイル置いて ini_array で読み込んでる
0649nobodyさん2009/07/17(金) 20:04:21ID:???
public_html以下においてアクセスできるようにしとくとか
公開FTPにおいてあるとか人為的流出ならマヌケと言わざるをえないけど
しっかりとした対策をした上でサーバの脆弱性を突かれて見られてしまったとかなら
もうそれはどうしようもない話
レンタルサーバならなおさら
DB鯖の脆弱性ついて直接ハッキングされるなんて可能性も捨てきれないわけで
通常運営するにあたってちゃんとした対策しができてるならそれ以上の過度な対策は必要ない
やっても無駄だから
0650nobodyさん2009/07/17(金) 20:11:54ID:???
セキュリティー
心配するほど
人来ない

orz
0651nobodyさん2009/07/17(金) 22:42:09ID:vZoTOxod
質問です。以下の条件の時、
$id = $_POST['id'][$i]; //3を返す
$var = "DB_lessonPic".$id;//DB_lessonPic3を返す

$_POST['{$var}']; で3を返すようにしたいですがうまくいきません
どうしたら良いでしょうか?
0652nobodyさん2009/07/17(金) 22:47:15ID:???
意味が良くわかりません。
強いて言うなら、$_POSTはスーパーグローバル変数なのでコード内でキーや値を変えないほうがいいです
0653nobodyさん2009/07/17(金) 22:53:19ID:???
エスパーすると、何らかの已むに已まれぬ事情で$varに色んな変数(DB_lessonPicX)
を突っ込んで、それに応じたXだけを返すようにしたいんだろう。

何でそんなことをしたがるのかは別のエスパーのために取っておく。
0654nobodyさん2009/07/17(金) 22:55:54ID:vZoTOxod
>>652
どうもありがとうございます
フォームのnameとして
DB_lessonPic1,DB_lessonPic2,DB_lessonPic3,,,って感じに末尾の数値が変わるものがあるんですが
受けてで、それぞれのvalueを取得したいんです。
ただ末尾の数値が何になるかは動的なものなので($_POST['id'][$i]のvalueに決定される)
$var = "DB_lessonPic".$id;
$_POST['{$var}'];
これでうまくいくかなと試してみたけど失敗してる次第です
ダメなのかな
0655nobodyさん2009/07/17(金) 23:25:13ID:???
>>654
とりあえずエラーでてるならかきなよ
シングルクオートでは{}は使えない
ようするに$_POST["{$var}"]としないとだめ
$varがStringならそのまま$_POST[$var]でいい

まぁ何がしたいんだかよくわからないけど
$_POSTには連想配列でPOSTされた値が入ってるから
$_POST[x]がわからなくても
foreach ($_POST as $key => $value) {
echo $key;
}
これでわかるはずだ
0656nobodyさん2009/07/17(金) 23:27:59ID:???
訂正
$_POSTには連想配列でPOSTされた値が入ってるから

$_POSTには連想配列でPOSTされたキーと値が入ってるから
0657nobodyさん2009/07/17(金) 23:45:23ID:vZoTOxod
>>655,656
なるほど、参考にさせていただきます
ありがとうございます!
0658nobodyさん2009/07/18(土) 09:15:53ID:wE0p3a0A
シングルクォートとダブルクォートの違い
0659nobodyさん2009/07/18(土) 10:53:15ID:FK9dZ1QC
ArrayObjectって使ってる方いますか?
PHP5.2.0の開発でオブジェクトとして扱える配列みたいな感じで
使ってみてたんですが、
php5.1.6では
$array['hoge']['hoge'] = 'hoge';
みたいな連想配列的な代入をするとエラーになるんですよね。
PHP Fatal error: Objects used as arrays in post/pre increment/decrement must return values by reference
これの原因や対処法などお教えいただけないでしょうか…。
0660nobodyさん2009/07/18(土) 12:24:22ID:???
追加はappendメソッドでやってください
0661nobodyさん2009/07/18(土) 17:51:24ID:pPEtcMUp
socket使ったHTTPのレスポンスヘッダ(?)を得るOOPで書かれたスクリプト(100〜200行くらいの)が
以前どっかのブログか何かに掲載されていたのですが、見つけられません。
知っているかた教えてください。
06626612009/07/18(土) 17:56:26ID:pPEtcMUp
見つかりました。自己解決
0663nobodyさん2009/07/18(土) 18:10:07ID:???
どこにあったか書いとけよ
0664nobodyさん2009/07/18(土) 20:00:39ID:???
ぐぐれかす
0665nobodyさん2009/07/19(日) 05:02:12ID:eVfI2UBD
【OS名】centos
【PHPのバージョン】php5.26
【連携ソフトウェア】なし
【質問内容】
簡易掲示板を作成しているのですが質問があります。
テキストファイルで読み込んだ内容をhtmlで出力し、
出力した内容の横にテキストエリアを設置して、そのテキストエリアに書き込みをし、
保存ボタンを押すと保存され、日付と共に出力されるようにしたいのですが、うまくいきません。
どのようにすれば同一php内でこういう処理ができるのでしょうか?
読み込むファイル、phpファイルは以下のような内容です。

読み込みファイル data.txt

A田A男
B川B太郎
C上C子
D山D絵

本体PHPのhtml出力部 sc.php

サークル 一言コメント

氏名
A田A男   [来週火曜日は試験があるから参加できません!ごめん!]2009/7/19
B川B太郎 [金曜の飲み会出席する人、メール頂戴 → bkawabtarou@bocomo.ne.jp]2009/7/13
C上C子 [            ] //書き込みなし
D山D絵   [夏休み合宿の詳細、誰か教えて!] 2009/6/21

こんな感じです。
0666nobodyさん2009/07/19(日) 05:18:16ID:56+I2Wt4
>>665
「うまくいきません」ってことは、
「うまくいくはずなのに」と思ってるスクリプトがすでにあるのかな?
だとすれば、その大まかな流れでも書いてもらえると参考になります。

それとも、「うまい方法が思いつきません」って意味なのかな?
その場合は、「○○しようとすると○○なのでダメだ、うーむ」みたいな、
これまで悩んだ過程や現状の悩みを書いてくれると参考になります。
0667nobodyさん2009/07/19(日) 05:32:26ID:eVfI2UBD
>>666
説明不足で申し訳ありません。
スクリプトは自分で書いていっています。
現在、テキストファイルを読み込んでhtmlに出力されるところまでは
完成していて普通に動作しているのですが、書き込みの部分を
どういう風に処理してよいのかわかりません。
なのでうまい方法が思いつきませんの方が正しいです。
考えているのは、配布されているフリーの掲示板のように書き込んだ内容を
datファイルなどに保存をして、phpを開くたびにdatファイルを読み込み、
それぞれの人物のテキストエリアの内容と日付を表示させるようにしたいのですが、
この場合、A田A男の人物IDかなにかを設定して、A田A男のidが1ならば、
datファイルには1、コメント内容、書いた日付 的な物を書き込んで、読み込ませるようにしたら良いのでしょうか?
また、保存ボタンを押した場合、どのようにすればphpのhtml部を更新し、datファイルにデータを書き込みできるかでも悩んでいます。
長文ですいません。
0668nobodyさん2009/07/19(日) 05:32:32ID:???
1行掲示板なんてフリースクリプトがいくらでもあるから検索して既存の奴使ったほうが吉
0669nobodyさん2009/07/19(日) 07:52:27ID:56+I2Wt4
>>667
>>665を見る限り、実現したいのは「各メンバーの近況ひとこと欄」的な仕組みでしょうか?
最新1件しか表示しなくていいのなら、ほぼそのまま以下のテキストファイルを保存しておくのが簡単かと思います。

> A田A男   [来週火曜日は試験があるから参加できません!ごめん!]2009/7/19
> B川B太郎 [金曜の飲み会出席する人、メール頂戴 → bkawabtarou@bocomo.ne.jp]2009/7/13
> C上C子 [            ] //書き込みなし
> D山D絵   [夏休み合宿の詳細、誰か教えて!] 2009/6/21

その際、過去ログ用のファイルも別途用意して両方のファイルを書き換えるようにして、
過去ログのほうには「日付,氏名,コメント」のような記録が各行に並んでいれば扱いやすいでしょう。


>>667の最後に書かれた悩みは「マニュアルのファイルシステム関数読め」でおk?
使うのはたとえばfile()とかfwrite()とか。またはfile_get_contents()とかfile_put_contents()とか。
ただ、自分が作るならデータベースを使います。
0670nobodyさん2009/07/19(日) 10:51:12ID:???
A田A男のテキストエリアにB川B太郎がイタズラして変なこと書いて保存したりとかは
想定しなくていいの?
0671nobodyさん2009/07/19(日) 11:15:25ID:???
最近はデータベース使うまでもないって思うようになってきたなぁ。
ファイル使うと、ファイル形式云々かんがえなきゃいけなかったけど、
今はYAML使えばいいじゃんって感じで。

たいていの言語からでも読み書きできるから汎用性あるし、
読みやすい、書きやすいし、データを簡単に自由なデータ構造に出来る。
遅いって問題があるけど、それはserializeでキャッシュにしてしまえばいいし。
0672nobodyさん2009/07/19(日) 11:53:38ID:???
SQLであれこれするのに慣れてしまうとファイルの読み書きとか忘れてしまう。
仕方なくファイルに吐くにしても使い回しを考えてXMLとかJSONだし。
0673nobodyさん2009/07/19(日) 12:04:46ID:???
>>672
本職プログラマーだろ?
0674nobodyさん2009/07/19(日) 14:33:46ID:???
いや、データベース使っていても、
SQLなんて忘れてしまうよw
普通はO/R使うんでな。
0675nobodyさん2009/07/19(日) 14:56:26ID:???
O/RはSQLを知らない初心者でもをDBを使えるようにする仕組みじゃないぞ
0676nobodyさん2009/07/19(日) 15:19:31ID:???
パフォーマンスで問題になってからO/R使って無いな
SQLの改善費用だけで2500万とかうちの会社はホント恥ずかしい

O/Rはともかく、未だにEXPLAINすら知らない開発者は多い
0677nobodyさん2009/07/19(日) 16:17:41ID:???
>>675
漢字と一緒で、読めてもかけなくなる仕組みだろ?w
0678nobodyさん2009/07/19(日) 18:03:43ID:???
そりゃお前が頭悪いだけ
0679nobodyさん2009/07/19(日) 19:47:22ID:???
目的に通りの結果が得られれば、記録方法なんて何でも良いんだよ。
お前らも俺もコーディングの正確さ・美しさに捕らわれすぎ
0680nobodyさん2009/07/19(日) 20:38:41ID:???
正確さには囚われろよww
0681nobodyさん2009/07/20(月) 00:02:29ID:NuDmDR7p
質問です。料理のレシピ本みたいなアプリを作るとします。一品あたりの構成要素は。
・料理名(必須入力)
・作り方文章(必須入力)
・写真一枚(任意入力)
・写真の解説(任意入力。写真がない場合は出力しない「三つ葉を散らすと見た目も綺麗です」みたいな感じ)

この場合、「写真の解説」の出力判別用に、登録時にpic_upload = 1のようなカラムをDBに用意・insertして
それを判別するべきでしょうか?
該当ファイルが存在するかどうかをfile_exists();で確認して出力するしないを決めても良いかと思ってたんですが
ヘタなやり方だったかもと悩んできました
皆さんならどんなやり方にしますか? ご意見お願いします。
0682nobodyさん2009/07/20(月) 00:14:57ID:mGSM8h71
ふつうなら画像ファイル名(xxx.jpg)を記録するカラムで判断すると思うけど、
そういう質問するってことは、画像ファイル名は(id).jpgみたいに自然に定まる仕組みなのかな。
そうだとしても、pic_uploadとかやるよりはファイル名ないしパスを入れるカラムを作っといたほうがいいと思うな。
0683nobodyさん2009/07/20(月) 00:36:00ID:???
それならCMS使ったほうが早くね?
0684nobodyさん2009/07/20(月) 00:36:51ID:NuDmDR7p
>>682
なるほどー、それは確かにそうですね!
思いつかなかった。今まで画像までのパスを生成する関数をいちいち動かしてました
そうした方が全部一発で出来ますね!
ありがとうございました!
0685nobodyさん2009/07/20(月) 01:55:21ID:81Sgp959
>>669
レスが遅れて申し訳ありません。
各メンバーの近況ひとこと欄でほぼ間違いはありません。
Web上に存在する1行掲示板スクリプトを参考に、とりあえずコメントだけでも、
書き込みと更新ができるようにと色々改造を施してみたのですが
ファイルを読み込んで表示するだけで、内容の更新ができませんでした。
元となったスクリプトは、http://wakusan.com/programinng_PHP/one_bbs.htm ですが
これを参考に書き換えたのがこれです。
http://kissho.xii.jp/1/src/1jyou84526.zip.html

どのようにすれば更新ができるようになるのでしょうか?

>>670
その辺は想定しなくて大丈夫です。
0686nobodyさん2009/07/20(月) 02:00:05ID:???
アップロード時に次のコードを書いているのですが、これって決まり文句で
ファイルがアップロードされたかどうかを判定する為にだけ使用する、という認識で良いですか?

$_REQUEST["up"]
06876852009/07/20(月) 02:00:29ID:81Sgp959
zipファイルはこちらです。http://kissho1.xii.jp/7/src/7jyou23832.zip.html
0688nobodyさん2009/07/20(月) 02:03:45ID:???
一度で良いからマニュアルを読むことをお勧めする
0689nobodyさん2009/07/20(月) 02:06:06ID:???
>>686
そりゃそのスクリプト書いた人の意図によると思うけど
おそらくはGETかPOSTでupを送っておいて
処理先のスクリプトでupを確認してアップロード処理を行うっていう
よくある手法じゃないかな

>>687
A田A男さんは1行目とか決めておいて更新が来たら1行目を書き換えればいいんでね?
0690nobodyさん2009/07/20(月) 18:51:36ID:LTJd3lAb
質問です

PHPでjavascriptにあるsettimeoutみたいなのありませんか?

ある時間になるとその時間に合わせて、PHPで作成したデータを元に表を更新するというものです

javascriptで作成した時計の部分はsettimeoutを使って1秒ごとに更新されていいのですが、
当然ながらその部分だけ更新されて、ページ全体は更新されないので・・・


何かいい方法はないですか?お願いします
0691nobodyさん2009/07/20(月) 19:10:37ID:???
cronとか
0692nobodyさん2009/07/20(月) 19:25:27ID:???
>>690
0693nobodyさん2009/07/20(月) 19:28:53ID:???
692だけど何も書かないまま送信ボタン押してしまったスマンですw

crond用のプロセスを作って、そこが参照する設定ファイルをPHPから
更新するなどの方法はある。けど、ブラウザ上の再読み込みを行いた
いなら、やっぱり settimeout をPHPで吐くか、または、

<meta http-equiv="refresh" content="時間,URL">

などのヘッダを使って強制的に再読み込みをするなどがいいと思う。


0694nobodyさん2009/07/20(月) 20:02:55ID:LTJd3lAb
cronがよくわからないんで調べたんですけど、こういうのはちょっと・・・

>>693
>settimeout をPHPで吐く
というのはどのようにすればよいですか?

最悪metaで強制的にしますかねー ヘッダを全ページで共有して使っているので考え物ですが
0695nobodyさん2009/07/20(月) 20:12:54ID:???
cronを使わないなら、通常はブラウザでアクセスしたタイミングでしかphpが実行されないんだから
metaタグのrefreshでリロードさせるか、javascriptでリロードさせるしかない。

ヘッダを全ページ共有ってtitleとかも共有なのか?titileはページ毎に置換してない?
つまりそのページだけrefreshのmetaタグを置換して入れればいい
0696nobodyさん2009/07/20(月) 20:16:56ID:mGSM8h71
>>685
あなたにとってPHPが
「とりあえず今回動けばいいブラックボックス」ではなく、
「難しいけど今後とも活用していきたい道具」であるならば、
以下を参考にがんばるか、以下を理解できるようになるまで本を読もう。
http://jp.php.net/manual/ja/language.variables.external.php
http://jp.php.net/manual/ja/language.types.array.php
http://jp.php.net/manual/ja/book.filesystem.php
http://jp.php.net/manual/ja/function.print-r.php
0697nobodyさん2009/07/20(月) 20:22:42ID:LTJd3lAb
>>695
ヘッダとフッタはそれぞれ1つのファイルを共有して各ページは中身(コンテンツ)だけ変更するような形でやってるんですよ
ちょっと特殊ですが なんでタイトルとかは全部同じです

今試しにmetaでやってみたんですが、更新ボタンを押してる感じがあるんでちょっと

上にも書いたんですけど今はjavascriptの時計の関数をonload=settimeout1秒ごとという仕組みにしてるんですけど、
全体は難しいですよね PHPとjavascriptじゃサイドが違うんで・・・

0698nobodyさん2009/07/20(月) 20:44:06ID:???
別にajax的にやれば何でもできるじゃん
0699nobodyさん2009/07/20(月) 20:46:49ID:???
>>697
リロードさせるんだから、更新ボタンを押してる感じがあるのはしょうがない。
それが嫌なら、>>698 さんが言うようにajaxになるな。
0700nobodyさん2009/07/20(月) 20:51:21ID:LTJd3lAb
ajaxですかー
聞いたことはあるんですけど、全然知らないんですよね^^;
とりあえず調べてみます

参考になるページがあればお願いします
0701nobodyさん2009/07/20(月) 20:57:00ID:???
>>700
ttp://pc12.2ch.net/test/read.cgi/tech/1132897521/
0702nobodyさん2009/07/20(月) 21:47:10ID:???
>>659
連想配列じゃなくて配列の配列
これは ArrayAccess のシグネチャと Zend Engine の参照渡し・戻しに関する問題らしい
配列の要素がオブジェクトなら常に参照扱いなので気にしなくて済む

// ○5.2.0, ○5.1.6
$a = new ArrayObject();
$a[0] = new ArrayObject();
$a[0][0] = 1;

// ○5.2.0 ×5.1.6
$a = new ArrayObject();
$a[0] = array();
$a[0][0] = 1;
0703nobodyさん2009/07/22(水) 15:49:48ID:4ehWfJJ0
apache2 + phpで動かしてるのですが、
PHPをパースする全てのページのフッタに著作権を自動挿入したいです。
mod_layout以外で何か方法はありますか?
0704nobodyさん2009/07/22(水) 16:04:30ID:8OvKTpgg
設計のほうでなんとかするのが常道だろうけど、
小手先でやるならregister_shutdown_function()とか。
0705nobodyさん2009/07/22(水) 19:17:52ID:???
動的にSQL文を生成するクラスを探しています。
複雑なJOINとかができる必要はないのですが、
プリペアドステートメントを使って、安全にWHERE文を追加していけるものがいいです。

Zend_DBとかSymfonyのDoctrineとかいろいろあると思うのですが、
独立して組み込めるものが望ましいです。
SQL文だけ組み立てて、実行自体は今まで使ってきたMDB2でできればなおいいです。

よろしければ教えていただければと思います。
よろしくお願いします。
0706nobodyさん2009/07/22(水) 19:31:26ID:???
http://pear.php.net/manual/ja/package.database.mdb-querytool.php

もっと抽象的にやりたかったらこれ使ってさらに関数でも
クラスでも作ればよかろ
0707nobodyさん2009/07/22(水) 20:00:53ID:???
Zend_DBはZend_DBだけで動くじゃん
0708nobodyさん2009/07/22(水) 23:44:43ID:???
>>705
今はDoctrineがナウい
もちろんこいつ自体は独立して組み込める

ZendFramework+Doctrineも流行っている
0709nobodyさん2009/07/23(木) 00:02:49ID:???
てst
0710nobodyさん2009/07/23(木) 06:38:49ID:3HKcBquf
>>702
説明不足の部分まで汲んでもらってありがとうございます!
なるほどです…。
PHP5.1 or 5.2の辺りで世間のインストール状況に一つ壁があると思うので
動作テストうんぬん考えるとArrayObjectってちょっと使いにくい感じかもですね。
0711nobodyさん2009/07/23(木) 09:40:42ID:???
>>706
QueryToolはプリペアドステートメントが使えないんですよね…。
もちろん、これを自分用に改修することはさほど難しくはないと思いますが、
既に実用に耐えているライブラリがあれば、そちらを使いたいと思いました。

>>707
Zend_Dbは、オブジェクト生成の際にホストまで設定しないといけないのが、
私にとってはネックになります。

自分で使う分にはすごくいいライブラリだと思うのですが、
現在会社で使っているフレームワーク上、それができないのです…。
(できなくはないけど、記述があちこちでばらけて後々面倒)

なので、SQL文を動的に生成し、それを文字列として取り出せるものが必要なのです。

>>708
Symfonyはセットアップが面倒なイメージがあったのですが、
独立して組み込むこともできるんですね。
ドキュメント等読んで調べてみようとお見ます。

皆さんありがとうございました。
0712nobodyさん2009/07/23(木) 13:34:09ID:afGBhowe
 if(!(bool) ini_get('register_globals')) {
  foreach ($var_names as $key => $value ) {
   global $$value;
   if (!isset($_SESSION[$value])){
    $_SESSION[$value]= $$value;
   }
  }
 }

というコードがあるんですけど、これは
・register_globals が設定されてなければ(つまりoffであれば)、
・配列$var_namesに入っているグローバル変数名を調べて、
・その名前と値を$_SESSIONに追加する
という理解でよろしいでしょうか。
またこの理解が正しいとして、なぜこんなことをしているのか分かる方はいませんか。
register_globalsがonのときなら、このような動作もわからなくはないのですが、
offのときにあえてこんなことをする理由がわかりません。
0713nobodyさん2009/07/23(木) 13:43:15ID:???
それは、たまに避妊したいときに利用することがある。
0714nobodyさん2009/07/23(木) 14:28:45ID:t5/aDE1A
よく派遣とかでPHP募集してんジャン。
あれってsmatyとかフレームワークとか使ってんの?
小遣い稼いでる奴いたら教えて。
普通に働いてる奴も教えて。
0715nobodyさん2009/07/23(木) 14:31:54ID:???
板違い
0716nobodyさん2009/07/23(木) 14:33:05ID:???
phpに関連する下らない質問という枠では別にここでもいいと思う
0717nobodyさん2009/07/23(木) 14:48:42ID:???
そりゃその会社によるとしか
0718nobodyさん2009/07/23(木) 14:50:48ID:???
派遣じゃないがラピッド開発なんだから当然フレームワークは使う
まともなとこならフリーのもの(cakeとか)は使わない
自社製(他社製)のもの使うね
自社サイトの開発業務とかならなんでもあり
0719nobodyさん2009/07/23(木) 14:52:49ID:t5/aDE1A
まぁでもあれだな。
PHPできるって言われてもフレームワークやその他のプラグインも使えないで、
HTMLにだだ書きしてる奴とかいるのかな?と思って俺もほぼ変わんないけど。
派遣って給料高いし一回働いてみたいよな。
0720nobodyさん2009/07/23(木) 15:01:14ID:???
いやこっちからお断りします
0721nobodyさん2009/07/23(木) 15:03:56ID:???
>>718
自社製はどうでもいいとして(笑)

他社製の有料フレームワークって
なにつかってんの?
■ このスレッドは過去ログ倉庫に格納されています