【PHP】下らねぇ質問はID出して書き込みやがれ 92
1 :
nobodyさん :
2010/01/09(土) 20:11:42 ID:lsb/cZ9k 質問者はまず
>>1 を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは
>>2-10 辺り
次スレは
>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 91
http://pc11.2ch.net/test/read.cgi/php/1260247989/ ◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
【簡易FAQ】
1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→
http://example.com/が例文などのために予約されている 。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(
http:// 〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
6 :
nobodyさん :2010/01/09(土) 20:12:54 ID:lsb/cZ9k
ここまでてんぷれ
ここからもてんぷれ
>>1 いい加減テンプレのphp5.26を治せやカス
またこんなスレ立てたのか
袋と波で質問すればいいだろ
11 :
nobodyさん :2010/01/10(日) 06:11:17 ID:Nqmvsa05
【OS名】RHEL 【PHPのバージョン】PHP5 【連携ソフトウェア】MySQL,PHP標準関数 【質問内容】 ファイルをPHPから操作する場合のR/W速度について気になっているのですが、 ファイルをMySQLのDBに格納する場合と単にディレクトリに置くのとどちらが高速なR/Wが可能なのでしょうか? R/Wアルゴリズムの関連もあると思いますが、その部分は今回は考慮しないものとして、単にDBと直置きファイルの速度差を知りたいです。 詳しい人お願いします。
試せばいいのでは?
バカが質問してバカが答えるスレたててもいい?
だめ
わかった
袋と波で質問しろ
17 :
nobodyさん :2010/01/10(日) 20:02:27 ID:zJdzyZ1s
windowsでpdoのmysqlを使うときの設定について質問です ;extension=php_pdo_mysql.dllのセミコロンを取るだけでいいのでしょうか? ;extension=php_mysql.dllもはずしたほうがいいのでしょうか?
セミコロンとるだけだろ…
19 :
nobodyさん :2010/01/10(日) 23:10:18 ID:I33ULrf7
phpでjpg等の画像ファイルを出力するプログラムで、
session_cache_limiter("nocache");
とすると、IEで画像を保存するときに、
bmpで保存しようとしてしまいます。
これはIEの仕様らしいのですが、以下URL参照
http://blog.asial.co.jp/471 session_cache_limiter("nocache");
しながら、IEで保存する際に本来の拡張子で
保存できるようにする方法はあるでしょうか?
ない
21 :
初心者 :2010/01/11(月) 12:05:19 ID:5Nbo1fwU
metaWeblog.newPostについて教えてください。 これはどんなブログにも送信することができますか? レンタル鯖にphpのブログシステムを入れて使いたいですが送れませんでした。 php5.2.10 PHPウェブログシステム3.1 です。 よろしくお願いします。
なんでここで聞くの
"\n" 文字列にこんな感じの改行が入ってるかどうか 調べたいのですが、 print_rとvar_dumpで出力してみたのですが、 改行として出力されてしまい表示されません 他に方法はありませんか?
nl2brでも使えばいいさ。
26 :
23 :2010/01/11(月) 20:39:17 ID:???
回答ありがとうございます 両方とも試してみることにします
WIN環境でアパッチをインストールしないでphp関数を使う方法はありますか?
CLIで動かしたいならapacheなんていらないし、 他のwebサーバで使いたいならそれこそapacheいらないし 何がしたいんだ
>>28 使えました。
いままでエラーチェックくらいしか出来ないと思ってたので感動してます。
ありがとうございました。
30 :
nobodyさん :2010/01/12(火) 00:11:49 ID:hE+xduvc
こんばんわ 1"2345"6 と描かれた文字列から"だけを削除したいのですが、 $moji = ereg_replace("""","",$moji ); としても構文エラーが起きてしまいます。 "を抜きとる良い方法を教えて貰えないでしょうか? よろしくお願いします。
31 :
30 :2010/01/12(火) 00:14:35 ID:hE+xduvc
すいません。自己解決しました。 '"'とすればよかったのですね。 スレ汚し失礼しました。
32 :
nobodyさん :2010/01/12(火) 00:15:31 ID:p7hB8W65
階層の深い配列の要素を文字列として連結したいと思っています。 >$aMoji[0][data][id] = "あ"; >$aMoji[1][data][id] = "い"; >$aMoji[2][data][id] = "う"; 上記のような配列を、イメージ的には↓みたいな感じで >echo implode(",", $aMoji); 結果として >あ,い,う としたいのですが、なにか方法は有りますでしょうか。 foreachで回すしか無いですか?
>>32 33でもいいけど頭の体操になるので既存の関数使って作ってみた(php5.2以前)
@
array_walk_recursive($aMoji, 'func', &$ret);
echo $ret;
function func($item, $key, $ret) {
$ret .= $ret ? ',' . $item : $item;
}
A
echo implode(',', array_map('func', $aMoji));
function func($item) {
return $item['data']['id'];
}
35 :
nobodyさん :2010/01/12(火) 01:34:41 ID:T+z2e9an
【OS名】windows centos5 【PHPのバージョン】php5.2.12 【連携ソフトウェア】 【質問内容】 下記のように未定義の変数を使用した場合、 centosではNOTICEエラーが出力されますが、 windowsでは出力されません。 if ( $a ) { //処理 } ※$aは初期化されていません。 php.iniの設定はwindowsもcentosも同じです。 未定義の変数の扱いはOSによって扱いが変わるのでしょうか?
36 :
35 :2010/01/12(火) 01:39:28 ID:T+z2e9an
すみません。 php.iniの「Error handling and logging」の設定は windowsもcentosも以下のようになっています。 error_reporting = E_ALL & E_NOTICE
var_dump(error_reporting()); の結果は?
得ろサイトを見てたら、デスクトップにえろい広告がネット経由で表示される ようになり、消すことができません。 どうすればよいでしょうか?
PC捨てちゃえ
41 :
nobodyさん :2010/01/12(火) 09:56:04 ID:RNz6Ugsr
.... class log{ var $file; var $fp; function log($file){ $this->file = $file; $this->open(); //@ } function open(){ //A $this->fp = fopen($this->file, "a"); } ...... function __wakeup(){ $this->open(); //B } ..... すみません、質問させて下さい 上記コードの@とBの部分のopen()というのはメンバ関数Aを表しているのでしょうか?
42 :
nobodyさん :2010/01/12(火) 10:32:48 ID:sJxGHmq6
PHP5.3.1 php -vしたところ PHP Warning: PHP Startup: Unable to load dynamic library 'C:\php\ext\php_exif.dll' - 指定されたモジュールが見つかりません。 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\php\ext\php_oci8.dll' - 指定されたモジュールが見つかりません。 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\php\ext\php_oci8_11g.dll' - 指定されたモジュールが見つかりません。 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\php\ext\php_pdo_oci.dll' - 指定されたモジュールが見つかりません。 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\php\ext\php_sybase_ct.dll' - 指定されたモジュールが見つかりません。 と出ます。 dll自体は存在しているし、読み込みに行くパスも間違っていないのですが、 なぜロードされないのでしょうか・・・?
>>41 そうだよ。
○付数字は環境依存文字だから、こういうネットの向こうの人の環境が
不明なとこでは使わない方が良いぞ。
44 :
nobodyさん :2010/01/12(火) 14:44:39 ID:x0mQFvp9
【OS名】Windows XP 【PHPのバージョン】php5.3.0.0 【質問内容】 $hoge = array(1,2,3,4,5); print strlen($hoge); 以前はこれで5が表示されたと思ったのに、今やったらエラー strlen() expects parameter 1 to be string, array given in~ 前使ってたバージョンは不明 俺の勘違いか、仕様が変わったのか、他に原因があるのか教えてください
いやそもそもstrlenって文字列の長さを数えるものだろjk 配列ならcount()じゃね?
前は配列突っ込んだら、count代りに使えてたはずなんだが 仕様が変わったんなら、各所でis_arrayしてやらないといけなくなる・・・
>>46 たまたま使えただけ
$string = "12345";
echo $string[0]; // 1
たまたまこれと同じ扱いになってただけ
マニュアル見ろ
引数はstringって書いてあるぞ
手元の5.2.6でエラーにならないな。
49 :
nobodyさん :2010/01/12(火) 15:03:26 ID:x0mQFvp9
以前いけたのは、バグだったのか仕様だったのかはわからんけど、 今は正式に使えなくなってるから、使わない方が良いってことかな・・・ 他に原因あるかもしれないから、念のため少し保留にしておこう。
>>43 遅くなりましたが回答ありがとうございました
>>49 5.3.1入れたらエラーになった
5.2.8でもエラーにならないとこみると5.3.0からじゃない?
52 :
nobodyさん :2010/01/12(火) 15:43:15 ID:x0mQFvp9
>>51 それっぽいですね。
ありがとうございます。
53 :
32 :2010/01/12(火) 23:09:27 ID:???
54 :
nobodyさん :2010/01/13(水) 03:17:53 ID:4wFOmYq3
初心者です。 外部テキストファイルを下記のように読み込んでホームページで表示するものなんですが、 一つだけならうまく表示されるのですが、下のように二つ並べると 二分の一くらいの確立で下も上と同じものが表示されてしまいます。 <?php include('./aaa.php'); ?> <br> <?php include('./bbb.php'); ?> どうしたら、きちんと表示されるのでしょうか・・? お願いします。
テキストファイルというかスクリプトだろ? aaa.phpとbbb.phpの内容書かないとわからんよ
56 :
nobodyさん :2010/01/13(水) 03:28:27 ID:7wXBaV+j
上と下で同じ変数を使ってる?
ジョニー・キャッシュ
58 :
nobodyさん :2010/01/13(水) 04:03:47 ID:4wFOmYq3
>>56 さん
こんな夜中にありがとうございます!全くの初心者なので、
ソースをコピペしてファイル名だけを変えていますので多分そうです。。
片方の関数を変えればいいのですね。
function 関数名 (引数){
・・・・・・・・・
}
の【関数名】を変えればいいのでしょうが、どのように変えるのでしょうか。。
if ($tate) の部分でしょうか。。
図々しくて大変申し訳ないですが、こちらにソースがございます。。
(長いのでコピペは避けさせて頂きました。。)
http://ameblo.jp/mingw/entry-10360989550.html
対象が少ないから同じやつ選択されてるだけでないの?
60 :
nobodyさん :2010/01/13(水) 05:10:33 ID:4wFOmYq3
59さん、ありがとうございます。 二つ読み込もうとするとダメなので、一つににまとめて表示したいと思います。 みなさま、夜中に失礼しました。
もしかしてそんなことは分かってて解決策を聞きたかった? だとしたら上の方で選択されたキーを保持しておいて、下の方でそれを除外するのが一番シンプルかと。 それにしても汚いコードだな。
62 :
nobodyさん :2010/01/13(水) 08:55:32 ID:7Pi29LSt
初歩的な質問ですけどお願いします。 test.php <form action="test.php" method="GET"> <input type="text" name="aa" value="<?PHP echo $_GET[aa]; ?>" size="10"> <input type="submit" value="submit"> </form> これでフォームに「aaa/bbb」を入力して送信すると 読み込みして表示されるURLの部分がtest.php?aa=aaa%2Fbbb と「/」が「%2F」になってしましますが「/」で表示させるにはどうしたらよいでしょうか?
63 :
62 :2010/01/13(水) 08:58:02 ID:7Pi29LSt
>>62 補足です
ブラウザのURLアドレスの部分です。
value="<?PHP echo $_GET[aa]; ?>" の部分は「/」で問題なく表示されてます。
URLではむしろ%2Fとなるべきでしょ
65 :
nobodyさん :2010/01/13(水) 09:58:45 ID:HpUkVVSo
【PHPのバージョン】 最新版 【質問内容】 class BookList { var $parser; ..... function BookList ($filename) { $this->parser = xml_parser_create(); xml_set_object($this->parser, &$this); ..... } すみませんが一番最後の文の、&$thisの意味が分かりません $thisを参照渡しにするというのはいったいどういう事なのでしょうか? そのメンバ変数、メンバ関数全てということを意味するのか、そのクラスを意味するのか、それともそれらとは別の意味を持つのか分かりません どのような挙動と役割を持つのでしょうか?
>>39 そのPCはもう復旧しないから処分したほうがいいよ
処分するにもお金かかるから俺が変わりに処分してやろうか?
元払いで送料だけもってくれればタダで処分してやるよ
69 :
nobodyさん :2010/01/13(水) 13:02:41 ID:ShY6sORk
<?php echo "Hello World";?> この一行で著作権主張できますか?
71 :
nobodyさん :2010/01/13(水) 13:40:10 ID:kzBqS2uo
>>66 は「なぜ参照渡しにするのか」のこたえになってるんでしょうか?
フリーで配布してるとこは 著作権表示は削除しないでくださいって言ってるけど、削除しても何も言えないのか なるほど。。
それはライセンス条項だろ
>>65 は&$this自体について質問してるんじゃないの?
&$thisが何を意味しているのかという
別にxmlのメソッドの引数に関して聞いているんじゃないと思う
だな
三項演算子についての質問です。 "$aに値がなければ$b"という書き方で、すんなり書く方法がありそうで悩んでいます。 %php -r '$a=1; $b=2; echo $a?$a:$b;' %php -r '$b=2; echo $a?$a:$b;' もっと簡単な書き方をご存じないですか?
欲張りやな
function c($a=0,$b=0){ return $a?$a:$b; } echo c($x,$y);
81 :
69 :2010/01/13(水) 23:08:21 ID:???
著作者人格権はあるよ 一応
>>83 知ってる振りして実は煽りたいだけの知ったか野郎乙
86 :
nobodyさん :2010/01/14(木) 16:17:22 ID:WCSXxawz
連想配列を返すインスタンスメソッドがあるとして、次のように呼び出すにはどうすればよいでしょうか。 ※↓は擬似コードです $obj->getProfile()->['name']
87 :
86 :2010/01/14(木) 16:35:15 ID:WCSXxawz
すみません、この呼び出しはできないですね。
emptyとかいくつかの関数でもメソッドの戻り値に対しては対応していないというのを
以前マニュアルで確認していたのを思い出しました。
>>86 も多分同じような理屈になると思います。失礼しました。
ねぇ、上で書かれている&$thisって俺分かんないんだけど、どういう意味なんですか? $thisを参照渡しってどういうこっちゃ?
$thisにぶら下がってるデータがでかい。 $thisを渡したあと中身を書き換えたら、その環境で呼び出して欲しい。 とかかな。
>>86 パーサが貧弱なのがPHPの残念なところね
俺は諦めてメソッドの戻り値をArrayAccessにしてる
$obj->getProfile()->offsetGet('name')
>>88 上でも書かれてるけどPHP4はオブジェクトも値渡しになってしまうため、参照渡しの指定が必須だった
オブジェクトや配列はどのみち参照が渡るんだから 書き手が&を明示的に書いたという以外に理由はないと思うけれども。
test
93 :
nobodyさん :2010/01/15(金) 13:42:47 ID:9vizjOHN
【OS名】WiindowsXP-Pro(SP2) 【PHPのバージョン】PHP5.2.6 【連携ソフトウェア】Apache2.2 結果のecho出力で質問です。 読み込みモードでTxt(output.txt)ファイルを開くtry〜catchのtry内で $fileHandle = fopen("output.txt", "r"); if (false === $fileHandle) { throw new Exception('ファイルオープンに失敗しました'); }else{ // ファイルの最後まで出力する $data0 = fpassthru($fileHandle); echo $data0; fclose($fileHandle); } としたところ、Txtの内容は表示されたのですが末尾に余計な数字46とか48が付きます。 例: abc→abc48 とか abc→abc46 回避策をお教え下さい。
94 :
nobodyさん :2010/01/15(金) 13:42:56 ID:KdiPzmsc
readfile(サーバー内のファイルパス); ってやったときに、クライアントにこのファイルの絶対パスがばれるようなことってありますか? もしもファイルがなかったときには ファイルのあるディレクトリの文字列が表示されてここにはファイルがありませんって エラーがでるけど@readfileにしとくとか、エラーは表示させない設定にしとけば大丈夫ですかね? アドバイスよろしくお願いします。
95 :
93 :2010/01/15(金) 13:44:48 ID:???
Live2chで書き込むと空行が入ってしまいました。 コード内の空行は無視して下さい。
>>93 fpassthruの返り値は 成功時は文字数。 fpassthruだけで内容の出力までしてる。
98 :
nobodyさん :2010/01/15(金) 14:15:37 ID:KdiPzmsc
99 :
93 :2010/01/15(金) 15:09:54 ID:???
>>96-97 ありがとうございます。
fpassthruを使う以上文字数は付いて廻るので、
これはこれでテキスト情報として利用します。
文字コードについて質問です mbstring.encoding_translationを'on'にして $_POSTの値を、"mbstring.detect_order"で指定した順に文字コード判別し "mbstring.internal_encoding"で指定した文字コードに変換する いやいや、そんなの自分で$_POSTを内部コードに変換しろよウェェェアイウエ どっちがいいの? あとmbstring.detect_orderの順番がいまいち理解できません。 UTF-8でブラウザーに出力して内部コードがUTF-8です。 この場合みなさん優先順位どうしてます?
皆さんは、PHP、PEAR、Smarty、各フレームワークなどWebのマニュアルで勉強していると思いますが、各々非常に膨大な量が記述されてますよね それぞれ内容も多いですし で、Webで勉強しているときって、ただ見て「理解した。終わり」って感じで他の項目などに行くのですか? それとも自分でノートか何か作ってまとめているのですか? 本に載っているようなPHPの構文はライブラリ、フレームワーク、テンプレート、など全部理解しましたがセキュリティなどになると、全部でなくてもあちこち抜けなくやっておかないと穴が出てきて困ってます この関数はバイナリセーフじゃないとか PHP等を本当にマスターしている人間ってどうやって学習しているのか気になります
一つ言えることはスレタイ読めということ
ソースも読め
>>100 mbstring.encoding_translation off
UTF-8で運用 変換をしない。
携帯サイトの場合だけ注意。
>>101 実際にサイト作る
朝起きたら突然マスターしてるもんだよ
少なくとも105の伊藤さんは他人に「どうやって勉強すればいいですか?」なんて聞かなかっただろうな
いや、聞かなくて分からんなら、聞いたほうがいいに決まってる。
不安て重要だよね これなかったらとんでもないことにwwwwwwww
>>102 つまり、下らねぇ質問ではなく素晴らしい質問だということ?
111 :
nobodyさん :2010/01/16(土) 06:34:44 ID:T91bVb4q
PHPで、普通のキューやリスト構造を使いたいんですが 標準的なクラスライブラリはないのでしょうか? ぐぐったけど見つからなかったので自分でクラス書いちまったけど、ないってことないだろうと思って質問。
セッション変数使ってる? ブラウザ落としてもセッションが残ってしまうんだが?
>>101-110 俺は思うに、PHPは簡単だという言葉がよく書かれているけれど、実際ライブラリとかFWとか含めて全体的に使いこなせている人間は殆どいないんじゃないかと思う
基本的な事を使っているだけで
コードとかは書けるけれど、全ては知らないからセキュリティホールが出来たり
php.iniやhttd.confの設定も全てを知ってるって人も少なかったり
どの関数がバイナリセーフでそれが違うのかとかも
5年とかかかって毎日コツコツWebで公式マニュアル見て学習してる人間だったら話は別だろうけど、独学中はいいけれどプログラマーってそこまで余裕はないからね
山田祥寛って膨大な数の本書いて、ジャンルも多岐にわたるけれどアレってどうやって学習しているんだろうか・・・ ZendFrameworkとかまで色々と書かれているけれど、本書くのに時間がかかるだろうに、その上新しいものをマニュアル大量に読んで勉強してるんだろうか・・・ 謎だ
>>114 言語自体は簡単だけどそれを応用ができないって事だね
118 :
nobodyさん :2010/01/16(土) 20:06:50 ID:v+1X+f1p
>>115 あれって書いている人いろいろいるみたいだよ
だから全部書いているのが本人とは限らない。
むろん見てはいるとは思うけど
応用が出来ない。じゃなくて、把握しきれないだね 関数だけで4000以上。 メジャー所のフレームワークは約4種類。 WordpressとかXOOPSみたいなシステム管理ツールもある。 まだ新しい言語っていうか、成長中の言語だから、 後3年くらいすれば、ある程度成熟して 利用頻度の高いフレームワークとかが決まってくると思うよ
そんなもんただのツールだろ、PHP自体とは別物 PHPを一通り覚えたつもりになるのは早い、これがPHPが簡単だと言われる理由だとすれば 結局、その簡単にマスターしたつもりのPHPでいろいろ作れないのは作ろうとしてるものの仕組みが把握できてないことであって、これはPHPとは別物 これはつまりPHP以外の言語をやった経験が少ないであろうプログラマーが陥りがちなこと
全角英字使ってる奴に言われても説得力ない
>>118 マジで?
確かにそうかもな・・・
あまりにも幅が広すぎるもんな
PHP系はほぼやってるし、JavaScript、XML、ASP、SQLなどなど
あれだけの量をたった一人で書くのだけでも時間かかるし、マニュアル見て勉強してってのも大変だろうし
まぁ元々NECかどっかでプログラミングしてたようだけど
>>121 ワラタw
たぶん実際に書いてるのはテクニカルライター
124 :
nobodyさん :2010/01/16(土) 22:28:41 ID:v+1X+f1p
山田祥寛って人の本は結構持っているな。 まあJavaとSQLだけだけど。 理解は深まる。やさしい本。 ただ掲示板があるけど、あんまりうまく答えてくれないよね
関数把握してないと、 Q.○○したいのですがどうすればいいですか? A.そのやりたいことそのものの関数が用意されてるわけだが となる
俺も把握する必要は無いと思うな、どうせ検索するし
関数だけ覚えても引数の数とか受け入れる型とかまで覚えてないから結局検索するね
検索するけど、存在自体知らなかったら使えないじゃん
それはどの言語でも同じだろ
>>131 「きっとこんな関数があるだろう」と思ってまず検索する。
関数とそのパラメータを暗記する為に時間を費やすのはただのバカ
というかコーディングしてるときPHPDocみられるでしょ
暗記するっていうか自然と覚えね?
それは貴方のIQが特別高いからではないでしょうか? 我々には無理です。
よく使うのは自然と覚えるね htmlspecialcharsやexplodeとかマニュアル見なくてもパラメータまで書ける
>>136 6,000以上もの関数を覚えてるの?!
関数にもいろいろカテゴリがあって使う頻度もあるし一度も使わず終いの関数だっていっぱいあるだろJK
なんだろう、若くないと毎回リファレンスチェックしないといけないのか
若いうちは出来る事の範囲が狭いからな。
偏屈になるのも良く分かるw
IDEになれちゃうと、htmlspecialcharsのスペルすら危ういw
そんなスゴいIDEあんの?
>>145 逆に補完してくれないIDEを探す方が難しいと思う。
IDEって自分が作ったクラスをrequireした場合でも その中のメソッド名とか補完してくれるんですかね
includeならしてくれるかも
specialくらいは、ふつーに英単語として覚えとけ、って気もしないでもない。
htmlspecialcharsの最後「s」がつくかどうかで悩んだ事無い?w
charだったら一文字じゃん
>>151 一度も無い
それに、
>>138 、htmlspecialcharsくらい当たり前として覚えている
で?
html special chars だとわかってないのかなぁ
むしろその関数の名前が話題にのぼるとはな・・・何も引っかかるところはないだろ
自信満々に自分の知ってる事だけは当たり前とか言っちゃう人もいるから
俺の脳はPHPの関数でいっぱい おかげで大事な用を忘れたぜ
DBやってて、いつもとっさに出てこないのがCOALESCEだなw
160 :
151 :2010/01/17(日) 18:17:08 ID:???
なんだよ〜 (かなり昔に)勉強会で盛り上がったネタ振ったのに食いつき悪いなぁ
君たちの会社にPHP扱う人って何人くらいいるの?
何でそんな事聞くの? 零細だけど俺以外は新人3名しかphp使えないよ。 それで仕事になるんだからある意味php凄い。
零細だから仕事になってるんじゃね?何やってるか知らんけど
特定されそうだが php部隊10名 ruby部隊20名 java部隊25名
ペチパーは今日も低脳だらけですね
パーラーはお引き取り下さい。
PHPはおもちゃだと思うけど Javaは大人のおもちゃって感じかな
170 :
nobodyさん :2010/01/17(日) 21:51:34 ID:1yPUW7LT
データが20件あるテーブルに対して、以下のようにランダム順でSELECTしています。 SELECT * FROM $TABLE ORDER BY rand() このとき、画面表示する際に1ページあたり5件、全4ページで表示させようとしたところ 1ページ目で表示したアイテムが以降の他のページにも現れてしまいます。 これはどうしようもないのでしょうか? (自分の期待した動作は、全てのデータをまんべんなく、繰り返し出現などせずにただランダム順で 引き出すということでした) 当然、ORDER BY $TABLE.`id`にすれば、登録順に重複なく20件表示できます。 環境はMYSQL5、PHP5でPEAR::Pagerを使ってページ送りを実現しています DB板か、pearスレか、どこで聞くのが良いかわからなかったのでここで聞きました 宜しくお願いします。
>>170 randのシードにセッションID渡すとかは?
172 :
nobodyさん :2010/01/17(日) 22:30:46 ID:1yPUW7LT
>>171 ありがとうございます!
シード値なんてモノがあるのを知りませんでした。
なるほど、アクセスごとに整数値?のシードをセッションで持たせてやればいいんですね
ありがとう!
173 :
nobodyさん :2010/01/17(日) 22:39:59 ID:CkMHerp9
PHPで print "実行中・・・"; 時間のかかる処理 print "実行完了"; 結果をprint ってやってるんだけど、結果を表示する前にページをクリアする("実行中・・・"を消す) 良い方法ないでしょうか。
175 :
nobodyさん :2010/01/17(日) 23:11:28 ID:Wr8+Dze2
【OS名】linux 【PHPのバージョン】php5.1.6 【連携ソフトウェア】mysql 質問します! PHPでデータベース管理システムを作成してる初心者なのですが、 POSTで$db_cを受け取って、下のように記述したところ、$db_cというデータベースが作成されてしまいます。 $sql = "CREATE DATABASE $db_c; 分かる方、ご教授お願いします。。。
>>175 $sql = "CREATE DATABASE `{$db_c}`"; てやってみて
178 :
nobodyさん :2010/01/17(日) 23:39:58 ID:w5y4G9F/
PHP: 5.2.11, OS: Mac OS X 10.6 あるstaticメソッドから他のstaticメソッドを呼び出すのに、 PHPではクラス名を指定しなきゃいけないようなんですが、 これをなくせないでしょうか。 class Foo { static function sub() { echo "FOO¥n"; } static function main() { Foo::sub(); // ← ここでクラス名が必要なのをなんとかしたい } } class Bar extends Foo { static function sub() { echo "BAR¥n"; } } Bar::main(); #=> 'FOO' と表示される、つまり Bar::sub() は呼び出されない
static::sub() でできるようになったよ 5.3からだけど
>>179 ガーン、5.2ではできませんかそうですか。
181 :
nobodyさん :2010/01/18(月) 01:15:18 ID:hUO9bR2l
◆質問用テンプレ 【OS名】Windows XP Home Edition 【PHPのバージョン】php5.31 【連携ソフトウェア】pgsql 【質問内容】 PEARのFileを使ってアクセスするときに、文字化けを防ぐため、 mb_convert_encodingで ・ファイル一覧を取得するときはファイル名をShift-JISからUTF-8に変換 ・ファイルを読み書きするときはファイル名をUTF-8からShift-JISに変換 しなければならず、とても面倒です。しかも、学校のサーバー用PCはFedora(多分) なので、変換処理を行うと逆に文字化けしてしまうかもしれません。 何か良い方法は無いでしょうか? 学校の課題でWikiエンジンのようなものを作っています。
PEARを使わない
183 :
nobodyさん :2010/01/18(月) 01:44:02 ID:hUO9bR2l
echo File::readAll(mb_convert_encoding($file, "SJIS", "UTF-8")); echo file_get_contents(mb_convert_encoding($file, "SJIS", "UTF-8")); PEAR使おうが使わまいが一緒のようです・・ mb_convert_encodingしないとファイルが見つからないっていわれます。 もう寝るか・・・
>>181 普通にラッパ関数用意しなはれ
(そもそもファイル名の2バイト文字はどうにかならないのか)
>>183 文字化けなんてするのか・・?と思ったが2バイト文字をファイル名にしてるのか。
ファイル名に2バイト文字を使うなんて恐ろしくてしたことがないから質問の意味がわからなかったわ
>>184 パッパラパァパ♪♪
パパパ パパラッパッパラッパ♪
パパラ パラッパパパラッパッパラッパ♪
>>185 FTPでのファイルのやりとりに、日本語ファイル名を使うのはデフォ。
一般客を相手にする場合、避けようがない。
例えば、携帯配信業者とデータのやりとりをする時なんか、日本語
ファイル名が普通で、むしろ業者から推奨されている。
だから、その手の業務では、日本語ファイル名への対応は必須。
なるほど、Wikipedia更新しておきました
はいはい
>>189 5.3.1と脳内変換できないなんて、認知能力が低下しているのでは?
192 :
nobodyさん :2010/01/18(月) 20:01:08 ID:uvnuuAT/
ある程度広い範囲を一括して、コメントアウト(のような扱いに)する方法はないでしょうか。 その範囲に/**/でのコメントが無ければ、これでコメントアウトしちゃえばいいんですが、 使われているとこの手は使えません。 Cなんかだと、 #if 0 #endif で囲むなんて手がありますが、同じように出来る方法は無いでしょうか。
?><!-- --><?php これでできないか?
あ…、そっかw ありがとうございました。
出力してんじゃねぇかw
196 :
nobodyさん :2010/01/18(月) 20:40:15 ID:NVuacAcr
質問です セッション変数を破棄する時、特定のセッション変数を残しそれ以外を破棄する方法などあるのでしょうか?
deleteで消せると思うが
198 :
196 :2010/01/18(月) 21:00:43 ID:???
>>197 1個づつor全て消す方法は知っているのですが、特定以外のをいっぺんに消したいのです。
200 :
nobodyさん :2010/01/18(月) 21:21:26 ID:maxs+89c
if (ini_get('register_globals')) { // foreach (array_keys($_REQUEST) as $key) { if ($_REQUEST[$key] === $$key) { unset($$key); } } } 比較文($_REQUEST[$key] === $$key)がわかりません。 どうしてこのような厳密な比較が必要なのでしょうか? また。$$keyという表現が解りません。どうしてここで可変変数を使う必要があるのでしょうか?
可変変数つかって、register_globalsで汚染された変数を消してるんだけど、 この処理をするまでに、その変数を変更してた場合は除外してるのかな。
変更してても致命的な脆弱性になることもあるだろうにw
203 :
nobodyさん :2010/01/18(月) 22:05:47 ID:maxs+89c
>>201-202 貴重なレスありがとうございます。
===が真になるリクエストの内容はどのようなものがありますか?
の処理をするまでに、その変数を変更してた場合という事について今いちわからないのです。
他の用途にその変数を使っていたり、初期化していた場合ってことじゃない? まぁregister_globals使うってことはGETパラメータをそのまま変数に使いたいってことだから 初期化なんかしないだろうけどね。
205 :
nobodyさん :2010/01/18(月) 22:41:00 ID:maxs+89c
PHP内で作られた変数と、GET等で送られた変数を使用の際に被らせないようにする。 ということでしょうか?
うん、あとGETで送られた変数だけど何か変更加えてる場合とか。 その処理をどこで行うかにもよるし、役立つかは謎だが。 ちなみにそれ何にあったコードなの?
207 :
nobodyさん :2010/01/18(月) 22:58:37 ID:rutu8tCm
自分だけのCMS作ろうと思います。 クラスとか苦手なんですけど、自作関数だけでなんとかいけますか?
下らねぇ質問はIP出して書き込みやがれスレ立ててもいいかね君たち
211 :
nobodyさん :2010/01/19(火) 01:56:16 ID:2Uw1FRPJ
>httpd.confにPHPIniDir "C:/php"は書いてありますが関係ないようです。 関係あるでしょ
213 :
nobodyさん :2010/01/19(火) 02:45:50 ID:2Uw1FRPJ
>>212 そこを書き換えたり消したりしてApache再起動しても、phpinfo実行時の
Configuration File (php.ini) Path C:\WINDOWS
が変わりません。
AddType application/x-httpd-php .php
の部分を消すとPHPが実行されなくなるから、いじってるファイルは合ってるんだけど。
そういう自分がやったことも含めて書いておけば、こういう無駄なやり取りも減るんだけどな。 で、普通はそこを変えれば変わる。どこかで再定義したりしてない?
C:\WINDOWSのphp.ini消しても駄目?
216 :
nobodyさん :2010/01/19(火) 12:34:38 ID:2Uw1FRPJ
>>214 どこかで再定義されてるとしたら、可能性はどこがあるでしょうか。
>>215 消しても駄目でした。
そろそろあきらめようかな…。
見覚えのあるIPと思ったらチンピラか そんなに目立ちたいのかねww
>>199 質問者でない俺も
お前みたいな揚げ足取りは
嫌いなわけだが
WinXPで、php-5.2.6のzipをもらってきて使ってます。 主に構文チェックとか、ちょっとしたコードを書いてテストとか。 c:\php> php -i | findstr php.ini Configuration File (php.ini) Path => C:\WINDOWS Loaded Configuration File => C:\php\php.ini ってなったよ。1行目が何を意味しているのかは判りません。 設定は2行目に出てるファイルに書いてるし、それで反映されてます。
221 :
nobodyさん :2010/01/19(火) 17:59:23 ID:zBtuMwVr
Ubuntu上にて、Eclipse3.5をインストールしてその上にPDTプラグインをインストールしました。 上記環境にPHPデバッガを入れたいのですが、どのように入れればいいですか?
初めては優しく挿れて
223 :
nobodyさん :2010/01/19(火) 18:19:17 ID:zBtuMwVr
>>222 PHPのデバッガには主にX DebugとZend Debuggerがあるようですが、LinuxではZendDebuggerしか選択肢がないのでしょうか?
ダウンロードは終えているのですが、PDT上でZendDebuggerを扱う設定がわかりません。
釣りwwwwwwwwwwwwwwwwwwwwwwwwwwww
ぐぐって二分。
ttp://blog.wozozo.jp/archives/71 >で、デバッグのたびに開かれるウインドウをデバッグのたびに閉じるのは面倒すぎるので、Zend Debuggerを使うことにした。
>PDTのall-in-on Packageだと最初から入ってたのかもしれないけど、EclipseのSoftware Updateの
>Find and Installから一応入れた。
>
http://downloads.zend.com/pdt >
>Zend Debuggerが入ったら、Run → Debug As → PHP Scriptとかやるとデバッグ突入。
>
>これでおしまい。
この人はMacOSなようだが、同じことだろうと思う。
226 :
nobodyさん :2010/01/19(火) 22:16:23 ID:zBtuMwVr
>>225 一貫した設定方法がなく、あやふやな情報が多かったのでAptanaを使ってPHPプラグイン導入で対処しました。
レスありがとうございます。
ドキュメント読めよw
228 :
nobodyさん :2010/01/19(火) 22:27:16 ID:uwN5Jw79
質問いたします。 MySQLとPHPを使っているものですが、 「db1」というデータベースの中に「tb1」というテーブルがあり、その中に「pet」というカラムがあるとします。 で、その中に動物の名前がいくつか入ってるとして、「犬」がそのカラムにいくつあるかというのを書き出すにはどうすればいいでしょうか? MySQLのバージョンは4.1.22です。どうか宜しくお願いいたします。
select count(*) from tb1 where pet = '犬';
動物の名前が犬ならね。
犬犬 というのがあるかもしれんぞ
なんでもいいワン
233 :
nobodyさん :2010/01/20(水) 10:43:29 ID:6zid23dW
$check_array = array("バナナ","みかん","りんご"); $post_data = "バナナ"; if(in_array($post_data,$check_array)){ echo $post_data."が配列に含まれています。"; } と言うように配列のチェックを行っていたのですが、 上記だと単語入力の場合でしかヒットしません。 foreachを使って$check_arrayを1ずつ確認していく方法以外で 最良の配列内文字列確認方法はありますでしょうか?
単語入力の場合でしかヒットしないってどういうこっちゃ?
235 :
外国人参政権 Q&A :2010/01/20(水) 10:48:56 ID:qzWQuxNI
Q 何故、民主党は外国人参政権を推進したいの? A 民主党は、いわゆる「反日団体」だからです。 根底に「日本が嫌い」「日本は悪い国」という思想があります。 Q 何故、民主党は日本人なのに日本が嫌いなの? A 戦後60年、日教組が反日教育で日本人を洗脳し続けてきたからです。 洗脳された日本人が反日思想を更に広めるべく教員やマスコミに潜入しています。 また市民活動家や政治家にも大勢潜入しており反日政策を作ってきました。 反日マスコミが反自民党へ世論を誘導して樹立した反日政権が民主党です。 Q 何故、日教組は日本人なのに反日思想を広めて来たの? A 戦後のGHQ統括下で右翼的な思想の日本人は戦犯になりました。 特に教職員(とマスコミ関係者)は駆逐されました。 代わりに教育の現場で指導に当たったのは反日思想の在日朝鮮人と共産党でした。 つまり日教組に「まともな日本人」は居ません。 Q 右翼も「まともな日本人」には見えませんが? A 街宣車で騒音を撒き散らす右翼は、ほとんどが在日朝鮮人です。 その証拠に街宣右翼は「北方領土を返せ!」は言っても「竹島を返せ!」は言いません。 在日朝鮮人が「日本を愛するのは悪いことだ。」と宣伝しているのです。 また「在日朝鮮人はこんな人たちの差別に苦しんでいます。」と自作自演しています。 Q 日本を愛するのは悪いことじゃないの? A 自分の国を愛するのは当然のことであって何も悪いことはありません。 愛国無罪(国のためなら何をしても良い)は悪いことですが。 Q でも日本は過去に悪いことしたんでしょ? A 日教組やマスコミは様々な嘘の歴史が作り上げ広めて来ました。 彼らは「まともな日本人」の感覚では信じられないレベルの大嘘をつきます。
ああ、文字列が含まれるかとか判定したいのね でも結局in_arrayでも内部的には1つずつ確認してるだけだぞ
237 :
233 :2010/01/20(水) 10:58:08 ID:6zid23dW
>>236 そうなんですか。素直にforeach使います。
238 :
nobodyさん :2010/01/20(水) 12:46:53 ID:a0XNCYkl
htmlspecialcharsに関してですが
関数名でぐぐっていたら
http://www.rubyist.net/~matz/20080129.html#p02 rubyのまつもとさんのBlogにたどり着きました。
なんとなく読んでいたら
htmlspecialchars($_GET['text']);
この書き方は良く無い、とおっしゃってるように見えるのですが
$_GET['text']をhtml内に表示する際にどのように記述したら良いのでしょうか?
>>238 とりあえずENT_QUOTESつけて。
ただ記事の趣旨としてはtaintが無いのが問題と言ってると思うぞ
まつもとゆきひろに見事に釣られてるぞw そうやって上から目線でどうひどいでしょ的な例を出して初心者や経験者を釣るのがそのエントリの目的 問題点だけ出して対策案を出さないのはエンジニアとして残念だわなぁ そのコードに関しては第二引数を適切に指定しろということかと
test
243 :
238 :2010/01/20(水) 14:40:40 ID:a0XNCYkl
IDEの質問は該当スレで
>>243 それなぜSmartyでやっているのか分からないけどSmartyに関係なく発生するよね
JavaScript中なら問題ないんだけどHTMLの属性として書いていると解釈されるようだ
実体参照って単に表示時に変換されるだけかと思ってたけど、そのままHTMLとして解釈されちゃうとは知らんかった
test
247 :
228 :2010/01/20(水) 19:37:26 ID:c5k2D9j8
>>229-231 うーん、できません・・・。
$set = select count(*) from tb1 where pet = '犬';
print $set;
と書いたところ、
Parse error: syntax error, unexpected T_STRING in
とエラーが出てしまいます。
大変申し訳ありませんが、もう一度構文を書いていただけないでしょうか。
>>247 php・mysqlの解説サイトを読んだ上で
どこがわからないのか具体的に書いてもらわないと教える方も厳しいよ
とりあえずこう書いとけ $set = "select count(*) from tb1 where pet = '犬'";
251 :
228 :2010/01/20(水) 20:54:04 ID:c5k2D9j8
何度もすいません。取り敢えず、以下のように記述したところ、エラーは出なくなりました。
$sssss = mysql_query("select count * from BBS where YYYY = 2010);
ただ結果が返ってこないのです。
echo $sssss;
print $sssss;
共にだめでした。
>>249 いくつかのサイトを回り、本も読みましたが…ほんとにすいません。
>>251 そのサイトや本はいきなりmysql_queryを実行してましたか?
まずmysql_connectでMySQLに接続して下さい。
その上でmysql_queryでSQLを実行し
mysql_fetch_array等で結果を取得します。
もう一度、サイトや本を読んだ方が良いと思います。
>>251 define('DB_HOST',"localhost");
define('DB_NAME',"test");
define('DB_USER',"username");
define('DB_PASS',"password");
$con = mysql_connect(DB_HOST, DB_USER, DB_PASS);
mysql_select_db(DB_NAME);
$query = "select count * from `BBS` where `YYYY` = 2010";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$rec[] = $row;
}
echo nl2br(print_r($rec,true));
定数は適宜書き換えてちょ
255 :
nobodyさん :2010/01/20(水) 22:20:32 ID:JcfZ2AVN
こんばんは 配列の便利さがいまだにわかりません^^; どなたか説明してくれませんか
256 :
228 :2010/01/20(水) 22:55:57 ID:c5k2D9j8
>>254 色々やってみましたがエラーが返ってきてしまいますね。
…自分で言うのもなんですが、基礎の部分の知識が全然駄目ですね。出直してまいります。
最後に一つだけ。
皆様がお勧めする参考書とかありますか?私はソフトダンクの「基礎からのMySQL」という本を見ています。
>>255 文字’列’も配列のひとつ
これでわかるだろ
259 :
nobodyさん :2010/01/21(木) 01:44:46 ID:0ZIqvqkU
PHP+MYSQLwebシステム構築かな
>>256 あなたはSQLの他にPHPの知識も乏しいので
PHPの本を読んだほうがいいです。
そういう本にはSQLのことも書かれているでしょう。
261 :
nobodyさん :2010/01/21(木) 12:53:15 ID:PEXDjvL/
PHP初心者です。PHPからCプログラムを実行して実行結果をHTML上に表示する方法が分からなく困っています。 Cプログラムの中身は、 #include <stdio.h> int main(){ printf("Hello."); } です。 phpの中身は、 <HTML> <HEAD><TITLE>Cプログラム呼び出し</TITLE></HEAD> <BODY> <?php $cmd = "test.exe"; $a = exec($cmd); echo $a; ?> </BODY> </HTML> としており、調べてみるとexec()関数で外部プログラムを実行すると書いてあったのでこのように作成しました。 他にもexec(),system(),shell_exec(),passthru()を試してみたんですがだめでした・・・
test.exeは標準出力に吐くわけじゃん exec()は標準入力を受け取れるのかどうなのかマニュアルで確認してみそ
よく探してきたなw
echo exec($cmd); にしても「ファイルが開けません」と出てだめでした。 test.exeもphpファイルと同じ場所に保存しているんですが
フルパス指定するか、./test.exe でどうよ ./ はピリオドスラッシュね
>>267 マルチのバカに回答してやるなんて優しいな。
269 :
nobodyさん :2010/01/21(木) 13:42:58 ID:PEXDjvL/
>>267 どちらも試したところ、文も何も表示されませんでした・・・
マルチポストについて調べました。 「基本的には同一のシステム(コミュニティ)内での別個のカテゴリへの重複投稿を指すが 人によっては、別のシステム(「OKWave」、「Yahoo知恵袋」、「カカクコム」、「2ちゃんねる」など別個のサイト)への重複投稿もマルチポストと見る場合がある。」 基本的には同一のシステム(コミュニティ)内での別個のカテゴリへの重複投稿を指すので、 人によっては、マルチポストとは見ない場合もあるんじゃないですか?
>>271 はいはい。271=ID:PEXDjvL/必死だな。
ID非表示にして自己弁護。
質問する側の論理だな。 自分が回答する立場になったらマルチの不快さはわかるよ。
>>271 なんでマルチポストが嫌われるのかも調べようぜ。
276 :
nobodyさん :2010/01/21(木) 14:15:50 ID:IMaJrSoT
>色々と試したらうまくいきました。回答していただいた方有り難うございました。 逃げたな。 マルチポストまともに反論できないなら最初からやらなければいいのにどうしてこういうバカは それでもマルチポストをするのだろうか? バカの考えは凡人にはわからないね。
都合の良いサポート感覚だな。 どういう問題があって、どのように修正したらうまくいったのかを書いとけば 今後、同じような問題で困った人の助けになるのにな。
>>277 教えて君ってそういう物だよ。
・ネットマナーなにそれ?それっておいしいの?
・情報共有って必要?俺が満足すればそれでいい。
未コンパイルのテキストの拡張子を変えただけのもの が設置してある神展開希望w。
>>279 それよりサーバにアップしたらサーバ側で動かないと言う定番を希望。
ID付くようにならんかなぁ。
IDってなんで非表示なんや
非表示がいやならID出せやハゲ
ID:PEXDjvL/逃げてないではやく謝罪しろよ。
>>283 ばーか^^
いやだよ^^
お前がだせよ^^
ワロス
287 :
age :2010/01/21(木) 15:47:35 ID:rC/oBUeG
<? echo 'Hello World!'; ?> 実行できない。ちなみに <?php echo 'Hello World!'; ?> は実行できる。なんで?
つマニュアル
290 :
age :2010/01/21(木) 16:16:58 ID:rC/oBUeG
かいけつしました
291 :
age :2010/01/21(木) 16:18:50 ID:rC/oBUeG
289 ありがとうです
スクリプト言語にはほとんどあるが・・
マニュアルに思いっきり載ってるのに・・・
もうそういうのやめてスルーしようぜ マルチもスルーな。
とマルチをしたID:PEXDjvL/が事態の沈静化に躍起です。
え?PEXDjvL/じゃねえよあほ
え?PEXDjvL/だよよあほ
ID:PEXDjvL/あっちの方退会しているな。 時間的にここ見て退会したようだね。 タイミング的にもこの中の誰かがID:PEXDjvL/だった可能性はあるね。
だよよってなんだよ 脳外科行ってこい
>>305 この必死さ、おまえID:PEXDjvL/だろ。
私のために喧嘩しないで><
けんかをやめて二人を止めて 私のために争わないで もうこれ以上
ワロス
310 :
アルト :2010/01/22(金) 10:45:46 ID:lVM55VZv
質問お願いします。 掲示板作成してます。PHPで掲示板を作成しているのですが、どうしてもわからないところがあるので教えてください。 投稿コメントに --------------------------- [例1] >a >>a >>>a >>>>a #a [例2] aaa>a aaa>>a>a --------------------------- とあったとします。これを掲示板の機能でよくある、色を変える処理をしたいです。 【条件】 @、行の初めに記号(例1)があるとき色を変える。 A、行の途中に記号(例2)があるときは色を変えない。 B、@の条件から改行まで色を変える。 私が考えた正規表現だとバグがありました・・・ $res_comment = preg_replace('/^>(.+)/','<font color="#">\0</font>',$res_comment); $res_comment = preg_replace('/^>>(.+)/','<font color="#">\0</font>',$res_comment); $res_comment = preg_replace('/^>>>(.+)/','<font color="#">\0</font>',$res_comment); $res_comment = preg_replace('/^>>>>(.+)/','<font color="#">\0</font>',$res_comment); $res_comment = preg_replace('/^#(.+)/','<font color="'.$sharp.'">\0</font>',$res_comment); ※色コードは今だけ#にしてます。 $res_commentには上記の例だと $res_comment = "[例1]<br>>a<br>>>a<br>>>>a<br>>>>>a<br>#a<br>[例2]<br>aaa>a<br>aaa>>a>a"; こんな感じの変数になってます。どなたか宜しくお願いします。
行の始めと行の途中に記号があるときははてどうしたものか・・
>の連続は正規表現にしないんだw
誰かがYahooにあったのを貼り付けに来たんだろ
じゃあスルーだな
$a = "test1\ntest2"; $b = 'test1\ntest2'; /*ここに文字列化した$bのエスケープシーケンスを解釈する処理*/ ($a === $b) ? echo good : echo bad; 一度変数に改行コードではなく純粋に文字列として入ってしまった'\n'などを 解釈させるにはどうしたらいいですか?
318 :
316 :2010/01/22(金) 13:37:50 ID:???
preg_replaceで改行コードに変換することにしました。失礼しました
まじでか
ワロタ
321 :
PEX :2010/01/22(金) 14:28:10 ID:???
おもろいスレだな
322 :
サブマリンPHP :2010/01/22(金) 14:49:49 ID:lrtepsPM
【OS名】レンタルサーバ 【PHPのバージョン】php5 【連携ソフトウェア】特になし 【質問内容】 requireのファイルを読み込んだ場所がカレントディレクトリーになってしまうために おこる問題についてです。 同じ階層にあるhoge.phpを読み込む。 OK <?php require('hoge.php'); ?> OK <?php require('/hoge.php'); ?> 他の階層にある(/hoge.phpを /hoge/hogeRead.phpから読み込む)hoge.phpを読み込む。 NG <?php require('/hoge.php'); ?> 相対パスでやればいいことは分かってるのですが、 hoge.phpは変更しない hogeRead.phpをいろんな階層に配置する 場合、階層ごとにrequireを修正していたのでは大変です。 どの階層からでも同じ構文で読み込ませる方法はないでしょうか?
define('LIBS', '/path/to/libs/'); しといて require(LIBS.'hoge.php'); とか?
324 :
サブマリンPHP :2010/01/22(金) 14:58:28 ID:lrtepsPM
>>323 それだとdefineを設置するファイルの場所によってパスの内容が変化してしまうんです。
言い方間違えてました。
requireのファイルを読み込んだ場所がカレントディレクトリー
ではなくてphpの場合ファイルを読み込んだ場所がカレントディレクトリーになってしまうです
たぶん常套手段と思える手の一つは、 require realpath(dirname(__FILE__)).'/../includeFile.php';
>>316 function expand_escape($string) {
return preg_replace_callback(
'/\\\([nrtvf]|[0-7]{1,3}|[0-9A-Fa-f]{1,2})?/',
create_function(
'$matches',
'return ($matches[0] == "\\\\") ? "" : eval( sprintf(\'return "%s";\', $matches[0]) );'
),
$string
);
}
328 :
サブマリンPHP :2010/01/22(金) 15:27:13 ID:lrtepsPM
>>326 すみません、それでもうまくいかないです・・・・
329 :
サブマリンPHP :2010/01/22(金) 15:32:27 ID:lrtepsPM
>>326 realpathやdirnameで取得したファイル自体の位置が変わるためにそれでは
意味がないです。
絶対パスを自分のところ基準の相対パスに変えればいいんだな。 この板で前にそんな質問があって回答した気がする。
require $_SERVER['DOCUMENT_ROOT'] . '/../libs/hoge.php';
333 :
サブマリンPHP :2010/01/22(金) 15:56:06 ID:lrtepsPM
>>332 あ〜びっくり、ちょっと変えるとそれでうまくいきます!
require $_SERVER['DOCUMENT_ROOT'] . '../hoge.php';
として読み込むファイルはドキュメントルートに配置しました。
これだとOKなんですが
../ が必要な理由が分からない・・・・
334 :
サブマリンPHP :2010/01/22(金) 16:03:22 ID:lrtepsPM
>>332 でもとりあえず上手くいきました。有難うございました。
また、ほかの皆様にもたくさんご意見いただきまして有難うございました。
335 :
サブマリンPHP :2010/01/22(金) 16:11:01 ID:lrtepsPM
っとローカルで上手くいってたんですがサーバにうぷするとだめでした;; もうこの迷宮いや;;
変更が許可されない環境もあったりするかもだけど、 includeパスを設定するとか。 set_include_path(get_include_path().PATH_SEPARATOR.'.'.PATH_SEPARATOR.'..'.PATH_SEPARATOR.'../..'); require('hoge.php'); file_existsとかしながら順に上の階層をみてまわるとか。
>>335 echo $_SERVER['DOCUMENT_ROOT']して
最後にスラッシュが入ってるか入ってないかとか
338 :
サブマリンPHP :2010/01/22(金) 16:50:06 ID:lrtepsPM
>>337 ちなみにスラッシュは入ってませんでした・・
ところで、絶対パスの指定じゃ駄目なの? 読み込むヤツはあちこちだけど、読み込まれるヤツは固定なんでしょ?
340 :
サブマリンPHP :2010/01/22(金) 17:37:03 ID:lrtepsPM
>>339 そこなんですよ!!なんで
/hogehoge/hogehoge.php
みたいな絶対パスが使えないんですかね?
サブマリン的には絶対パスが使えないって見解なの?
>>340 絶対パスって、 /var/www/public_html/xxxx/yyyy.php とか c:\apach\www\html\xxx とかの方。
343 :
サブマリンPHP :2010/01/22(金) 17:51:59 ID:lrtepsPM
え〜と私なんか根本的に間違ってるのかもしれないですね・・・ /hogehoge/hogehoge.php じゃあだめなんですかね?
344 :
サブマリンPHP :2010/01/22(金) 17:53:04 ID:lrtepsPM
あ〜やっぱり;; サーバールートですよね;;;;;;;;;;;;;
345 :
サブマリンPHP :2010/01/22(金) 18:01:53 ID:lrtepsPM
お恥ずかしい限りです・・・ ほんとにくだらねえ質問になってしまいました・・・ ここまでお付き合いくださいまして有難うございました。 無事解決いたしました。
そう言い残してサブマリンは二度と来ることはなかった。。
347 :
nobodyさん :2010/01/23(土) 09:30:58 ID:XRhFBb8M
サムネイルを実装したいときって、サムネイル用の画像を保存するのと、毎回縮小するのと、どっちが一般的なんでしょうか?
保存
349 :
nobodyさん :2010/01/23(土) 14:17:45 ID:xU/0Wtfa
HTMLフォームから入力された結果をphpの部分で使おうとしているのですが、特定の文字を使うとうまくいきません HTML "ソニー" php "ソ\ニー" のようになってしまいます これはどうすれば回避できるのでしょうか? 使っている文字コードはShift_JISです str_replaceで\を取り除こうと試してみましたが、文字化けするだけでした・・・
【OS名】CentOS 5 【PHPのバージョン】php5 【連携ソフトウェア】ImageMagick 【質問内容】 PHPにてEPS、AI、PSDやらをWeb表示用にJPEGに変換したいと考えています。 一応、ImageMagickを介してEPSからJPEGが書き出せたのですが色がおかしくなりました。 元画像は不特定多数からの物なので、CMYKとRGBの統一などはできません。 色がおかしくならないようにする方法とか、 他に有用な道具は無いでしょうか。
351 :
nobodyさん :2010/01/23(土) 14:22:18 ID:cU7c3b42
>>350 ごめんなさい、sageてしまいました。
353 :
nobodyさん :2010/01/23(土) 14:38:02 ID:BWTPXOpQ
php.iniの設定変更
354 :
nobodyさん :2010/01/23(土) 14:39:51 ID:BWTPXOpQ
355 :
349 :2010/01/23(土) 16:37:16 ID:xU/0Wtfa
>352-354 無事解決できました。 ありがとうございます。
356 :
nobodyさん :2010/01/23(土) 16:59:17 ID:LeVWmeZT
PHPのDOMで一部分のhtmlを読み込むと勝手に日本語が数値参照(しかも間違っている)になってしまいます。 そこで、あらかじめ適切な数値参照に変換した後にDOMに読み込ませ、 出力した後に数値参照をデコードしようと思いました。 しかし、この方法では最初の段階から数値参照だったものまでデコードされてしまいます。 何かいい方法ありますか? 数値参照は、ascii文字以外を変換しようとmb_decode_numericentityでconvmapを指定しても "が'になってしまっていました。
.. PHP DOM 数値参照で検索したら、 そもそもの数値参照になっちゃうやつの対策が見つかると思うけど、そっちじゃ駄目なの?
>>358 libxmlを変えろってことですか?それともmetaタグを追加してからDOMに読み込めということですか?
libXML Compiled Version 2.7.6
libXML Loaded Version 20706
でした。
$value='<b>"あa</b>';
$dom = new DOMDocument();
$dom->loadHTML($value);
$dom->encoding = "UTF-8";
echo $dom->saveHTML();
結果:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "
http://www.w3.org/TR/REC-html40/loose.dtd ">
<html><body><b>"ã??a</b></body></html>
やっぱり"あ"が数値参照(間違ってる)になってしまいました。
..あ (utf-8でE38182 ) が単純に Laten1の 3E 81 82 の文字に認識させられてるような気がするな。 81 81 は制御文字なので変換失敗してるけど。
$value='<meta http-equiv="content-type" content="text/html; charset=UTF-8" /><b>"あa</b>'; だとOKぽい
ID出せよ
やっぱり metaタグ追加 dom化 出力 metaタグ削除しかないんですかね。
>>361 new DOMDocument();
↓
new DOMDocument('1.0', 'UTF-8');
367 :
nobodyさん :2010/01/23(土) 19:14:17 ID:LeVWmeZT
>>366 そこで設定しても後からencoding指定したら意味ない(まあencoding指定してもダメなんだけど)よ。
結果は同じ。
metaでしか文字コードを設定できないんだな。
369 :
nobodyさん :2010/01/24(日) 11:41:41 ID:DWdjG26G
staticな関数をまとめたクラスを作りインスタンス化せずに利用するか、 同じ機能を持ったクラスをインスタンス化して利用するか、 どちらのほうが高速(メモリ的・処理的)に動作するのでしょうか?
ヒント 両方を作成して計測する
371 :
nobodyさん :2010/01/25(月) 12:28:48 ID:gaHrYkXD
環境:Windows,PHP5.3.1($_ENVは利用できない設定にしてます。GPCSのみ) コマンドラインからIPを取得する方法はございませんか? 以下の方法でブラウザから動かすとIPを取得できるのですが MS-DOSでコマンドラインから動かすと取得できません $_SERVER['REMOTE_ADDR']; getenv['REMOTE_ADDR']; 無理矢理でもいいのでどなたかcliでも取得できる方法をご教示お願いいたします
環境変数REMOTE_ADDRにはアクセスしてきた機器のIPアドレスがセットされるけど コマンドラインで実行してもなにもアクセスしてこないだろうし無理
.. まさか $_SERVER["SERVER_ADDR"]; じゃないよね? 意味違うけど。
サーバ立ってないじゃんw
その環境変数はhttpd(apacheとか)がセットするのだよ
あとローカルのPCのIPアドレスを知りたいということなら それなりのコマンド実行して返ってきたものを取り出す、ことになるとおもうけど PCのIPアドレスは1つとは限らない(0〜いくつでも。通常でもループバックと2つあるよね)
自分の環境だと、$_SERVERから COMPUTERNAME取れるので nslookupでも引くか。
windowsならipconfigでいいんでない?
ipconfigってやるとアドレスがいくつも出てきて困ったり。 質問者が必要としてるのは何だろうね。
日本語
はい?
382 :
nobodyさん :2010/01/25(月) 18:52:02 ID:BRV0ROHO
WindowsでPHP5.3.1、Mysql5.1 or Mysql5.5を使ってます 以下のコードを実行するとエラーが出てMySQLが応答しないです どなたかphpでmysqlに正常にアクセスする方法をご教示お願いします $con = mysql_connect("localhost, "root", "1234") or die("error"); mysql_close($link); 【エラー】 Warning: mysql_connect() [function.mysql-connect]: [2002] 接続済みの呼び出し先が一定の時間を 過ぎても正しく応答しなかった in 略 Warning: mysql_connect() [function.mysql-connect]: 接続済みの呼び出し先が一定の時間を過 ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、 確立された接続は失敗しました。in 略 接続できませんでした: 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。 または接続済みのホストが応答しなかったため、確立された接続は失敗しました。
まずMySQLを起動します。
>Mysql5.1 or Mysql5.5 同居させているなら、接続時にポートで割り振って切り替えれ localhost:9999
+、−を含む文字列をURLに付けて渡して表示させたいのですが無反応です。 直接PHPファイルのprintf部分に書くと表示するので渡ってないと思うんですが URLで+は文字としては認識されないんでしょうか?
↑ 誤)無反応 正)+−以外が表示されます。
半角スペースは+にエスケープされる。これ常識ね
スペースで渡してました ありがとうございました
test
390 :
nobodyさん :2010/01/26(火) 13:55:08 ID:C4zRj44a
get_class()で返ってくるクラス名なんだが 全部小文字にして返すオプションとかあるのか? PHPのバージョンによって小文字だけだったり 定義どおり大文字小文字混じってたりと違うようだが 統一する手段はあるのか?
キミは知らないのかね 大文字を小文字に変換する関数があることを
392 :
nobodyさん :2010/01/26(火) 16:42:48 ID:ZX9klyVT
Ajaxを使って,最初にネコの絵を表示しておき,ボタンを押したら犬の絵を表示する プログラムを作成しなさい。なお,ネコ,犬をダウンロードして使いなさい。 ←おもしろい画像で作ったやつが優勝 この課題がいろいろわからないので教えてください。
.. これは難しい。 何をやり取りすればいいんだよ。
まず面白い画像をつくります。
395 :
nobodyさん :2010/01/26(火) 17:07:18 ID:SdRaerdT
【OS名】vine linux 【PHPのバージョン】php5.26 【連携ソフトウェア】Apache/1.3.4 【質問内容】 質問です。 特定の条件下では、デフォルトの404ページを返すようにしたいのですが、その方法を教えていただけますでしょうか。 ------------------------ <?php (略) if ($error) { header("HTTP/1.1 404 Not Found"); exit; } print "ok"; ?> ----------------------- 「PHPで404エラーステータスを返す方法」を調べると、header〜行をやれと書いてあるサイトが多々見られます。 しかしこれだけですと、Not Foundページが表示されません。 (ヘッダは404になっていますが、HTMLソースは空っぽです) デフォルトの404ページを表示させるにはもう一工夫いるのだと思いますが、どうすればよいのでしょうか? ・独自の404ページを表示するのはできました。(調べたサイトたちも、基本的に独自404ページを表示する方法として紹介されていました) ・<?より前。?>より後ろに改行コードなどが入っていないのは確認しました。 ・PHPと同フォルダにて、存在しないファイル名を指定してブラウザからアクセスしたら、きちんとデフォルトの404エラーページが表示されました よろしくお願いします。
apacheに任せてもいいし、Locationで自前の404ページに飛ばしてもいい 用途によって好きな方選べ
397 :
nobodyさん :2010/01/26(火) 17:12:29 ID:ZX9klyVT
>392 この問題の答えをガチ教えて欲しい。 それはわがままなのか・・・
課題は自分でやりましょう
まず面白い画像を作れ PHPの話はそれからだ
いやでも
>>392 の課題じゃphpの出番ないんじゃ?
ダウンロードするとこなんじゃ?
お絵かきツールをPHPで作るところからだろ
403 :
nobodyさん :2010/01/26(火) 17:18:38 ID:SdRaerdT
>>396 レスありがとうございます。
その「apacheに任せる」というのはどうすれば良いのでしょうか?
headerで404ステータスコードを返せば、自動的にapacheのデフォルト404が出るのかな。と期待していたのですが、それがだめだったもので。
ああごめん関係ないわな でもAjaxを使ってというからには非同期通信使って何かする課題がその後に控えてんだろ
httpd.confの中に各種応答の際のページ条件を追加・変更すればおk
Apacheに任すっていうのは本当にファイル置かないってことじゃないのか
>>403 396じゃないけど
デフォルトの404ページって何?404を返したときに出るのがデフォルトだと思うけど。
自前の404ページを出したいんだよね?
ならあれはApacheが返してるものなのでApacheに設定したその条件に合致するURLにリダイレクトするか
404コードを出して自前の404ページにリダイレクトするなりincludeするなりすればいいなじゃないのかね
ieの場合は、エラーページの簡易表示オプションがあるから気をつけれ 自前のページを挿しても、ieが違う見た目に置き換えやがるんだ
>>392 これってAJAXでやつ必要性がよくわからない。
JavaScriptだけで完結するような内容だね。
410 :
nobodyさん :2010/01/26(火) 17:44:25 ID:ZX9klyVT
>409 たしかに、javaだけならすぐできるんだけど、それを AJAXでの書き方がホントわからなぃww もぉ2時間これで悩んでる(;´Д`)
>>392 <img src="neko.jpg" id="hoge">
<button onclick="hoge.src='inu.jpg';">click</button>
ネコ,犬をダウンロードってのは用意されたものを使えという意味か
Ajaxで画像とってこいといってるのかわからないけど
(面白い画像作ったやつが優勝っていうぐらいだから後者か?)
仮に後者でそれが課題だから回りくどい工程を取るとしても
それだけの結果を得るためにわざわざAjaxを使うというのが解せない
リクエスト減らすために描画領域に入ったらAjaxでとってくるっていうのならわかるけど
まぁ何が言いたいかというと課題が悪すぎるね
釣れたとか言わないでくれよな
ぬこの絵を表示させてボタンを押すといぬになるまではできるのか?
ajaxでウェブから面白い絵を拾ってくるとかか? google画像検索で「おもしろい顔 犬」で検索して結果から表示なんてやったり
>>410 JavaScriptとJavaはまったく別物だぞ。
それともJSP or Javaアプレットの方のことを君は書いているのか?
クリックすると「ワンッ」という吹き出しが表示され、尻尾が白くなる を提出する奴が二人はいる。
そもそも
>>392 の文面だけだと何をAjax通信するのかさえわからないよな
問題出したやつ頭おかしいんじゃね
知ってる言葉並べただけちゃうんかと
もはやPHP関係ないな
俺も問題自体が悪いと思った
ネット見ていてもアホな奴になってくるとjQuery使っている物はすべてAjaxって思い込んでいる奴らいるからな。 jQuery内に一つの機能としてAjax向けのライブラリがあるだけなのにね。
>>410 何故、PHPのくだスレに持ち込んだのかを説明しろ
422 :
390 :2010/01/26(火) 19:50:45 ID:???
>>391 get_class()を乗っ取って、内部で小文字に変換してから返せばいいってことか?
組み込み関数をオーバーライドするのはやったことないけど、ちょっとやってみるわ。
423 :
nobodyさん :2010/01/26(火) 20:46:08 ID:81MG/9ia
登録情報の管理などをするとして、テキストで管理するのとDBで管理するのでは何が違ってくるのでしょうか? 双方のメリットデメリットなどを教えてください
デメリットは技術で何とか成るもの 自分がメリットを感じる方を使えばいい
テキスト設定ファイルならDBの知識がなくても使える DBを利用すれば検索が早いがSQLを覚える必要がある 両方熟知しているなら、用途に合わせて好きな方を使いやがれでFA
>>423 メリット
・ファイル
データの取り回しが楽
・DB
登録/更新/削除さらには検索が楽
デメリット
・ファイル
DBの場合DB本体側で処理するのでインタプリタとしてPHPがからまないけど
ファイルの場合検索など一端PHPの側に取り込んでインタプリタで処理されるから効率は悪い。
・DB
管理がめんどくさい
時々最適化などの保守が必要
427 :
423 :2010/01/26(火) 21:34:50 ID:81MG/9ia
いいってことよ
>>429 get_glass()の戻り値を小文字にするために、もしかしたらphp本体のソースを解析して、
パッチを当てているかもしれない人に、
「strtolower()使えばいいじゃん」
なんて、言える訳ないでしょ。察してよ。
431 :
nobodyさん :2010/01/27(水) 03:46:24 ID:TEjoYy4L
スレ違いだったらごめんなさい。。 例えばですが、 自分の住まいの最寄の美容室を検索して並べて表示するというような事をするのはどのような知識が必要でしょうか? 検索方法はチェックボックス(複数選択可)、表示される検索結果は美容室の店名、住所、電話番号程度のものです。 (これは簡単なテーブルで作ろうと思っています) idセッションとかデータベースというものを使うのでしょうか・・・? データを取得して表示までの流れを教えて頂けたらと思います。。
課題は自分で
>>431 必要なもの
・MySQLやSQLiteなどのRDBMSと
PHPやPerlなどのサーバサイド言語がインストールされているサーバー
必要な知識
・SQL(データベース問い合わせ言語)とデーターベースの基礎知識
・PHPやPerlなどのサーバサイド言語(以降PHPに絞る)
・HTML
流れ
・まずは美容室の最新データーを蓄積する(INSERT文、UPDATE文)
→PHPのデータベース関数を用いるかRDBMSの管理ツールを使って登録・更新する
・検索フォームから送られてきたデータでデーターベースから検索する(SELECT文)
→PHPのデータベース関数を使ってデータベースから該当データを取り出す
→取り出したデーターを整形してHTMLに出力する
434 :
nobodyさん :2010/01/27(水) 09:59:57 ID:G51s6vJh
正規表現でサイズが正しいか調べたいと思います。 $size = "400x300"; if(ereg("([0-9]{1,3})x([0-9]{1,3})",$size)){ echo 1; }else{ echo 0; } というコードを書いたのですが、$sizeが4000x300でもtrueになります。 どういう指定方法をすればよいのでしょうか?アドバイスお願いします。
何をもってtrueなのかも書くようにした方がいいよ。 で、それ2つめは 000x300 でマッチしてるだろ
>>430 いや、パッチなんてあてなくても改造は出来るよ。
とりあえずget_class()の乗っ取りには成功しました。
ほんとPHPはバージョン間で互換性無くていやになるね。
437 :
434 :2010/01/27(水) 10:14:46 ID:G51s6vJh
何をもって→「$sizeの書式が完全一致」です。 それで2行目に指摘していただいた事でわかりました。 ereg("^([0-9]{1,3})x([0-9]{1,3})$",$size) のようにすれば良いんですね。大変参考になりました。
>>434 eregは将来消される関数だからpreg_matchを使うかmb_eregを使おうぜ
>>436 まあできたんならいいけど
echo strtolower(get_class ($this));
でできるんだぜ
ソースを置換ってか。
441 :
nobodyさん :2010/01/27(水) 11:36:59 ID:TEjoYy4L
>>432 >>433 返事おそくなりました。昨日はありがとうございました。
おかげで仕組みややるべき事、調べることなどがわかりました。
442 :
nobodyさん :2010/01/27(水) 13:40:47 ID:/HDfkq3h
WindowsXPでPHP5.2.12,MySQL5.1を使用してます 環境変数にphpを登録するとコマンドラインでどのフォルダからでも楽にphpが使用できるのですが ブラウザでMySQLを利用するスクリプトを使うとApacheが異常終了します CLIも使えてApacheのモジュールとしてブラウザからも利用する方法はありませんか?
はい?異常終了するのは環境変数に追加したことが原因なの?
>>440 PHPはすでにある関数を置き換えることができる
異常終了する場合はまずログを見ろ
>>443 phpにパスを登録するとlibmysql.dllが関係してるみたいです
PHPが悪いんじゃなくてそのlibmysql.dllが悪いんでしょ? じゃそれを削除するか場所を変えるかおかしくない奴拾ってくるかすればいいのでは?
>環境変数にphpを登録すると 原因がわかっているなら、登録を削除すれば解決するんでね? 楽するよりもエラーを吐いて動かない方が重症だろ >マンドラインでどのフォルダからでも楽にphpが使用できるのですが PHPをインストールしているディレクトリのショートカットを、デスクトップに貼っとけ
現状はCLIでの利便性を捨ててパスは削除しています 補足ですが、mysql5.1とphp5.2で動かない症状が出た場合、 mysqlに入っているlibmysql.dllをphpに入っているlibmysql.dllで上書きすると動きます
それは単にバージョンコンフリじゃないか・・・ エラーを吐くDLL名でファイル検索して、バージョン違いをゴミ箱入れれ
パスを通す意味がわからない人はコマンドラインを使うことは難しい
括弧つけなくちゃw (コマンドラインを使うことは)
昼間は厨房しかいないから残念だったな 夜になったら質問してればいいのに
458 :
nobodyさん :2010/01/27(水) 18:32:55 ID:J0bFMzRr
<html><body> ID ちょめちょめ PASS にゃーん ID でっていう PASS すぐやる夫 ・・・ </body></html> というhtmlファイルから、各IDとPASS抜き出すのはどうすればいいんですか? $ID1 = "ちょめちょめ"; $PASS1 ="にゃーん"; $ID2 = "でっていう"; $PASS2 ="すぐやる夫"; という形にしたいです。宜しくお願いします。
splitとevalあたり? ハッシュ使った方がいい気がするが
まずhtmlファイルを生成しているDBに接続します
次にIDとPASSを取得するSQL文を投げます
なんということでしょう
最後に下記の通りに実行します $w=<<<_YARUO_ $ID1 = "ちょめちょめ"; $PASS1 ="にゃーん"; $ID2 = "でっていう"; $PASS2 ="すぐやる夫"; _YARUO_; echo $w;
ヒアドキュメントでその書き方は駄目だろw
466 :
nobodyさん :2010/01/27(水) 19:36:50 ID:J0bFMzRr
explode関数でどうにかなりそうな気がします。 ありがとうございます。 他にいい抜き出し方があったらお願いします。
あるけど、それで回答するとまたかって言うやつがいるので
explodeでできねえよカス
469 :
nobodyさん :2010/01/27(水) 21:08:43 ID:J0bFMzRr
$file = file_get_contents('kitaaaaaaaaaaaa.html'); $get = explode(" ",$file); $ID1 = $get[1]; $PASS1 = $get[3]; print $ID1.$PASS1; で一応表示されたんですが、これではダメですか? あとこれを行数だけ繰り返してID2,PASS2と振るにはどうすればいいですか? 宜しくお願いします。
配列使え
472 :
nobodyさん :2010/01/27(水) 21:41:05 ID:J0bFMzRr
>>470 ありがとうございます。
arrayを使えばいいですか?
行数の分だけ繰り返すところと、置き換えの文字列を変更する作業が
手こずっています。
>>471 htmlファイルになってますが、中身はテキストのみなんです。
ぽか〜ん
475 :
nobodyさん :2010/01/28(木) 00:02:48 ID:Y7CMbuAK
ID1 PASS1
ID2 PASS2
という感じ末尾を変更するやり方を教えてください。
>>474 すいません。
うむ、だいぶ下らなくなってきたな。質問も回答も。
>>475 preg_match_allを使います
explodeではできないので覚えとけよカス
wikiを作りたいのですが、どのような仕組みで作るのが楽でしょうか? ファイルにデータを貯めるよりもデータベースに貯める方が楽でしょうか?
はい
とある文字列を半角カンマ、半角スペース、全角スペースで区切って配列に入れるにはどうしたらいいでしょうか?
481 :
480 :2010/01/28(木) 12:24:56 ID:WZ4SPb0m
ID出すの忘れてました
print_r ( preg_split("/[ , ]+/", "a b c,de,f g,h")); //[半角スペース,全角スペース]
うわっ
>>482 ありがとうございました
preg_splitがあったのを忘れていました
>PHPコードは「<?php」という開始タグから始まります。 >終了タグは「?>」です。HTMLにPHPコードを埋める際は終了タグを使いますが、 >ライブラリのようにPHPコードのみを記述する際は終了タグを省くことが慣例となっています。 というのをみて(ブログ記事の一部)、 -- test.php <?php 〜〜 ?> 改行 改行 -- みたいな場合がかなりやばい、ということはわかったのですが、 え?それだけ?で? な気持ちです。たしかに改行改行がダメなことは初めて気付かされましたが、 2つ以上の改行に注意するのと、?>を記述しないという注意と そんなに言うほど変わりないと思うのです。 しかしいろいろなところで、(phpコードのみの場合は)絶対?>を取り除きましょう!! みたいなノリについていけないというか・・実際やってる人なんているんでしょうか・・
487 :
485 :2010/01/28(木) 18:37:12 ID:Wx5X+hZm
すいませんでした よろしくお願いします
488 :
485 :2010/01/28(木) 18:38:57 ID:6pvkIKgb
久しぶりで完全に忘れていました すみません id
どっちだよw
490 :
485 :2010/01/28(木) 20:28:59 ID:DXCM0MC8
私です、私以外は全部偽物です
?>は意識して打たないと入らないからな
492 :
nobodyさん :2010/01/28(木) 21:53:49 ID:CVOGs3cZ
【OS名】Debian Lenny 【PHPのバージョン】php5.2.6 【質問内容】以下のコードが期待した動作をしません。
<?php
// メニュー用画像リスト
$menuimg["login"] = "<IMG src=\"./img/top.login.gif\" width=\"100\" height=\"50\" alt=\"ログイン\">";
$menuimg["regist"] = "<IMG src=\"./img/top.regist.gif\" width=\"100\" height=\"50\" alt=\"新規登録\">";
$menuimg["mail"] = "<IMG src=\"./img/top.mail.gif\" width=\"100\" height=\"50\" alt=\"管理人へメール\">";
$menuimg["osaifu"] = "<IMG src=\"./img/top.osaifu.gif\" width=\"100\" height=\"50\" alt=\"######\">";
// メニュー用URLリスト
$menuurl["login"] = "./constr.htm";
$menuurl["regist"] = "./constr.htm";
$menuurl["mail"] = "mailto:############@yahoo.co.jp?subject=【サイト名】問い合わせ";
$menuurl["osaifu"] = "
http://######.com/#####/ ";
// タグ生成関数の定義
function writeout($name){
print "<A href=\"".$menuurl[$name]."\">";
print $menuimg[$name]."</A>";
}
// タグ発行
writeout("login");
writeout("regist");
print "<BR>";
writeout("mail");
writeout("osaifu");
?>
writeoutの引数に書かれた文字を連想配列名として出力したいのです。どうかお力をお貸しください。
>>492 writeoutの中でvar_dump($menuurl);
あと期待する動作と実際の動作を書かないと片手落ちでは?次回からね。
494 :
nobodyさん :2010/01/28(木) 22:18:48 ID:2KkwWo9K
テキストファイルのしゅうたんから10バイト前の位置に追記するにはどうすればいいですか
495 :
492 :2010/01/28(木) 22:23:49 ID:CVOGs3cZ
>>493 様
var_dump($menuurl);
の結果は以下のようになりました。
Notice: Undefined variable: menuurl in /var/www/xxx/xxx.php on line 29
writeout(login);の結果
期待した動作:
<A href="./constr.htm"><IMG src="./img/top.login.gif" width="100" height="50" alt="ログイン"></A>
に対し、実際の動作が
<A href=""></A>
になります
>>495 >あと期待する動作と実際の動作を書かないと片手落ちでは?次回からね。
これを実行しても何も表示されないのと同じ理由 <?php $str="test"; function write() { echo $str; } write(); ?>
ごめんつい反射的に冷たいレスをしてしまった。今では反省している。 ・var_dumpの結果を見て自分で判断してほしかった。 ・次回からねというのは今回の質問の意図は分かるので次レスではなく次質問から(=次レスでいちいち説明すんじゃねーぞ)という意味だった。 で結論としては関数内はスコープが違うので引数で渡してあげれば良いです。
499 :
492 :2010/01/28(木) 22:56:02 ID:CVOGs3cZ
あっ、スコープですね。
>>497 様
global $menuurl, $menuimg;
を追加することで期待した動作をしました。
ありがとうございました。
500 :
492 :2010/01/28(木) 23:07:10 ID:CVOGs3cZ
>>498 様
いろいろとすみません。
こんな初心者丸出しの私に丁寧にご教示いただき、ありがとうございました。
おかげさまで無事に解決しました。
501 :
nobodyさん :2010/01/29(金) 00:45:00 ID:+kLxfVXG
こんばんわ。
今回、ある相対パスで指定されているアドレスを絶対パスに変換したいと思い以下のように書いたのですが、
※$Srcは相対パスの場合は../pを必ず含む。$Srcが相対パスではない事もある。
$AbsSrc = ereg_replace("../p","
http://絶対パス/p ",$Src);
「
http://piza/ 〜」 というアドレスも一緒に変換されてしまいました。
相対パスを絶対パスにする良い方法があれば教えてほしいのですが。
ちなみに、realpath()は使ってみましたが、元々$Srcは文字列から引っ張ってきているので、
絶対パスを知る方法がなく上手くいきませんでした。
よろしくお願いします。
502 :
501 :2010/01/29(金) 01:08:31 ID:+kLxfVXG
同様の問題は結構起きてるみたいですね。 他サイトを見ながらもう一度トライしてみます。 スレ汚し失礼しました。
ん、いいのか
基本的な質問ですいません。 <script type="text/javascript"> function zzz() { setTimeout('aaa1()',1000); setTimeout('aaa2()',2000); } </SCRIPT> のsettimeoutの部分を、txtファイルの行数分だけ count関数を使って入れたいのですが、 $count=0; $res=fopen($logfile,"r"); while(!feof($res)){ $str=fgets($res); $count++; $count1000 = $count*1000; $sall = "setTimeout('aaa$count()',$count1000);}"; } とすると <script type="text/javascript"> function zzz() {setTimeout('aaa2()',2000); }</SCRIPT> になります。希望の動作になるにはどうしたらいいか宜しくお願い致します。
>>504 echo $sall;
をwhileの中の最後尾に入れるのはどうですか?
変数はダブルクオーテーションの中でも、おっぱい括弧でくくれば使えますが $hoge="aaa"; $kage="bbb{$hoge}ccc";//$kage=bbbaaaccc 定数はおっぱい括弧でくくっても展開されないようです。 define("mage","mmm"); $kage="bbb{mage}ccc";//$kage≠bbbmmmccc 勿論 $kage="bbb".mage."ccc";とすれば望んだ値が入りますが 出来れば変数と同じく、ダブルクオーテーションを増やさずに参照したいです。
僕は展開してほしくないです。 質問なら質問らしく、独り言ならチラシの裏にお願い致します。
ob_get_levelのデフォルトの数値が1の時と0の時があるんですが、 これってどこかで設定するんでしょうか? ローカルでやってると最初のフォルダの頭で実行すると0なんですが、 サーバーで実行させると1になってます。
511 :
509 :2010/01/29(金) 18:59:02 ID:xrxVmrZ0
失敬。 最初のフォルダじゃなくて、スクリプトファイルでした。
512 :
nobodyさん :2010/01/29(金) 19:47:29 ID:56kcplo8
【PHPのバージョン】php5.26 【連携ソフトウェア】mysql 【質問内容】 文字化けの件について教えてください。 データベースから抽出したデータはきちんと書き出されますが htmlの<? ?>で囲ったところ以外の全部 (ページタイトルも) が ????? になってしまいます。 mysqlでもhtmlのmetaタグ内でもutf-8を指定してあります。 htmlファイル自体の文字コードもutf-8です。 なにか解決の手がかりになるようなことをご存知でしたらお願いします。
>>512 ヘッダに文字コード指定するといいのでは?
header("Content-type: text/html; charset=utf-8");
514 :
nobodyさん :2010/01/29(金) 21:50:52 ID:JATQlPdV
preg_matchが正しく機能してくれません。どうすれば良いか教えてください。 フォームからテキストを受け取って、$text_dataに入れます。それをチェックしてマッチしなかったら、 $error文を表示するのですが、123、yes、その他日本語、何を入れても$error文が表示されてしまいます。 理由が解りません。教えて下さい。お願いします。 $text_data = $_POST['person']; if (!preg_match("/^([一-龠][ァ-ヶー][ぁ-ん]){1,8}$/uD",$text_data)){ echo $error = '漢字、カタカナ、ひらがな以外の文字が使われてます。'; } WinXP PHP:5.2.6 Apache:2.2 MySQL:5.1 文字コードはUTF-8で保存してます。
515 :
512 :2010/01/29(金) 22:19:29 ID:56kcplo8
>>513 ありがとうございます だめでした
極限まで短くしても
<?
header("Content-type: text/html; charset=UTF-8");
?>
<HTML>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>ねこ</title>
<BODY>
いぬ
</BODY>
</HTML>
いぬとねこが??になってしまいました
>>514 '一ァぁ' を POST してみればわかる
>>515 mbstring.internal_encoding
mbstring.http_output
>>514 >>1 正規表現の書き方がまずいのでは?
あまり使ったことがないので詳しくはわからんが
preg_match('/[^一-龠ァ-ヶーぁ-ん$]{1,8}/uD', $text_data)
こんな感じだと思う。
519 :
nobodyさん :2010/01/29(金) 22:37:51 ID:cGTMydf+
1)ファイルの最後の文字が指定された文字だったら削除 2)ファイルの行を行番号を書いてボタンで削除 はどうすればいいですか?宜しくお願い致します。 2)について $csv_file = file("test.csv"); print "<input name=\"sakujo\" type=\"text\" size=\"3\" maxlength=\"3\">番を<input type=\"submit\" value=\"削除\" />"; $sakujo = $_POST['sakujo']; unset($csv_file[$sakujo]); $fp = fopen("test.csv", "w"); foreach ($csv_file as $line) { fwrite($fp, $line); } とすると、1行目を削除するのが0番を削除と指定することになります。 $sakujo = ++$_POST['sakujo']; また $sakujo = ++$sakujo; などに指定すると、ファイル読み込みと同時に勝手に2行目を削除します。
520 :
518 :2010/01/29(金) 22:42:05 ID:???
>>518 も間違ってるので無視してください
perl互換だったな…
>>519 POSTしてない状態では$_POST['sakujo']はnullだからunsetされてないだけでしょう
ちゃんと$_POSTで表示処理と削除処理を分けて、番号を1増やせばいいかと
>>521 回答ありがとうございます。
$sakujo = $_POST['sakujo']; のあとに
$sakujo = ++$sakujo;(若しくは$sakujo++,$sakujo+1等)
としても、2行目が勝手に削除されてしまいます。
523 :
nobodyさん :2010/01/29(金) 23:21:11 ID:cGTMydf+
連投、ID出し忘れ申し訳ありません。 $_POST['sakujo'] = ++$_POST['sakujo']; $sakujo = $_POST['sakujo']; も試しましたが、これも自動的に削除されます。 宜しくお願いします。
524 :
514 :2010/01/29(金) 23:22:33 ID:JATQlPdV
>>516 ありがとうございました。解決しました。
>>520 書き方を指摘して貰えて助かりました。
それをヒントに解決できました。ありがとうございました。
>>523 >ちゃんと$_POSTで表示処理と削除処理を分けて
526 :
nobodyさん :2010/01/30(土) 05:42:04 ID:obVWCfxQ
ファイル名test.php
<?php
class Test{
function hoge(){
return 'test';
}
}
?>
というファイルがあったときに、test.phpにアクセスできないようにしてもいいのですが、
あえて何もせずtest.phpにアクセスされた場合について質問です。
(ただし、test.phpのソースをローカルにダウンロードすることはできない)
例えば、
http:// 〜〜/test.phpな感じでブラウザからアクセスがあった場合、
これだけではインスタンスも生成していないし何も表示されることはないので、
特に危険はないかなと思ったのですが自分なりに考えたところ、
少なくともそのファイルの存在がわかってしまうし、
ファイル名がサイト独特のものだと他にも似たようなファイルがあるなと予測されてしまうし、
くらいを思いつきました。他に何か危険は潜んでいませんでしょうかよろしくおねがいします。
527 :
nobodyさん :2010/01/30(土) 06:11:52 ID:qAKPfLy/
>>525 ありがとうございます。表示処理 削除処理 PHPでぐぐっても出てきません。
初心者ですいません。
>>526 なんでもいいから .php以外の名前にしといてアクセス禁止しとけばよくね?
フレームワークを使いたくないけど、<select>や<table>書いてるときは フレームワーク使いたくなってしまうよな
>>527 ただフォームを表示するだけのページと実際に削除を行うページをif文で分けるって事だと思う。
$sakujo = $_POST['sakujo'];
if(ereg("^[0-9]{1,3}$", $sakujo)){
//実際に削除を行う
}else{
//削除フォームを表示する
}
>>526 呼び出し元にフラグ立てて、test.phpで条件分岐させるってのはどうだい?
if(isset(フラグ)){
処理する
}else{
header(HTTP 404);
}
532 :
nobodyさん :2010/01/30(土) 09:03:20 ID:qAKPfLy/
正規表現とかwww issetとかでいいじゃんw
>>532 $csv_file = file("test.csv");
print "<input name=\"sakujo\" type=\"text\" size=\"3\" maxlength=\"3\">番を<input type=\"submit\" value=\"削除\" />";
if (isset($_POST['sakujo'])) {
if (!is_numeric($_POST['sakujo'])) {
echo "数字ぢゃないがな( ゚Д゚)ヴォケ!!";
} else {
$sakujo = $_POST['sakujo']++;
if (isset($csv_file[$sakujo])) {
unset($csv_file[$sakujo]);
$fp = fopen("test.csv", "w");
foreach ($csv_file as $line) {
fwrite($fp, $line);
}
} else {
echo "行が無いぞ(#゚Д゚)ゴルァ!!";
}
}
}
>>532 それとファイルの「1行目」を削除する場合に"1"を入力する場合は
fileで読んだ配列の[0]が該当行なので
$sakujo = $_POST['sakujo']--; デクリね
なんでis_numericの否定が先?
537 :
nobodyさん :2010/01/30(土) 14:45:07 ID:yMr7jIEh
【PHPのバージョン】php5.2.12 【連携ソフトウェア】mysql 【質問内容】 データベースからレコードをプルダウンで取り出したい <form method="post" action="test.php"> <table> <tr><td>地域</td><td> <input type="text" name="pref" value="<?php print(htmlspecialchars($_POST['pref'])); ?>" /></td></tr> <tr><td>性別</td><td><input type="text" name="sex" value="<?php print(htmlspecialchars($_POST['sex'])); ?>"/></td></tr> </table><input type="submit" value="検索" /></form> <?php 中略 // プリペアド・ステートメントの準備 $sql = 'select * from address where pref = ? and sex = ?'; $type = array('text', 'text'); $sth = $mdb2->prepare($sql, $type); // プリペアド・ステートメントの実行 $data = array($_POST['pref'], $_POST['sex']); $res = $sth->execute($data); if (PEAR::isError($res)) { exit('selectに失敗しました');}
538 :
nobodyさん :2010/01/30(土) 14:45:51 ID:yMr7jIEh
// レコードの内容を表示 print("<table border=\"1\">\n"); print("<tr>"); print("<th>ニックネーム</th><th>地域</th><th>コメント</th><th>詳細</th>"); print("</tr>"); while ($data = $res->fetchRow()) { print("<tr>\n"); print("<td>" . $data['name'] . "</td>"); print("<td>" . $data['pref'] . "</td>"); print("<td>" . $data['comment'] . "</td>"); print("<td>" . $data['mypage'] . "</td>"); print("</tr>\n");} print("</table>\n"); ?> 現在このようにテキストボックスに文字を入力して該当すれば出力 させるようにしているのですが、これをプルダウンで選択して、該当すれば 出力という用に変更したく試行錯誤しているのですが・・・ 全く動かせる気配がありません。どなたか力を貸してください、よろしくお願いします。
PHPではなくHTMLの問題では? <select name="sex"> <option value="1">男</option> <option value="2">女</option> </select> でいいかと
540 :
nobodyさん :2010/01/30(土) 16:28:25 ID:yMr7jIEh
>>539 ありがとうございます
でもそれだとプルダウンにはなっても検索が出来ない状態です
フォームに入れてるの?
542 :
nobodyさん :2010/01/30(土) 17:54:33 ID:yMr7jIEh
543 :
nobodyさん :2010/01/30(土) 20:39:54 ID:qAKPfLy/
>>534-535 (´;ω;`)やっとできました。
if (isset($csv_file[--$sakujo]))
にしたら動きました。ありがとうございます。
ナにつくろっかなー 最近ガンブラーっての多いから怖いなー しばらく辞めとくね
545 :
nobodyさん :2010/01/31(日) 00:03:50 ID:A4bjb08C
if ($_SERVER["QUERY_STRING"] == "test") { } でページ分けしながらサイトを作成しているのですがあまり書きすぎると容量が多くなってしまうじゃないですか。 そこで考えたのですが文字だけならテキストファイルにぶち込んで外部呼び出しすれば少しはマシになるかななんて 思ったのですが何か良い方法があれば教えて下さい。
テキストファイルにぶち込んで外部呼び出しって?
547 :
nobodyさん :2010/01/31(日) 00:12:40 ID:A4bjb08C
>>546 文字数の多いページはtest.txtに分けて呼び出せないかなと思いまして・・・。
548 :
nobodyさん :2010/01/31(日) 00:24:51 ID:H20xeiLO
$lines = file($logfile); if ($_POST['message'] && $_POST['name'] && $_POST['URLID']){ $message = $_POST['message']; $name = $_POST['name']; $message = "$name $message<br>\n"; //$cnt = count($lines); $fp = @fopen($logfile , "w"); fputs ($fp, $message); for($i = 0; $i < $logmax; $i++) fputs($fp, $lines[$i]); fclose ($fp); echo $message; } for($i = 0; $i <= $max; $i++) echo $lines[$i]; のとき、$lines[$i]の前に行番号を振るにはどうしたらいいでしょうか? count関数を使ってみましたが、何も入っていない行として$max の値まで出力してしまいます。 宜しくお願いしますm__m
>>547 いいと思うよ。何が分からんの?
>>548 よく分からんがecho $i . $lines[$i];ということ?
550 :
nobodyさん :2010/01/31(日) 00:59:21 ID:A4bjb08C
>>549 いやその方法しかないのかーっと思いまして。
それとも300行ぐらいでもphpって重くなったりしませんかね?
>>550 処理によってすごく重い時あれば軽い時もある
552 :
nobodyさん :2010/01/31(日) 02:20:58 ID:H20xeiLO
>>549 echo $i . $lines[$i];やecho ++$cnt . $lines[$i];
で表示すると、$maxで指定した値まで表示されてしまいます。
>>548 からの流れ見ても $cnt = count($lines) が使われてるのかどうかとか
$max に何が入ってるのかとかはわからないよ。
条件説が $i <= $max になってるからじゃ? $i < $max にすればおk
555 :
nobodyさん :2010/01/31(日) 03:35:09 ID:H20xeiLO
>>553 説明不足でした。
ログの保存件数を指定しています。$max=200;です。
>>554 同じ動作になりました(´・ω・`)
$i < $max なら$maxまで到達するわけないじゃん
557 :
nobodyさん :2010/01/31(日) 09:22:21 ID:T8yUchyA
GIFアニメーション画像をアニメションを維持したままサムネイル(リサイズ)するにはどうしたら出来ますか よろしくお願いしますm(__)m
>>548 聞きたい部分に絞ろうよ ifの中、意味ないことしかしてないんだし。
if ($lines = file($logfile)){
for($i = 0; $i < count($lines); $i++)
echo $i+1,$lines[$i];
}
560 :
nobodyさん :2010/01/31(日) 22:15:48 ID:wRz92uaA
【OS名】win XP 【PHPのバージョン】php5.3.1 【連携ソフトウェア】mysql 【質問内容】 コマンドプロンプトをまったく触らずに、MySqlを操作したい。 データベース「テーブル」を作れるPHP関数ってあるの? 速攻で回答願います。
あります
563 :
nobodyさん :2010/02/01(月) 00:42:58 ID:1FY3W001
ログイン認証を作成しています。 ログイン後のページを、そのユーザ個人に応じた内容を変えるには どうすればいいでしょうか? sessionを使って認証しています。 ID,PASSを入力して進みます。 宜しくおねがいします。
そのユーザのIDで情報引っ張ってきて表示すればいいと思うよ
データベースなり読み込めばいい
566 :
nobodyさん :2010/02/01(月) 01:50:28 ID:1FY3W001
567 :
nobodyさん :2010/02/01(月) 01:51:12 ID:6W20Cbxr
_  ̄  ̄ . (;;)・(ェ)・`) . ' ヽ ;;;、`;。;`ξ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ´Д/ / / γ / / θ ヘ | / .;:* ) | , .; / | / ヘ | / i / | | / / , ' _/ |l / / | | し',;;、'。.;;/ / ̄/ / /. / | ;;ヾ#丶;;、;。;` ( / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J
>>566 テキストファイルだけでもデータベースもどきは作れる
どーせならCSV形式で作ってみたらいいと思う
571 :
nobodyさん :2010/02/01(月) 03:19:28 ID:t1E2Bg3p
php4 <textarea></textarea>にて空欄でPOST受け取った場合、 htmlspecialchars(sqlite_escape_string($_POST[key])); ・Λ8Sというようなデータや、よくわからないバイトが入り込んで、ページに反映させるとレイアウトバグしてしまいます。どうしたら良いのでしょうか?
htmlspecialcharsとsqlite_escape_stringを併用するシチュエーションがおかしいと思う
573 :
nobodyさん :2010/02/01(月) 03:31:43 ID:t1E2Bg3p
@page.php <textarea name="value"><?php echo $value[key];?></textarea> ↓ @database.php $key = htmlspecialchars(sqlite_escape_string($_POST[key])); データベース登録 sqlite header("Location: page.php"); ↓ @page.php <textarea name="value"><?php echo $value[key];?></textarea> ってな感じなんですが、、、基本的に間違ってますかね?
574 :
nobodyさん :2010/02/01(月) 03:37:23 ID:1FY3W001
>>569 宜しくお願いします。
ログインしたIDによって読み込むファイルを変えるということですか?
575 :
nobodyさん :2010/02/01(月) 03:42:42 ID:t1E2Bg3p
if で 空欄の場合NULLで解決しました。
何をしてるんだね $key = sqlite_escape_string($_POST[key]); <textarea name="value"><?php echo htmlspecialchars($value[key]);?></textarea>
578 :
nobodyさん :2010/02/01(月) 07:29:09 ID:1FY3W001
insert.php?modeで設定を変えるんですか?わかりません
579 :
nobodyさん :2010/02/01(月) 08:47:03 ID:qPPXPqzw
Parse error: syntax error, unexpected $end が、でるってんて、対処法を聞いたら <? を <?php と、すると、治るよ! と言われ、実際、治りました。 <? と <?php は、全く同じと思っていたのですが、違うのですか? 普通に <? で書いてましたが...
全然違うわボケ
どうちがうのですか
いやです
584 :
560 :2010/02/01(月) 11:25:08 ID:czJgSBEV
Create Table関数でいいんだよな?
585 :
nobodyさん :2010/02/01(月) 11:48:31 ID:45qXJ7z2
<?php 推奨 <? 非推奨
2ch 非推奨
>>584 それ関数じゃなくてSQLのステートメント
588 :
nobodyさん :2010/02/01(月) 13:40:15 ID:4LOdROLi
先生、質問です if (($i == 10) or ($i == 20) or ($i == 30) or ($i == 40) or ($i == 50)){ echo "ぬるぽ";} この式をもっとスマートに書くにはどうすればいいですか?
switch($i){ case 10: case 20: case 30: case 40: case 50: echo "ぬるぽ"; }
if ($i % 10 == 0 && (10 <= $i && $i <=50))
あなた方in_arrayを忘れてやしませんか
こうですか>< if(in_array($i, array(10,20,30,40,50))) echo "ぬるぽ";
こうじゃね $value = array(10,20,30,40,50); if (in_array($value, $i)) { echo "ぬるぽ"; }
10万回繰り返して試せ
>>590 PHP Parse error: syntax error, unexpected T_STRING, expecting 〜
どうなおせばいいですか><
>>594 pearにBenchmarkってのがあるよ><
結局こういう場合はプログラマーとしてはどれを選ぶんだ?
1、早い
2、ソースが簡潔
3、負荷がかからない
ソースが簡潔なら
>>590 や
>>592 だと思うし
早さならif分5回書いたほうが早いかもしれない
10の時、20の時などに処理を追加する可能性があるなら
>>589 の書き方かな
早さを求める時は1 可読性を求める時は2 低負荷を求める時は3
602 :
nobodyさん :2010/02/01(月) 14:55:55 ID:4LOdROLi
これを採用することにしました>< if (($i > 0) && (($i % 10) == 0)) { echo "ぬるぽ";}
条件変わってないか?
60の時も通るじゃねぇかw あと==0は!と同値
ということはこれでもいいんですね if (($i > 0) && !($i % 10)) { echo "ぬるぽ";} 将来的に60、70、80と続くんですが現実的に60あたりにしといたという条件です><
だったら値を決め打ちして書くのは良くない
テーブル(配列)に値を用意してそこから比較、にしておけば 将来的に数値はファイルでもネットでも渡せるようになる
マジかよ糞箱売ってくる
じゃあ俺も売ってくる
if ( ageSelectCheck($i) ) { echo "ぬるぽ"; }
なんでゲハネタがw
(array(1,2,3))[0]みたいな書き方って出来なかったっけ
>>612 php -r "echo (array(1,2,3))[0]"
Parse error: syntax error, unexpected '[', expecting ',' or ';' in Command line code on line 1
>>598 自分で書けないから動けばなんでもいい。
無料ツールを落として自分で作ったように見せる技術をつける。
Eclipse + PDT + ZendDebbuger + XAMMPの環境を作りました。 あるスクリプトをステップ実行はできるのですが、 post先に実行ポイントが変遷してくれません。 どうすればいいでしょうか?
>>615 リライトが働いてないんじゃないの?
XDEBUGは?
>>615 単にデバッガの中で、URL指定してスクリプト実行させただけとか?
変遷の意味がよく分からんが、画面遷移のこと?
リモートデバッグを行えば、画面遷移して、遷移先でブレークしてくれるよ
リモートデバッグについては
>>258 読んで
619 :
nobodyさん :2010/02/03(水) 16:29:12 ID:f0FSXt8R
どの命令がどれぐらいの時間をかけたか計りたいんだけど、どういう方法があります? 1:測定スタート 2:命令A 3:測定エンド みたいに1行ずつ上下に測定のコードを書けばいいんですが、 現実的じゃないので、 なんか命令を実行するたびフックできるようなものがあればいいんだけど・・・
621 :
nobodyさん :2010/02/03(水) 16:50:23 ID:f0FSXt8R
622 :
nobodyさん :2010/02/03(水) 17:54:38 ID:Rvv12jot
hosts みてみ ディフェンダーがlocalhostの項目消してるかもよ
624 :
nobodyさん :2010/02/04(木) 11:38:43 ID:JFNwJ/uL
【OS名】fedora12
【PHPのバージョン】php5.3.1
【質問内容】
php5.3.1でphp-eaccelerator-0.9.6-0.2.svn358.fc12.i686は対応してるんでしょうか?
php5.3系はeaccelerator0.96rc1以降対応とのことですが、上はrc1以降のものなのでしょうか?
ab -n 100 -c 5
http://localhost/phpinfo.php [phpinfo.php]
<?php phpinfo(); ?>
eaccelerator導入するとRequestsPerSecondが2〜3倍になったのですが
同時接続数を増やすと最後まで行かなくなります
topコマンドで見てみるとhttpdだらけになってCPU使用率がほぼ100%になってしまっていました
wget
http://localhost/phpinfo.phpでphpの詳細が出ていたのでURLは問題なさそうです ちなみにeacceleratorはyum -y install php-eacceleratorでインストールしました
625 :
nobodyさん :2010/02/04(木) 17:42:56 ID:afxeUOIn
phpって変数や配列の初期値ってNULLで保障されてるのでしょうか? それともCみたくどんな値が入ってるか分からないっていう仕様でしょうか?
nullだよ
627 :
nobodyさん :2010/02/04(木) 18:20:35 ID:uHwPquPN
session_set_cookie_paramsでcookieの有効期限を設定しているのですが、php.iniのsession.cookie_lifetimeの値と優先されるのはどちらなのでしょうか? ユーザによってcookieの有効期限を分けたい場合もしphp.iniが優先されるようですとini_setでユーザごとに秒数を変える感じになるんでしょうか?
こんばんは、くだらない質問で申し訳ないのですが、何でググレば良いかも分からないので質問させてください。 $hogehoge_day="2009-12-24"; ↑これを 2009年12月24日 と表示させるにはどうすればよいでしょうか?
>>628 setlocaleとstrftimeとmktime
strtotimeとdate
632 :
nobodyさん :2010/02/05(金) 11:07:24 ID:uO/7NXg2
【OS名】Windows XP 【PHPのバージョン】php5.2.6 【質問内容】 $Link = "../master00/master00.php?para1=1¶2=¶3="; $tmp = sprintf("fncClick(\"%s\")",$Link); printf('<input type="button" style="width:80px" value="戻 る" onclick =%s>',$tmp); printf('<input type="submit" style="width:80px" value="新規登録" name="button" />'); printf('<input type="reset" style="width:80px" value="リセット" />'); <script type="text/javascript"> <!-- function fncClick(arg) { document.master01_main.action = arg; document.master01_main.method = "POST"; document.master01_main.submit(); } //--> </script> 抜粋したのものですが、FireFoxだと"新規登録"のボタンが表示されますが、 IEだと表示されなくなってしまいます。"戻る"ボタンの後ろにinput type = hiddenなどの 別のものを配置すると"新規登録"のボタンが表示されます。 なにか原因がわかりますでしょうか?
onclick属性の値もシングルクオートかダブルクオートで囲ってあげましょう
test
やっとかきこめたあああああああああああ 糞運営が・・・ 1ヶ月で3度も規制しやがって さぁ暇だし何でも聞いてくれたまえ
いや、もう済んだからいいです。
637 :
nobodyさん :2010/02/05(金) 12:59:23 ID:uO/7NXg2
>>633 返信ありがとうございます。
ダブルもしくはシングルで囲んだ場合は反応しなくなります。
ブラウザで違いを確認したところ、Firefox、opera、safariは
正常に出ていますが、IEだけダメみたいです。
>>637 phpが出力しているhtmlの問題だから板違いだが
HTMLのソース(ブラウザでソース表示)はどうなってる?
639 :
nobodyさん :2010/02/05(金) 13:20:26 ID:uO/7NXg2
>>638 </tr>
<th colspan="4" class="Submit">
<input type="button" style="width:80px" value="戻 る" onclick=fncClick("../master00/master00.php?para1=1¶2=¶3=")>
<input type="submit" style="width:80px" value="新規登録" name="button" />
<input type="reset" style="width:80px" value="リセット" />
</th>
</class>
</tr>
<script type="text/javascript">
<!--
function fncClick(arg)
{
document.master01_main.action = arg;
document.master01_main.method = "POST";
document.master01_main.submit();
}
//-->
</script>
IEのブラウザソースは以上のようになってます。
囲めと言ってるだろが
>>639 他の人もいってるけど、onclick=の後を囲めば平気だと思うが?
>>637 >ダブルもしくはシングルで囲んだ場合は反応しなくなります。
反応しなくなるhtmlソースはどうなってる?
$tmp = sprintf("fncClick('%s')",$Link); printf('<input type="button" style="width:80px" value="戻 る" onclick ="%s">',$tmp); 「囲め」「囲みました」「囲めっつってんだろ」が続きそうでめんどくさいから勝手に囲んだ。
マルチバイトをエンコードしろやハゲ
644 :
nobodyさん :2010/02/05(金) 13:50:56 ID:nqoHSqeH
>>639 onclick属性使うなscript分離しろ
というかclassタグなんて無い
645 :
nobodyさん :2010/02/05(金) 13:54:54 ID:uO/7NXg2
>>640 >>641 >>642 >>643 $tmp = sprintf("'fncClick(\"%s\")'",$Link);
printf('<input type="button" style="width:80px" value="戻 る" onclick=%s>',"$tmp");
fncClick()の部分をシングルで囲んだら反応が返ってきました。
すいません。お騒がせしました。
>>644 classはどうやらソースのヘッダーでcssを読み込んでいるので
その関係で使用しているようです。
646 :
nobodyさん :2010/02/05(金) 14:00:03 ID:uO/7NXg2
すいません。たしかに</class>といったような classタグはないですね。
どうせダブルで囲ってエスケープしてなかったとかいうオチだろ で、一番不思議なのはなぜこれがPHPスレで聞かれているかということなんだが
PHPの問題ではないのは確かだけど、これがPHPのスレに書かれてしまうこと自体は不思議ではないだろう。
なんで?
まあまあこの程度いいではないか
651 :
nobodyさん :2010/02/05(金) 15:12:41 ID:DA4Lr89Q
【OS名】linux?
http://atpages.jp/ 【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
たまにpostを指定したフォームからのリクエストデータがすっぽぬけ、ただのgetになってしまう事があります
オミトロンで見た所、コネクションが切れてしまっているのですが、これをPHPから制御する事は可能でしょうか?
>>651 ブラウザからサーバへデータの送信ができていないのならブラウザの問題だと思うよ
携帯じゃねーの?
無理です
Who cares
656 :
nobodyさん :2010/02/05(金) 19:04:31 ID:DA4Lr89Q
ブラウザの問題ですか… 携帯じゃなく、IEですね getの場合、トップページに飛ばしてるのですが、ちょっと苦情が出てまして。 他人のブラウザだから余計にわけが分からないといったところなんです
657 :
nobodyさん :2010/02/05(金) 21:38:15 ID:oeBfw5TE
本当にくだらない質問ですが、お願いします。 ・PHPで日本語のフォルダに入ったファイルを読み込みにはどうすればいいでしょうか? ・Documents and Settingsのように半角スペースがある場合中のファイルを読むにはどうすればいいでしょうか? PHPは5.2.6です。
webdavとsslについての質問です。
phpでロードする際のwebdavの絶対パスは
非SSLではhttp
SSLではhttps
と振り分けをしないとダメでしょうか?
以下のようなソース書いてます。
<object classid="clsid:xxxx"
codebase="{$codebase}"
width="80%" height="40%">
$codebase="
http://a/ieDAV.cab "
これをsslの場合は
$codebase="
https://a/ieDAV.cab "
としないとダメですか?
659 :
IDがでていませんでした。 :2010/02/05(金) 22:13:05 ID:+ymZdpmA
すいません。
webdavとsslについての質問です。
phpでロードする際のwebdavの絶対パスは
非SSLではhttp
SSLではhttps
と振り分けをしないとダメでしょうか?
以下のようなソース書いてます。
<object classid="clsid:xxxx"
codebase="{$codebase}"
width="80%" height="40%">
$codebase="
http://a/ieDAV.cab "
これをsslの場合は
$codebase="
https://a/ieDAV.cab "
としないとダメですか?
Cakephpのモデルって 元からDBアクセスのためのメソッドが用意されてて コントロール側でクラスを呼び出して実行すればOK? モデルクラスは定義で使うのがメインって感じですか?
フローチャート作ろうと思います
現在 $pat = '(https?:\/\/[-_.!~*\'()a-zA-Z0-9;/?:@&=+$,%#]+)'; $rep = '<a href="\1">\1</a>'; $text = ereg_replace($pat, $rep, $honbun); で$text内のリンクをハイパーリンクしてるんですが ereg_replaceをpreg_replaceにすると置換してくれませんのはなぜなんです?
666 :
nobodyさん :2010/02/06(土) 03:51:30 ID:GgnnWxHX
if(isset($_POST["submit"])){ foreach((array) $_POST["aaa"] as $bbb){ echo $bbb;//ちゃんと全部表示される $ccc = $bbb;//最後のひとつしか代入されない }} $cccに全部代入させたいんですがどうしたらいいでしょうか
>>666 $ccc .= $bbb
でいいんでないの
>>667 3連続でスレタイ読まないヤツがきた心境を一言どうぞ
670 :
nobodyさん :2010/02/06(土) 13:44:22 ID:2I3yM/uu
php5.26で $file = data.php; $tmp = file($file); 〜 (処理) 〜 file_put_contents($file, $data); とやると、元のdata.phpのデータはUTF-8で、処理するphpもUTF-8なのですが 処理後に書き出したdata.phpがs-jisになってしまいます。 (処理)の部分は$dataに入れるデータをいじっているだけで、文字コードの変換関係の処理は一切入っていません UTF-8のまま書き出すにはどうしたらよいでしょうか?
>>670 mbstringのinternal_encodingかhttp_outputあたりじゃない?
IDの出し方教えてください って質問したら怒られるだろうなwwww
ペキンダックわろたwwwwwwwww
【OS名】 レンタルサーバー 【PHPのバージョン】php5.26 セーフモード 【連携ソフトウェア】gdライブラリ 【質問内容】 フォームからアップロードされた画像ファイルを、 ajaxで指定されたx,y,width,heightの範囲で、切り貼り加工し、ダウンロードしたいと四苦八苦していたのですが、 imagecreatefromjpegでファイルをオープンできません。 ファイル パーミッション オーナー グループ dir 777 10703 10000 ├php 644 10703 10000 └jpeg 777 80 10000 というような構成で、phpファイルをphpファイルから出力し、オーナーを80にすればいいのかなと思ったのですがまだできません。 dirもphp上から出力しないとダメなのでしょうか。 このやり方自体があまりスマートでは無い気がしますし、できればもっと良い方法を、ご教授できればと思っています。 よろしくお願いします。
677 :
672 :2010/02/06(土) 20:27:48 ID:3D5nCXRt
すいません、sage外すの忘れました
679 :
nobodyさん :2010/02/06(土) 20:47:07 ID:3D5nCXRt
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: Unable to access e31f53d3362d1fb15a799794207f1c47.jpg と言ってます
dirとphpとjpegのオーナーが全て同じじゃないとダメでしょ
間違えました。dirとphpが同じならいいのか。忘れて下さい。
682 :
666 :2010/02/06(土) 22:29:36 ID:???
>668 ありがとうございます、できました!
>>676 セーフモードだとUIDチェック入ってるんじゃね
オーナー一緒にすれば開けると思うよ
セーフモードが原因ならエラーメッセージに "SAFE MODE Restriction in effect." が入るはず。鯖の設定によっては入らないのかな? fopenのセーフモード制約は、スクリプトとディレクトリのUID。 開くファイルそのもののUIDは関係ない。 だからhttpdが作成したファイルをhttpd自身が読めるようにはなってる。
685 :
670 :2010/02/07(日) 00:25:43 ID:???
>>671 >>672 ありがとうございます。mbstringやURL先の方法を設定してみたのですが、
phpの内部に書き込んでも変わらずSJISになり、さらに.htaccessは使えないのとでとん挫しました。
しかし、元の読み込むファイルにUTF-8で日本語の文字が一文字でも書き込まれていれば
読み込み→処理→書き込み処理後でも文字コードがUTF-8に保たれました。
なのでダミーデータを先頭に書き込むことで解決しました。
686 :
nobodyさん :2010/02/07(日) 00:43:12 ID:EhH57Jpr
phpでログインシステムを作っているのですが、セッションとクッキーのどちらを使うべきでしょうか? ポータルサイトなどではログインをどのように管理しているか教えていただけると助かります。
用途が全然違う物じゃないでしょうか
688 :
nobodyさん :2010/02/07(日) 00:57:53 ID:EhH57Jpr
あ、もしかして セッションはサーバー、クッキーはユーザのPCに保存するものなので、 「ログインを維持する」みたいなときにはクッキーを使ってログインさせるという認識でいいでしょうか?
いいですよ
690 :
nobodyさん :2010/02/07(日) 01:29:14 ID:EhH57Jpr
ありがとうございます。理解できました
俺は理解できなかった ORZ
サーバーとクライアント どっちに情報を保持しとくかってことじゃないの? サーバーは接続が切れたら情報が消えるけど
693 :
nobodyさん :2010/02/07(日) 02:11:46 ID:lvWMAqKs
外部ファイルに一行ずつ出力していくプログラムを書きました。 追記はファイルの末尾になってしまうのですが、先頭に追加する方法はありますか? よろしくお願いします
その質問300回は見た
配列にしてソートすれば
外部ファイルを変数に読み込む(file_get_contentsなど) →追加したい文字列のあとに↑の変数をくっつける →外部ファイルに↑でくっつけた文字列を新規書き込み
697 :
676 :2010/02/07(日) 10:46:34 ID:???
解決しました。 誠に恥ずかしい限りですが、ログファイルから読み出す時にchopしていないというオチでした。 ありがとうございました。
698 :
お願いします :2010/02/07(日) 12:00:27 ID:rDdEaSSw
file_get_htmlで取り出したファイルの内容の、 重複したリンク先のaタグを1つだけ表示させるにはどうすればいいですか? 初心者ですが宜しくお願い致します。
ちょうつまらないネコの恩返しか パンツも見えないんだぜ
701 :
nobodyさん :2010/02/07(日) 14:58:34 ID:EhH57Jpr
MySQLでdataというテーブルのtime,codeというレコードにtime=$input_time かつ その列のcodeでcode=$input_codeを満たすものがある場合はtrue、無い場合はfalseのように判定したいのです。どうしたらよいですか?
>>701 $sql = 'SELECT * FROM data WHERE time = ' . $input_time . ' AND code = ' . $input_code;
703 :
nobodyさん :2010/02/07(日) 22:09:52 ID:EhH57Jpr
>>702 ありがとうございます
mysql_query($sql)とすると常にfalseとなってしまいます。
705 :
nobodyさん :2010/02/07(日) 22:46:26 ID:qbh8YQtK
サーバが作りだすレスポンスヘッダを削除することはできないんでしょうか? header()で値を変えることはできるんですが。。。
706 :
nobodyさん :2010/02/07(日) 23:10:16 ID:YNGHwsE+
709 :
nobodyさん :2010/02/08(月) 09:34:24 ID:0nwSZc19
連番HTMLファイルをリロード毎に順番に読み込む場合 //連番の番号を打ち込んだテキスト読み込み $fp = @fopen("count.txt","r+'"); flock($fp, LOCK_EX); $count = fgets($fp, 256); $count++; rewind($fp); fputs($fp, $count); fclose($fp); //htmlファイルの読み込み $HTML = "C:/test/$count.html"; $HTML2 = file_get_html("$HTML2"); //ファイル番号を確認 echo "$HTML"; としたら、エラーが出てしまい、ソースを見ると urlの$countの数値の前に?がついています。 対処法を教えてください。宜しくお願いしますm__m
>>709 時間がないから適当レス
?がつくという症状で思い当たるのはUTF BOMだね
711 :
709 :2010/02/08(月) 11:54:25 ID:0nwSZc19
>>710 UTF-8Nで保存したら動きました!ありがとうございます!
712 :
nobodyさん :2010/02/08(月) 13:30:40 ID:2kEGmSWr
ファイルの指定した行から指定した行数だけ取り出すことはできますか? 例)1129行目から20行分取り出す。とか。 いったん配列にすべてを入れてそこから取り出すことも考えたのですが負荷が大きいためなしにしました
負荷が大きいといっても入出力部分ぐらいでしょ(ディスクからの読み取り時間) ファイルのサイズが1MBぐらいなら全然問題ないよ 10MBぐらいになるとさすがにCPUやメモリに負荷かかってレスポンスも若干遅く感じるけど ファイルの位置(何バイト目か)がわかってるならそこまでfseekして そこから取り出したい行数分fgetsすれば10MBでもCPUもメモリもI/Oも問題ない 目的の行数の開始点が何バイト目かわかればいいんだけどなんかそんな関数あったっけ? それを割り出すために配列使っちゃうようなら結局同じ結果になっちゃうんだけどね まぁサイズがわからないからなんともいえないけど1MBぐらいなら問題ないよ ログが増えるようなら定期的にローテーションしてログ切り替えればおk
配列にいれたら負荷になるほどのファイルならDB使うしかないと思うが
715 :
713 :2010/02/08(月) 15:04:43 ID:???
ちなみにテストしたデータは約10MBで約18万行あるファイル=配列数約18万
平均58byteじゃ正規化してもそうは変わらなそうだな 固定行なら fseek($fp,開始行*行のバイト); for (0から20){ $lines[]=fgets } 固定じゃないなら for (目的行まで回す) fgets } for (0から20){ $lines[]=fgets } こんなもんじゃねーの
ワロタw
あれだ、下の方の行に行くほど遅いんだな 変更されないんならインデックス作っとくか まーDBにでも突っ込んだほうが
そりゃDB使えるならDB使った方がいいわ さもなければ固定長にして正規化かけろと
なんか昔の掲示板CGIとか思い出す。 書く時は末尾に追記して、読む時は末尾からリバース読み、みたいな。
721 :
nobodyさん :2010/02/08(月) 16:54:52 ID:oaOBKDG6
PDO::prepare 日付型を入力出きないのですが、どうすれば良いのですか? PHPは5.1.4 DBサーバーは mysql5.1 例 $pp = $db->prepare("insert into test (date)values(?)"); $pp->execute(array('2010-01-01'));
>>721 dateが関数名とかぶるからだと思う
バッククォートでかこってみ
$pp = $db->prepare("insert into test (`date`)values(?)");
723 :
nobodyさん :2010/02/08(月) 17:16:43 ID:oaOBKDG6
例として良くなかったのかもしれませんが、dateが別のものでもそうなります。
とりあえずerrorInfoでエラー確認
>>723 テストしたけどコードは問題ないね
エラー内容見てみないと何とも言えない
726 :
721 :2010/02/08(月) 17:47:39 ID:???
すいません昨日は出来なかったのですが今日はは出来ました 失礼しました 原因はよくわかりませんが…
727 :
nobodyさん :2010/02/08(月) 21:53:15 ID:v0XTz3WC
はじめまして どこで質問すればいいのかわからなかったのですが 簡易ブログ(タイトルと内容のみ更新される)ようなスクリプトってありませんでしょうか? 口たらずなので考えてるものがこれで伝わるかわかりませんが どうぞよろしくおねがいします
MTとかwordPressとか?
729 :
nobodyさん :2010/02/08(月) 22:10:56 ID:v0XTz3WC
>>728 レスありがとうございます
そういう凝ったものではなくて
ログインページでログインし
タイトル:[ブログ始めました]
内容:[てすとてすとてすとてすとてすと]
[送信] [リセット]
という感じでフォームに入力すると
<h2>ブログを始めました。</h2>
<p>てすとてすとてすとてすとてすと<br />
てすとてすとてすとてすとてすと<br />
てすとてすとてすとてすとてすと</p>
というような単純な文を新着情報みたく上に上にだんだんと追加されて行く感じのような物です
ほんとうに説明下手で申し訳ないです・・・
730 :
nobodyさん :2010/02/08(月) 22:14:38 ID:v0XTz3WC
twitterでいい気もする
733 :
nobodyさん :2010/02/08(月) 23:42:00 ID:v0XTz3WC
>>731 こんな有名どころを見逃がしていたとは・・・・
まさに理想通りのものでした
本当にありがとうございます!
>>732 ガジェットじゃいまいち雰囲気が合わずで・・・
734 :
nobodyさん :2010/02/09(火) 00:02:25 ID:HTi7WI02
掲示板の書き込みログの管理はMySQL、.datファイルのどちらがいいのでしょうか?
規模にもよるけど掲示板程度にMySQLを使うのはどうだろうね SQLiteならファイル単位で扱えるし標準で使えるからちょうど良いよ
別にMySQLでいいじゃん
掲示板程度を作るのにテキストファイルを使うのは面倒だと思うようになるよ。
ほしい機能にもよるけど検索とかするならDBのが管理は楽だろうね
text使って断片化するのが嫌なので、 板、スレッド情報をDBに、レスをファイルにつっこんでる俺がいる
Windows鯖でPHPとは珍しいことしてますね
phpからシェルスクリプトを実行してエラーがあった場合、シェルスクリプトのリターンコード を受け取りたいのですが 通常、シェルスクリプトの場合以下のリターンコードの筈なのに 真:0 偽:1 失敗しても0が返ってきてしまいます。 スクリプトは以下のような感じです。 <?php exec("/usr/sbin/useradd -s /sbin/nologin hoge 2>&1",$rCode); echo `echo $?`; ?> ちなみにコマンドラインから実行した場合は以下の様になります。 [root@usavich scripts]# useradd -s /sbin/nologin hoge 2>&1 useradd: ユーザ hoge は存在します [root@usavich scripts]# echo $? 9 よろしくお願いいたします。
742 :
741 :2010/02/09(火) 03:02:07 ID:7vs+hwlZ
741です IDだします
string exec ( string $command [, array &$output [, int &$return_var ]] ) って書いてあるけど
744 :
741 :2010/02/09(火) 03:35:44 ID:7vs+hwlZ
なるほど。ちょっと例えが悪かったですか 例えば <?php exec("/etc/init.d/httpd restart",$rCode); var_dump($rCode); ?> array(2) { [0]=> string(28) "httpd を停止中: [成功]" [1]=> string(28) "httpd を起動中: [成功]" } とすれば、もちろん実行結果が配列として返ってくるのですが、正常に処理されたか 自分で判定作らなきゃいけないので、面倒くさいなぁと思いまして シェルのリターンコードで何とかしたいのです [root@usavich scripts]# /etc/init.d/httpd restart httpd を停止中: [失敗] httpd を起動中: grep: /etc/httpd/conf/httpd.conf: No such file or directory httpd: Could not open configuration file /etc/httpd/conf/httpd.conf: No such file or directory [失敗] [root@usavich scripts]# echo $? 1
> int &$return_var
>>741 こういうときは一発で
exec("/etc/init.d/httpd restart > /dev/null 2>&1 ; echo $?",$rCode);
var_dump($rCode);
747 :
nobodyさん :2010/02/09(火) 10:48:00 ID:CZAEoLHq
copy(元ファイル, 移動先); この移動先を複数箇所指定するにはどうしたらいいでしょうか? よろしくおながいします
>>747 copy(元ファイル, 移動先);
copy(元ファイル, 移動先2);
しか無いし、駄目な理由もないと思うけど・・。
749 :
nobodyさん :2010/02/09(火) 10:58:43 ID:CZAEoLHq
自分で関数つくればいいじゃなーい myCopy(String source, String[] dest)
>>750 結局中身は一緒でしょ。
書き方はスッキリするかもしれないけど。
foreachでarray回すだけ(´・ω・`)
自分で関数書くとかどこのハッカーだよ 組込みでない機能なんか使えねーよ ってことでしょ
自分で関数書くにしてもその内容が
>>748 なんでしょw
757 :
nobodyさん :2010/02/09(火) 14:47:19 ID:qqG+/ley
array_intersect_keyと同じような動作を再帰的に行うにはどうしたらよいでしょうか。 多次元配列のなかから、指定した構造部分だけ抜き出したいのです。 よろしくおねがいします
複数コピーをアトミックにやろうと思うと・・・
760 :
nobodyさん :2010/02/09(火) 15:11:18 ID:qqG+/ley
>>754 数行ですむ処理を関数で書いてどんなメリットがあるかっていう話でしょ。
もちろんもうちょっと複雑な処理も絡めて関数にするなら意味があるかもだけど。
そもそも
>>747 の質問の答としては「無い」で良いわけで蛇足。
だめだよ
763 :
nobodyさん :2010/02/10(水) 00:28:55 ID:FNWat3EE
セッションってsession.save_pathを設定していないと使えないと認識してるんですが 間違ってますか? ローカルでもxreaで借りてるサーバでもsession.save_pathがno valueなのに 普通にセッション使えてるんですが、なぜでしょう?
OSの一時ディレクトリにでもなるんじゃない?
765 :
nobodyさん :2010/02/10(水) 10:42:03 ID:J/EM4cEc
PHP 5.2.6-3ubuntu4.5 です。 Cannot use output buffering in output buffering display handlers ってエラーがでるんですが、これはどうやったら直せるんでしょうか?
ereg()って非推奨になったんだね・・・ preg_match()を使えって事なんだろうか・・・?
769 :
763 :2010/02/10(水) 11:45:28 ID:FNWat3EE
771 :
nobodyさん :2010/02/10(水) 12:08:58 ID:fc0U4ClX
【OS名】CentOS 5.4 【PHPのバージョン】php5.1.6 【連携ソフトウェア】無し 【質問内容】 渡される変数にはファイル名が入っておりますが、フルパスで格納されてます。 /var/www/html/example.dat ファイル名だけをとりだしたいのですがexplodeで切ると階層が異なる場合はうまく取り出せません。 ファイル名だけを取り出すような方法があれば教えていただけないでしょうか?
772 :
763 :2010/02/10(水) 12:18:33 ID:FNWat3EE
>>770 session.save_pathがno valueだと/tmpに保存される
ということで良いんでしょうか?
理解が遅くてすみません
>>772 session.save_pathが空の場合の挙動はsession.save_handler次第。
session.save_handlerがfilesモジュールだと仮定する。
filesモジュールは、session.save_pathが空の場合にはphp_get_temporary_directoryというPHP内のAPIによってディレクトリを決定する。
php_get_temporary_directoryは、OSのAPIを呼んだり環境変数を読んだりしてデフォルトの一時ディレクトリを決定する。
Unixならほぼ/tmp。
>>772 リンク先に書いてある session_save_path() も確認したんだよね?
776 :
763 :2010/02/10(水) 12:49:22 ID:FNWat3EE
>>774 ありがとうございます
大体理解できました
>>775 確認しましたが、no valueなので何も表示されません。
>>772 この質問は過去スレで一度見たけど
過去スレは見ましたかね?
778 :
763 :2010/02/10(水) 12:59:30 ID:FNWat3EE
>>777 Googleでは検索しましたが、過去スレは特に見てないですね。
774さんのような明確な回答が見つけらなかったんで質問しました。
>>778 過去スレでまったく同じ質問してた人は回答者に逆切れまくってたけどなw
780 :
nobodyさん :2010/02/10(水) 16:17:18 ID:SkjYm3w1
フォームから送られたデータにHTMLタグが含まれているのですが それをValidなXHTMLに変換したいと思っています PHPモジュールやライブラリ、あるいは他に何か方法があれば教えてください
782 :
nobodyさん :2010/02/10(水) 16:53:14 ID:gNzUI44E
指定したフォルダ内のexeを実行させる方法を教えてください
783 :
nobodyさん :2010/02/10(水) 16:57:16 ID:gNzUI44E
あ、ひょっとしてexecでいいのかな お前等糞の役にもたたねーな
>>782-783 サーバサイドならexecやsystemでいいが
何も考えずに使うとセキュリティ面で深刻な問題があるから注意
が態度がむかつくから教えない。
ワロタw
786 :
nobodyさん :2010/02/10(水) 17:49:58 ID:SkjYm3w1
787 :
nobodyさん :2010/02/10(水) 18:07:08 ID:Xa4vEadU
サーバーサイドでアスキーアートを画像化したいのですが、 imagettftextとモナーフォントを使ったところ、ガタガタになってしまいました。 また、線の太さも実際にブラウザで見るよりも太くなってしまいます。 なにが原因なのでしょうか? よろしくお願いします。
789 :
nobodyさん :2010/02/10(水) 23:25:49 ID:gX/LcLaO
質問です $a[0] = "あいうえお"; $a[1] = "あいうえおかきくけこ"; $b[0] = 12345; $b[1] = 67890; $text = "あいうえおあいうえおかきくけこ"; とある時に、str_replace($a,$b,$text); にすると、出力が 1234512345かきくけこ になってしまいます。 どうしてそうなるかは理解できたのですが、解決方法がわかりません よろしくお願いします。
$a[1] = "あいうえお"; $a[0] = "あいうえおかきくけこ"; $b[1] = 12345; $b[0] = 67890;
$a= array_reverse($a); $b= array_reverse($b); これをかませろw
792 :
nobodyさん :2010/02/10(水) 23:57:13 ID:gX/LcLaO
>>791 やってみましたがダメでした。
順番関係なく、「あいうえお」が一致した時点で置換してしまっているようです。
$a[0] = "あいうえおかきくけこ"; $a[1] = "あいうえお"; $b[0] = 67890; $b[1] = 12345; でいいじゃん
794 :
792 :2010/02/11(木) 00:38:31 ID:qOD6LI8k
あぁ、勘違いしてました ありがとうございました
795 :
nobodyさん :2010/02/11(木) 06:33:53 ID:Mcgu4g2h
ZページからAページにアクセス後、 AページのheaderのLocationでBのページに飛んだとき、 Bで受けるリファラがZページになる気がするのですが、 このリファラをAページのものにできないでしょうか。
アフィリエイト会社をだますんですねわかります
Aページなんてなかった
798 :
nobodyさん :2010/02/11(木) 12:41:08 ID:SS8lyG7S
xampp php 5.2.5 Text_Captchaを使ってるんですが、Index.phpの頭にブレークポイントを置いて観察してると、画像を表示した後、 また同じファイルにリクエストが来るんですが、原因は何が考えられるんでしょうか? header( 'Content-type: image/png' ); echo self::$captcha->getCAPTCHAAsPNG(); exit; と、最後にはexitを実行してるので、同じスクリプト内から呼び出されてるわけでもないんですが・・・
799 :
nobodyさん :2010/02/11(木) 12:47:42 ID:SS8lyG7S
追記 IEではそんな現象はありませんでした。 Firefoxだけの現象っぽいです。
800 :
nobodyさん :2010/02/11(木) 12:54:12 ID:Q23J+jON
PHPでこれを作って公開して広告で収入を得るってサイトを作りたいです 掲示板とかってもう枯れてるから需要ないと思うんですけど何作ればいいかアドバイスお願いします
>>800 PHP 検索
で上位表示されるスクリプト配布サイトがいくつかある。
そこのシェアウェアで人気のあるツールと、同等以上の物を安く作る。
大抵仕様は公開されてるから真似するのも簡単だろ?
そして、その後アフィリエイトツール作って、成果報酬で売る。
そうすれば金稼げるよ。
なんでもいいじゃん アフィリエイトでアクセス稼ぎたいなら ジャンルを問わずとにかく数を作るべき KENT WEBやレッツPHPとか掲示板設置しようと考えたやつで 名前を知らないやつはいない とはいえ今じゃレンタルブログやSNSが主流だから時代の流れとは逆行してるけど
今から広告収入モデルって遅れすぎだろ
ニートによるビジネス講座はここですか?
805 :
nobodyさん :2010/02/11(木) 18:15:57 ID:lCIcQ7bp
今日からPHPの勉強始めたんですけど、いきなり壁にぶちあたりました <?php echo $video->intid; ?> この中の "->" ってところの意味が解かりません 検索してもどうしてもうまくヒットしないんで、キーワードだけでも教えてください
アロー演算子
807 :
nobodyさん :2010/02/11(木) 18:20:52 ID:lCIcQ7bp
うほっ 即レスどうもありがとうございます これでなんとかやっていけそうです
アホーにはわからん
>>807 答えれないのに?なんとかやっていけそうなの?
>>805 C#でいうところのthis.a
みたいなもん
>>807 答えれないのに?なんとかやっていけそうなの?
classで使う物だと覚えておけばおk
815 :
nobodyさん :2010/02/11(木) 21:26:37 ID:Fhh8ayIh
【OS名】 linux 【PHPのバージョン】 php5 【連携ソフトウェア】 無し 【質問内容】 写真撮影が趣味でして、自分のホームページで撮影した写真を公開しています。 その際写真1枚ごとに1つのページで (a) 写真のタイトル (b) 写真の説明文 (c) 【撮影した写真】 (d) EXIFデータ のように表示したいと思っています。 写真の表示ページをPHPを使って動的に作ろうと思うのですが、その動的ページに(a), (b), (c), (d)の データを渡すにはどうしたらいいでしょうか?CVSファイルにデータ一式を格納し、URLに写真のファイル名 を含めて渡した後、そのCVSファイルを読み込みに行ってその写真に対応する「タイトル」「説明文」を 取得させる、という方法がもっともスマートでしょうか? 他にもっといい方法がありましたらアドバイスをください。
>>815 sineyo
php5nodonoba-jondayoksg
php5.0php5.1php5.2php5.3toiroiroarudaroksg
>>815 atosonoyoutonaraphptukawanakuteok
javascriptnoraiburariwotukattahougaiizo
>>815 一番スマートなのは基礎から勉強すること
>>815 もっともスマートかどうかは自分の使いたい方法と量にもよるかと。
DBでもいいと思うけど。
大量にあるならCSVでいいんじゃないかな。
アップロードして後から入力するなら、似たようなWEBアプリはいっぱい転がってるから改造もアリかと。
EXIFは画像から取得するライブラリはあると思う。
よく分からないなら作ってから工夫するのが一番の近道。
問題点や改良点もやってみないと分からないでしょう。
>>815 ちょっとその写真をどこかにうpしてくれない?
出来ればほんの少しだけぽっちゃり系のを頼む
821 :
nobodyさん :2010/02/11(木) 22:38:58 ID:Fhh8ayIh
>>819 実は事前にテストも兼ねて簡単なプログラムを作ってみたことがあります。
そのときはリンクに「タイトル」「説明文」「写真のファイル名」を格納して
表示専用PHPページに送るという力業をやってました(違うページにそれら
の変数を送るためセッションも使っています)。
ただおかげでリンクのURLは、表示専用PHPファイル、セッションID、タイトル、説明文、ファイル名、と
大変長ったらしいものになってしまいとてもスマートと呼べるようなプログラムではありませんでした。
ここはやはりCVSを使った方が遙かにスマートになりそうですね。
ありがとうございます。
CVSが必要になるほどその写真は複数人で更新するのか?
823 :
nobodyさん :2010/02/11(木) 23:18:39 ID:G22xqtqm
portについての質問です。 自宅サーバーをもち、友人間で公開し使っています。 PHPをインストールすると、PHPが80portを使っている?のか、Apacheで80portを使えなくなります。 PHPが他のportを使用するように変更したいのですが、どうすればいいでしょうか?
>>823 うーん・・
apacheで80番が使えなくなるというのはどう判断した?
普通にインストールするとphpはapacheのモジュールとして動作するから
apacheの中にphpが組み込まれるようなイメージ
だからphpをインストールしてapacheが使えなくなることは無い
netstatで80番ポートを誰がLISTENしているか見てみなよ
825 :
nobodyさん :2010/02/11(木) 23:30:13 ID:Fhh8ayIh
>>822 いえ管理するのは私一人です。
ただ写真の量が多いので(1つのテーマあたり20〜30枚)リンクのURLに逐次それらの情報を埋め込むより
CVSで一元管理した方が楽かなと思いまして。
もっといい方法があれば知りたいですが。
PHPをインストールしたと言いつつXAMPPをインストールして 80/tcp でweb鯖が複数待ち構えてるとか。
827 :
nobodyさん :2010/02/11(木) 23:33:11 ID:G22xqtqm
>>824 レスありがとうございます
>>apacheで80番が使えなくなるというのはどう判断した?
80だとApacheが起動せず、適当に変えたら起動したからです。
また、この現象がPHPをインストールしてから起こるためです。
netstat試してきます。
828 :
nobodyさん :2010/02/11(木) 23:40:39 ID:G22xqtqm
さーせん・・・ そのときに一緒にインストールしていたskypeが犯人でした
急に馴れ馴れしい言葉遣いになったな
>>825 楽だろうね。
CSVなら、テキストエディタで書き換え可能だったり、エクセルで綺麗に一覧見れたり編集できたり。
写真に通し番号付けて、URLではその通し番号だけパラメータにすりゃすっきり。
で、いい加減にCVSじゃなくてCSVだと覚えようね。
まあ、いちおう何を指してるつもりなのかは判るけどね。
カンマでセパレートするバリューだからSCV
釣ってんだか釣られてんだか 釣られてんだか釣ってんだか
でも、DB使うよりCSVで事足りることって多いよね。 ブログ程度の記事情報なら、CSVの方がいい気がする
CSVは正規化かけようとしたりすると途端に面倒になるからなー
確かにw けど、俺はCSVをDB風にカスタマイズして使ってる。 さすがにSQL文に対応させるのは骨が折れるので断念したけど。
えー、CSVなんてかったるくてやってられんと思うのだけど。
数がそんなになきゃファイルに配列でデータ入れといた方が簡単
ここでXML厨の登場
移植性とかリソースとか考えなきゃ、慣れたら絶対DBのほうが楽だと思う。 フレームワークとか使えばSQLも書かなくて済むし。
XMLは遺物 これからはJSONだぜ
843 :
nobodyさん :2010/02/12(金) 01:50:48 ID:ivOMV7p7
サーバーの応答(HTTPステータスコード)によって処理を変えたいのですがどういう関数を使うか教えてください。 具体的には200 OKが返ってきたらA();を206 Partial Contentが返ってきたらB();を呼び出すという処理をしたいです。
ErrorDocumentでぐぐれ
845 :
843 :2010/02/12(金) 02:03:21 ID:ivOMV7p7
エラードキュメントを変更したいわけではありません。 あるサーバにアクセスしてそのレスポンスによって処理を変えるといった感じです。 こういった感じです。 255.255.255.0から255.255.255.255まで(255.255.255.0/24)のIPアドレスを調査して、 206が返ってきたらbreakしてそこのIPアドレスを返す。 といったことをしたいです。 説明が下手で申し訳ありませんが宜しくお願いします。
PEAR::HTTP_Requestでも使えばいいんでないの?
847 :
846 :2010/02/12(金) 02:12:52 ID:ivOMV7p7
一応get_headers関数なるものを見つけて試してみたところ、
Firefox+LiveHTTPHeadersでは206が返ってきたところが200になっていました。
しかし他のheader情報を見るとうまく判定できそうなので、
今回はこの関数を使いたいと思います。
>>846 どうもありがとうございます。
PEARは導入していないので、後でこちらも調べてみたいと思います。
848 :
nobodyさん :2010/02/12(金) 03:47:48 ID:QttJtS9A
書いたPHPのスクリプトを試すときってどうしてる? わざわざテストのためにApacheインストールしてこれを稼働させるのは 面倒くさいだけでなくセキュリティ的にも不安。 できればPHPの仮想サーバーがあればいいんだけどね。 仮想サーバー上で書いたPHPスクリプトを実行して表示させると。 言ってみればエミュレーターみたいなものね。
セキュリティ的にも不安って わざわざポート開けてやるつもりか? 本番環境整えてやるのが普通だろ
>>848 vmwareとか仮想環境でいいじゃん
xammpでもvertrigoでもいいと思うけどね。
851 :
nobodyさん :2010/02/12(金) 04:00:50 ID:QVY7Rqlh
※タブを全角で表現してます PHPで以下のコードを書くと function tekitou(){ var count = 0; <?php for ($i=0;$i<10;$i++){ echo " hoge\n"; } ?> } こう展開されます function tekitou(){ var count = 0; hoge hoge hoge hoge hoge hoge hoge hoge hoge hoge } なんで一番上だけタブが2個になるんですかね?
852 :
nobodyさん :2010/02/12(金) 04:02:31 ID:QVY7Rqlh
訂正 ×全角 ○全角スペース
3行目のタブが入ってるからじゃ?
ソープとジョンソンではどちらが早いのでしょうか?
855 :
nobodyさん :2010/02/12(金) 04:15:45 ID:QVY7Rqlh
>>853 おお、そのとおりですね ありがとうございます
なんで気づかなかったんだろう・・・
さらにくだらない質問になるけど
<?phpのあとで
echo "\n"みたいにするか
<?phpと?>をインデントせずに行頭に書くか
どっちがいいですかね?
>>855 恐らく見やすさのためだから、自分の好きなほうでしょ。
個人的には後者
ゴガギーン
ドッカン
m ドッカン
=====) )) ☆
∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( )| |_____ ∧_∧ < おらっ!出てこい
>>855 「 ⌒ ̄ | | || (´Д` ) \___________
| /  ̄ | |/ 「 \
| | | | || || /\\
| | | | | へ//| | | |
| | | ロ|ロ |/,へ \| | | |
| ∧ | | | |/ \ / ( )
| | | |〈 | | | |
/ / / / | / | 〈| | |
/ / / / | | || | |
/ / / / =-----=-------- | |
860 :
nobodyさん :2010/02/12(金) 12:02:00 ID:OUidAsxl
php.iniで mbstring.language = neutral としたほうがいいでしょうか? mbstring.language = Japanese としたほうがいいのでしょうか?
862 :
nobodyさん :2010/02/12(金) 12:08:39 ID:+NaJbLGp
Windows Vista使ってます このパソコンにMySQL5.5(MSI形式インストーラー)、PHP5.3.1(VC6、スレッドセーフ、ZIP形式)、Apache2.2(OpenSSL対応、公式MSI形式インストーラ)の順番でインストールしました MySQLとPHPはPathが通っているのでコマンドラインからも使える状態です test.phpというファイルでデータベースに接続するだけのスクリプトを書いて ブラウザでチェックしたのですが、MySQLが反応しません PHP5.3でMySQL5.5以上は諦めたほうがいいのでしょうか? そのままインストールした場合ですと正常に動かないと思うのですが、 もし正常に使われている方がいらしゃいましたら解決方法をご教示お願いします
863 :
nobodyさん :2010/02/12(金) 12:09:27 ID:+NaJbLGp
ちなみにPHP5.2にバージョンを落とすとMySQLが使えます
865 :
nobodyさん :2010/02/12(金) 12:22:09 ID:+NaJbLGp
エラーも貼り付けるべきでした このエラーから何か分かることがございましたらご教示お願いします Warning: mysql_connect() [function.mysql-connect]: [2002] ????????яo???悪??????????????????????????????? (trying to connect via tcp://localhost:3306) in D:\www\htdocs\test.php on line 2 Warning: mysql_connect() [function.mysql-connect]: ????????яo???悪 ?????????????????????????????????A????????????????B???????????z?X?g??????????????????A?m????? ????????s????????B in D:\www\htdocs\test.php on line 2 Fatal error: Maximum execution time of 60 seconds exceeded in D:\www\htdocs\test.php on line 2 test.phpの中身↓ <?php mysql_connect("localhost", "root" , "qwas12") or die ("Connect Error!!"); echo "Connected"; ?>
読めねーよw 文字コード変えれw
868 :
nobodyさん :2010/02/12(金) 12:36:38 ID:+NaJbLGp
すいません、また一からインストールしなおすので 僕と同じやり方で検証していただける方いませんか?
869 :
nobodyさん :2010/02/12(金) 12:37:30 ID:+NaJbLGp
>>867 先生
PHPの内部文字コードはUTF-8にしてます
MySQL5.5なんてバージョンは存在しないわけだが
すいません、手順まとめるのへたくそなのでスレたくさん使ったらすいませんなので ブログ借りてそこで書きますちょっと待っててください先生
質問時のルールは守ってください
874 :
nobodyさん :2010/02/12(金) 12:43:17 ID:+NaJbLGp
すいませんIDわすれました872です
MySQLスレに2002エラーが出るって聞きにいけばおk
>>876 手順まとめてもう一回インストール書いてもダメだったらそちらでも聞いてみます
ちょっとご飯たべてきます
878 :
nobodyさん :2010/02/12(金) 14:17:29 ID:ajCsRwoE
DB(MySQL5.1.42)から取得したカラム3つをそれぞれtext1.txt text2.txt text3.txtというファイル名で zipに固めてダウンロードさせたいのですが、どういう方法と手順を踏めばよいのでしょうか?
>>878 DBから値を取得
text1.txt text2.txt text3.txtをfopen→取得した値をfwrite(もしくはfile_put_contents)
text1.txt text2.txt text3.txtをzip圧縮(ZipArchive)
headerでzipを出力
>>862 1,PHP設定ファイル(PHP.ini)の「;extension=php_mysql.dll」のコメントをはずします。
2,同じく、PHP設定ファイル(PHP.ini)のextension_dirにphp_mysql.dllの配置場所を追加します。(変更例:extension_dir = "c:\php\ext\")※「c:/php/ext/」だと上手くいかないことがあります。
3,PHPインストール先(例:c:\php)にあるlibmysql.dllをWindowsディレクトリ(例:c: \windows)にコピーします。
4,Apacheを再起動します。
システムディレクトリなんかにコピーすんなよ
だって、 php.iniのイジリ方も知らない人に、 環境変数の設定を説明すんのめんどい。
しろ
今時Windowsフォルダを汚す方法は古すぎだろ
俺は外付けのHDDにインストールしてるな>サーバ関係
外に出さないと責任取らないといけなくなるからな
XAMMPとか気持ち悪い
全角の方が気持ち悪い
889 :
862 :2010/02/12(金) 23:17:46 ID:bY1Qlu48
ID代わってますが862です
コマンドラインからMySQLもPHPも単体なら動作するんですが
PHPからMySQLを使うとどうしてもMySQLが応答しないのです
libmysql.dllのパスも通してますがphp5.2では大丈夫なんですがphp5.3ではダメみたいです
>>882 ご心配ありがとうございます
そのへんの説明は間に合ってます
とりあえずインストールをまとめました
設定ファイルをいじってないのでまだ使えませんが
続きは明日書くのでここが原因で動かないってところがあれば明日の夜行こうご指摘お願いします
ttp://hellosekaisan.blog97.fc2.com/
ちゃんと読んで無いけど、そういう時はphpinfo()で 読み込まれているphp.iniが想定しているファイルかどうか mysql関連のモジュールが読み込まれているかをいチェックしてみるといいかも 既にやってたらごめん
>>891 <div id="navigator">の内側で入れたいところに入れたらいいんじゃない
>>892 いろいろ試してはいるんですが、どうしてもエラーになります
895 :
nobodyさん :2010/02/13(土) 13:46:22 ID:q0PjUtVL
【OS名】FreeBSD 7.1-RELEASE-p10 i386 【PHPのバージョン】5.2.12 【連携ソフトウェア】mysql 【質問内容】 おススメのO/Rマッパー教えて下さい。 友人に頼まれてSAKURAレンタルサーバーでDBを動かす必要が出てきて、 PHPあまり詳しくないので質問した次第です。 当方PerlなどでよくO/Rマッパーを使用しております。
判断の基準は?
897 :
nobodyさん :2010/02/13(土) 14:01:10 ID:q0PjUtVL
>>896 895への質問ってことでよいですか?
・接続設定が簡単
・DBの文字コードがSJISなんでSJISを問題無く扱える
・他ライブラリなどへの依存が少ない
・結果オブジェクトが扱いやすい
こんな感じです。
PHP統合開発環境について質問します。 NetBeans や PHPEclipse など数種類あるようですが、 何がよいのでしょうか? (軽快さ、習得の容易さ、開発しやすさ、安定性の面など) 当方最近PHPを覚え始め、現在エディタを使っていますが、 統合開発環境は早めに馴染んだほうがよいと思い、質問する 次第です。よろしくお願いします。
ぽまえは俺様に名前欄に898と入れて自己解決しますたって書いて欲しいのかksg
>>898 俺は今、国母の件で激しく不快な気分に晒されている
おとなしく
>>1 を読み直してから来るように
∩ ♪ ∧__∧ ∧__∧|l| ♪ ∧__∧ (´・ω・`)三三) (´・ω・`)| (´・ω・と_) )) | / | / | ./ ♪ U 〈 ♪ U 〈 U 〈 ♪ (__ノ^(___) (__ノ^(___) ♪ (__ノ^(___) たまの失敗はスパイスかもね♪
902 :
898 :2010/02/13(土) 15:11:56 ID:???
あっ? はんせいしてま〜す♪
ていうかIDEの話題はスレ違いだろ この板さがしてみそんなスレあったから
904 :
898 :2010/02/13(土) 17:22:03 ID:???
ご迷惑をかけてすみませんでした。 NetBeansで最高のPHPを製作できるように頑張ります。
905 :
898 :2010/02/13(土) 17:33:16 ID:???
たびたびすいません 最高のPHPの作り方をおしえてくれませんか
PHPはCで開発されてるからCの勉強もしないとな
908 :
898 :2010/02/13(土) 17:52:55 ID:???
そうっすね はんせいしてま〜す♪
909 :
nobodyさん :2010/02/13(土) 21:58:43 ID:16IkPeoy
>>909 送信した結果、どんなレスポンスを受けたいのか分からないので、答えられない
File_02とFile_03を実行した結果をマージして返すだけなら、ob_start()でバッファリングしつつ、File_02とFile_03をinclude()してやればおk
File_02とFile_03を実行した結果を個々に取り出したいなら、クライアントサイドのJavascriptでXHRを使って、リクエストを飛ばしてやればおk
912 :
909 :2010/02/13(土) 23:06:57 ID:16IkPeoy
大変失礼しました。 当方の書き方にだいぶ不備があったようです。文言を整えて出直してまいります。
$a = file_get_contents("http;//example.com/File_02.php?day=0"); $b = file_get_contents("http;//example.com/File_03.php?day=0");
>>911 includeするなwwPHPコードが含まれてたらどうするつもりだw
915 :
nobodyさん :2010/02/14(日) 10:54:12 ID:tzGdzZbQ
【OS名】WindowsXP 【PHPのバージョン】5.2.10 【連携ソフトウェア】なし 【質問内容】 a.htmlからp.phpを <form action="p.php" method="post"> で呼び出しています。 p.phpを直接読んだ場合、a.htmlへ飛ばしたいのですが、 p.php内で、$_SERVER['HTTP_REFERER']で判別しています。 PCからの場合、うまくいくのですが、携帯からの場合は REFERERが設定されていないので、うまくいきません。 なにか、良い手はありますでしょうか?
携帯 REFERER でぐぐる
917 :
nobodyさん :2010/02/14(日) 10:58:33 ID:tzGdzZbQ
918 :
nobodyさん :2010/02/14(日) 11:04:31 ID:tzGdzZbQ
ググッテみましたが、docomoはREFERERを送出しない って書いてあるだけです。それは、知ってます。
最近のdocomoはリフェラ出すだろ
$_SERVER['REQUEST_METHOD'] を見ればいいような。
921 :
nobodyさん :2010/02/14(日) 11:32:39 ID:tzGdzZbQ
>>920 あっけなく出来ました。
ありがとうございました。
922 :
862 :2010/02/14(日) 12:45:56 ID:J4myOPGw
エラーとかをブログにまとめました 規制中のためここにレスはできないかもしれませんが お返事はブログで書こうと思います。 もしよろしければブログにコメントいただけると助かります どなたかお助けください><
923 :
nobodyさん :2010/02/14(日) 14:13:07 ID:RJDNM59A
フォームで受けた値を使って、fopen(),fputs(),fclose()でhtmlに書き出すプログラムを書いてみたんですが、 書き出すhtmlファイルのパーミッションを606に設定しております。 でもこれってやはり危険なのでしょうか・・・? これまでフリーのcgiをいじってたくらいで、自分で書いたのが初めてなので、 パーミッションの正しい設定というものがいまいち判断がつかず。 作ったプログラムの概要 test.php内のフォームで "お知らせ:今日はいい天気"を入力して送信すると、test.htmlに"お知らせ:今日はいい天気"と書き出される。 test.phpは管理者が入力(実装時にはパスワード設定します)、test.htmlはたくさんの人が見る。
パーミッションについて学べばいいじゃない
とりあえず書き込みファイルは606か666でよい
余計な権限は与えないべきだが与えるべき権限は与えなくてはならない
まぁようするに
>>924
レスに感謝です。とりあえず、よしとして良さそうですね。 linuxもまだ3ヶ月、PHPにいたっては2日と日も浅く、もっと勉強しなければですね。 がんがります。
927 :
nobodyさん :2010/02/14(日) 15:58:35 ID:rkEBs7TM
lastRSSというRSSパーサを使用しています。 元々の機能として、取得結果をキャッシュするのですが自動キャッシュ削除機能がないために 毎日手動で削除しています。 数が増えてきて面倒になってきたので、phpで自動キャッシュ削除機能付けたいのですが どなたか良い方法がありましたらご教示ください。
lastRSSなんてしらないしどういう仕組みになってるのかもしらないけど 今やってること(毎日手動で削除)を自動でできるようにすればいいんでしょ? そんならキャッシュフォルダかなんかあるんだろうから その中身を毎日削除するシェルスクリプト書いてcronでまわせばいいんじゃね phpでやる必要はなっしんぐ
929 :
928 :2010/02/14(日) 16:07:33 ID:???
ちょっと文章がおかしかった その中身を毎日削除するシェルスクリプト書いてcronでまわせばいいんじゃね ↓ その中身を削除するチェルスクリプト書いて毎日cronでまわせばいいんじゃね
930 :
nobodyさん :2010/02/14(日) 16:08:49 ID:rkEBs7TM
>>928 ありがとうございます。
レンタル共有サーバを利用しているので、cronを動かせない環境なので
なんとかphpでおこないたいと考えたのです。
調べた感じだとunlinkとかでできそうなのですが、あまり詳しくないために
自作でスクリプトを書くことは難しいそうなので、ヒントなどがあればと
思い、書き込みさせていただきました。
チェルwwwwwwwww スレ汚しほんとスマン ちょっと逝ってくる
932 :
nobodyさん :2010/02/14(日) 16:10:19 ID:rkEBs7TM
ちなみに、キャッシュフォルダは特定の場所にあります。 タイムスタンプを見て、「24時間以上経過したら削除」のような処理はphpではそもそも不可能なものでしょうか。
933 :
nobodyさん :2010/02/14(日) 16:11:05 ID:rkEBs7TM
回答いただいておきながらごめんなさい・・・ 不覚にもチェルでコーヒー吹きましたw
>タイムスタンプを見て、「24時間以上経過したら削除」のような処理はphpではそもそも不可能なものでしょうか。 もちろん可能だけどそのスクリプトにアクセスして実行しないと当然消されない つまり24時間経過してもスクリプトにアクセスがないと消されない なので削除用のスクリプトを新規に組むというよりは lastRSS側のスクリプトにそういう機能を組み込んでlastRSSにアクセスした時点で24時間以上経過してるものを削除 という風にしたほうがいい けど人のスクリプト改造するのもめんどくさいので(処理自体は簡単だけどどこのロジックに組み込めるか調査するのが面倒・・・) やっぱ新規に削除用のスクリプトを組んでwebcronで毎日同じ時間にアクセスしてもらえばいいんじゃないかな
936 :
nobodyさん :2010/02/14(日) 16:20:51 ID:rkEBs7TM
>>934 ありがとうございます。
参考にさせていただきます。
$updatetime = filemtime($file); if ($updatetime < (time() - (60*60*24))) { unlink($file); }
938 :
nobodyさん :2010/02/14(日) 16:24:13 ID:rkEBs7TM
>>935 ありがとうございます。
難易度はともかく実現自体はできるのですね。
実行のトリガーはLastRSSへのアクセスよりも深夜帯などの定時で決め打ちのほうがよさそうですね。
934さんの情報などを含め、もう一度調査&勉強してみます。
939 :
927 :2010/02/14(日) 16:28:41 ID:???
連投になってしまうので、sageておきます。
>>937 ありがとうございます。
フリーのwebcronを探して利用させていただきます。
連投の2回目でsageて何か意味あるのか?w
webcronっていつのまにか有料になってたんだな 知らなかったわ
Google Readerとか はてなRSSで疑似cron作れば
<remarks> <remark> <item>値</item> </remark> <remark> <item>値</item> </remark> </remarks> こんな感じのXMLファイルを開いて値を読み出すにはどうしたらいいですかね^^
944 :
nobodyさん :2010/02/14(日) 18:38:09 ID:nDKxL4PZ
【OS名】WindowsXP 【PHPのバージョン】5.2.10 【連携ソフトウェア】なし 【質問内容】 <remarks> <remark> <item>値</item> </remark> <remark> <item>値</item> </remark> </remarks> こんな感じのXMLファイルを開いて値を読み出すにはどうしたらいいですか^^
945 :
nobodyさん :2010/02/14(日) 18:50:46 ID:HceFAq0z
sqlite_escape_stringでエスケープしても : や ( ) などの記号がそのまま残ってしまいsqlite_execする際に例外がスローされるのですが 適切にエスケープするにはどういった方法がありますか
946 :
nobodyさん :2010/02/14(日) 18:57:45 ID:HceFAq0z
単なるミスでした、INSERTする値にシングルクォートが付いていませんでした・・・
>>944 $contents = file_get_contents($file_name);
$xml = simplexml_load_string($contents);
値1 = $xml->remarks->remark[0]->item;
値2 = $xml->remarks->remark[1]->item;
preg_replaceでマッチした$1の後に数字を起きたいのですがどうすればよいでしょうか? $1の後に数値をおいただけでは機能しませんでした。 preg_replace('/./', '$10', 'a'); // a0とはならない
951 :
nobodyさん :2010/02/15(月) 09:22:58 ID:hi3MtdSO
またまた、教えてください。
【OS名】WindowsXP
【PHPのバージョン】5.2.10
【連携ソフトウェア】なし
【質問内容】
a.htmlからp.phpを
<form action="p.php" method="post">
で呼び出しています。
サイト名名を
http://example.com/とします 。
a.htmlをローカルに保存し、
<form action="p.php" method="post">
を
<form action="
http://example.com/p.php " method="post">
と書き換えて、a.htmlを開くと、
p.phpが実行されて、結果が表示されます。
この様な外部サイトからp.phpを使う事を、
抑止したいのですが、よい方法はありますでしょうか?
リファラ
954 :
nobodyさん :2010/02/15(月) 09:31:23 ID:dO9qGZvq
各メニュークリックしたときにそのページ全体が別ページに飛ぶのではなく ページの内容部分だけ外部ファイルを読み込んで更新するはどうしたら良いですか?
956 :
nobodyさん :2010/02/15(月) 09:39:11 ID:hi3MtdSO
>>952 セッションについて、勉強してみます。
>>953 携帯からのアクセスも想定しているので、
リファラは使えません。
957 :
951 :2010/02/15(月) 09:47:52 ID:hi3MtdSO
いまいち分からないのですが、
a.html→p.phpのように読み込んでいるのですが、
a.htmlの中でsession_start();はできませんよね。
p.phpで、session_start();をして、
http://example.com/a.index.htmlから 飛んできているのか否かって判別できるのでしょうか?
>>957 htmlからか
リファもダメなら無理じゃね?
何を飛ばすかしらんけどp.phpでバリデーションをしっかりするしかないかな多分
959 :
951 :2010/02/15(月) 10:02:01 ID:hi3MtdSO
>>958 なるほど。
一応、p.phpでは、入力の値のチェックはしているので、
変な挙動はしないのですが、なにか気持ちが悪いので、
この質問のようなことができないか悩んでいるところです。
>>957 a.htmlからimgタグかscriptタグでPHPファイルを読み込んでセッションセットすればいけると思うよ
会員制サイトの自動ログインとか普通に行われてるんだし 別に意識するようなことじゃなかろう
962 :
951 :2010/02/15(月) 10:22:41 ID:hi3MtdSO
>>960 a.html内に<img src="s.php">を記述する。
s.phpの中身は、session_start();を記述。
p.phpの中身は、
・session_start();を記述。
・
んんん???
で、p.phpでは、どのような判定をすれば良いのか???
a.htmlで設定されたsession_idと
p.phpのsession_id() を比べる?
p.phpの中で、a.htmlで設定されたsession_idを得るのは可能ですか?
私、トンチンカンな事、言ってますか?
>>962 s.php
session_start();
$_SESSION["check"] = 1;
p.php
session_start();
$checked = isset($_SESSION["check"]);
unset($_SESSION["check"]);
みたいな感じかな
964 :
nobodyさん :2010/02/15(月) 11:01:47 ID:jrDRH19y
DNSが死んでると、mb_send_mailがアホみたいに遅くなる。 どうにかならんかね。
965 :
951 :2010/02/15(月) 11:08:48 ID:hi3MtdSO
>>963 ありがとうございます。
少し、考えてみました。
セッションの変数名と値は、推測できなさそうな物を使えばいいかと。
s.phpを直接読まれても、ソースは見れないから。
で、どうしようかなぁ。。。
鯖特異な何かをMD5とかshaとかで暗号化すれば、いいのかなぁ〜
って思ってます。
966 :
951 :2010/02/15(月) 11:09:49 ID:hi3MtdSO
あ、特異な変数名は無理ですね。
>>965 csrf_token()で$csrf_tokenというランダム文字列つくってセッションにセット
飛んだページでcsrf_valid()でバリデートしてtokenを削除すれば暗号とか関係ない
ローカルに保存してまで改ざんしたい奴には無意味な対処だけどいいのかい
969 :
951 :2010/02/15(月) 11:56:47 ID:hi3MtdSO
>>967 csrfなんたら、調べてみます。
ありがとうございます!
970 :
951 :2010/02/15(月) 11:58:00 ID:hi3MtdSO
>>968 え、無意味なんですか?
意味ある対処だと思って、考えていたんですが。
971 :
nobodyさん :2010/02/15(月) 12:03:36 ID:CW5G1rtw
【OS名】CentOS 5.3 【PHPのバージョン】php5.16 【連携ソフトウェア】連携はしてません 【質問内容】 example.php exec("/usr/bin/php /var/www/html/err.php"); err.php echo "error"; こういうのを作成しました。 元々1つのphpにまとめていたのですが、エラー内容が複雑になり分離しました。 この時にexample.phpを実行してもerrorと表示されないのですが、どのようにすれば表示されるようになるのでしょうか? なにぶん経験がないものでおかしな質問になっているかもしれませんがアドバイスいただけると助かります。
972 :
951 :2010/02/15(月) 12:03:48 ID:hi3MtdSO
>>967 csrf_validで、ググると、Hit0件。
>>971 /php の後にスペースが入っている。
>>971 何がしたいのかわからんが、
require("err.php");でいいんじゃない?
どうしてもexecつかうなら
exec("/usr/bin/php /var/www/html/err.php", $result);
print_r($result);
>>971 echo exec("/usr/bin/php /var/www/html/err.php");
こんな書き方でも。
でも
>>974 さんがいうようにincludeしたほうがいい
977 :
971 :2010/02/15(月) 12:34:15 ID:CW5G1rtw
アドバイスありがとうございます。 err.phpの中が if($err_num == 1){ echo "error1"; }elseif($err_num == 2){ echo "error2"; 以下略 というような内容になっていて、$err_numによって表示をわけている状態でした。 exec叩いた時に一緒に$err_numを渡して表示すればいいと思ったのですが この場合はあくまでerr.phpでは表示しているけど、実行されているのはexample.phpなので 表示されてない状態だとアドバイスいただき気づきました。 echo exec〜が修正が少なくて良いかと思いますが、今後の事を考えてincludeを使用して対応してみたいと思います。 ありがとうございました。
>>970 ブラウザがやってる通りの手順でHTTP通信を真似されたら簡単に突破されるし、
それ以前にフォームのDOMをいじられても検出できないでしょう
改ざんを前提にして入出力の検証コードに時間を割くか、
可能ならセッションが途切れてしまう設計から見直した方が良いよ
んーー、結局、解決していないことに気づいた。
a.htmlに
<img src="s.php" width="0" height="0">
を記述。
s.php
session_start();
$_SESSION["check"] = 1;
p.php
session_start();
$checked = isset($_SESSION["check"]);
unset($_SESSION["check"]);
とする場合、
a.htmlをローカルに保存し、
<img src="
http://example.com/s.php " width="0" height="0">
と書き換え、アクセスすると、p.phpが動いてしまうことが分かりました。
拡張子.htmlでphpが動くように、変更すれば、解決かな。。。
980 :
951 :2010/02/15(月) 17:49:23 ID:hi3MtdSO
981 :
951 :2010/02/15(月) 17:54:37 ID:hi3MtdSO
>>978 > 改ざんを前提にして入出力の検証コードに時間を割くか、
> 可能ならセッションが途切れてしまう設計から見直した方が良いよ
難しくて理解できませんです。。。
982 :
951 :2010/02/15(月) 19:13:49 ID:hi3MtdSO
a.htmlの先頭に
<?php
session_start();
$_SESSION["check"] = "1";
?>
を記述。
p.phpの先頭に
session_start();
if( $_SESSION["check"] != "1" ) {
header("Location:
http://example.com ");
exit();
};
を記述すると、
PCからは、うまくいくけど、
携帯からでは、
http://example.comに飛んでいってしまい 、
うまく動作しない。。。
983 :
951 :2010/02/15(月) 19:16:28 ID:hi3MtdSO
docomoはCookieが使えないのかorz
次スレ立てる気なさそうだから立ててくる
986 :
nobodyさん :2010/02/15(月) 19:53:10 ID:hi3MtdSO
URLなりhiddenなり持ちまわす方法は何通りかあるわけでクッキーである必要はない
988 :
951 :2010/02/15(月) 19:59:24 ID:hi3MtdSO
>>987 hiddenを調べてみます。
>>all
眠いので、明日に持ち越すかもしれません。
寝てしまったら、明日もよろしくお願いします。
989 :
951 :2010/02/15(月) 20:05:50 ID:hi3MtdSO
hiddenって、単に、画面に表示しないだけじゃないですか? ソースをローカルに保存した場合、バレバレですよね?
>>989 セッションIDを持ち回す方法がcookieである必要は無いということを
>>987 氏は言いたいんだと思うよ
>>989 session.use_trans_sidとか調べていると良いかも
>>991 そういうのいらないから
バカは放置しなよ どうせいつものチンピラだろ
俺様をチンピラ呼ばわりか、日本人はksだな 俺様を馬鹿にするならPHP使うなよ。
そっすね
そろそろ質問いいですかね?
どんとこい
だが断る 1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。