5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【PHP】下らねぇ質問はここに書き込みやがれpart11

1 : ◆HhTh8Gv36s :2005/10/18(火) 05:53:51 ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/

2 :nobodyさん:2005/10/18(火) 05:54:41 ID:???
2GET

3 :nobodyさん:2005/10/18(火) 05:55:11 ID:???
3GET

4 :nobodyさん:2005/10/18(火) 05:55:41 ID:???
4さま

5 :nobodyさん:2005/10/18(火) 09:01:06 ID:???
五月蝿い

6 :nobodyさん:2005/10/18(火) 09:08:57 ID:???
ろくでなしどもめ。

7 :nobodyさん:2005/10/18(火) 09:42:26 ID:???
ななしさま

8 :nobodyさん:2005/10/18(火) 09:52:55 ID:i5K/wskH
PHPってなに?

9 :nobodyさん:2005/10/18(火) 09:56:43 ID:???
魔法の合い言葉

10 :nobodyさん:2005/10/18(火) 10:04:39 ID:???
胃痛の原因

11 :nobodyさん:2005/10/18(火) 10:18:09 ID:???
phpスクリプトでコマンドプロンプトを実行するには
どうすればよいのですか?

12 :nobodyさん:2005/10/18(火) 10:28:43 ID:???
意味不

13 :nobodyさん:2005/10/18(火) 11:10:25 ID:???
>>11
system(), exec()
レンタルサーバ等,セーフモードで運用されている場合は使えない場合がある.

14 :nobodyさん:2005/10/18(火) 11:14:26 ID:???
>>11

ttp://www.zend.co.jp/products/studio/ZendInformationCenter/php_manual/php_function_refrence/commandline.html

15 :14:2005/10/18(火) 11:15:34 ID:???
あ、間違えた。コマンドプロンプト「で」実行したいのかと思った。

16 :11:2005/10/18(火) 11:23:10 ID:???
>>13-15
みなさんありがとうございます。
system()とchdir()を使うことでできました。

17 :nobodyさん:2005/10/18(火) 13:36:04 ID:BK6jpjuT
すいません、前スレが埋まってしまったのでもう一度質問させてください。

$fp=fopen("*.txt","w"); 
fputs($fp,"*"); 
fclose($fp); 

このようなソースで、PHPをブラウザから普通に呼び出せば問題なくファイルに書き込めるのですが、 
Ajaxを使いたくてXMLHttpRequestから呼び出しを行うとファイルへの書き込みがされません。 
これは仕様なのでしょうか。 
XML(ryからPHPを呼び出してファイルへの書き込みが出来る方法があれば教えていただきたく思います。 


18 :nobodyさん:2005/10/18(火) 14:17:37 ID:J3Qm7IQ6
脊髄反射。権限の問題じゃないかな。

19 :17:2005/10/18(火) 14:21:31 ID:???
>>18
WindowsXP+apacheで動かしているのですが、それでも権限の問題があるのですか?

20 :nobodyさん:2005/10/18(火) 14:28:39 ID:nQAMQYvG
>>17
XMLHttpRequestから本当に呼び出されてる?

21 :17:2005/10/18(火) 14:33:43 ID:BK6jpjuT
>>20
$fp=fopen("*.txt","w");  
fputs($fp,"*");  
fclose($fp);  
print "*";

このようにして呼び出すとjavascript側でinnerHTMLの書き換えは成功するのでそれは問題ないと思うのですが・・・

22 :nobodyさん:2005/10/18(火) 14:37:43 ID:???
>>21
となると、たぶんポカミスだな。

23 :nobodyさん:2005/10/18(火) 14:41:15 ID:BK6jpjuT
>>22
ポカミスですか・・・
仕様でできないとかそういうわけではないんですね。
調べてみます、ありがとうございました。

24 :nobodyさん:2005/10/18(火) 15:19:25 ID:Im4kkPK4
ヤフーとか、ログイン後ブラウザを閉じて
再度立ち上げてもログイン状態となるのは
どういう仕組みなのでしょうか?

セッションIDをクッキーに保存するやり方だと
一度ブラウザを閉じると再ログインが必要になってしまいます。

何か設定があるのでしょうか?
レンタルサーバなのでphp.iniはいじれません・・

25 :nobodyさん:2005/10/18(火) 15:38:00 ID:???
>>24
セッション使わないで普通にCookieにID情報を保存してるだけだよ。

26 :見習い ◆DVsUJRCU3g :2005/10/18(火) 15:44:33 ID:???
>>24
クッキーは保存期限が決められます

何時間とか何日とかブラウザを閉じるまでとか

27 :nobodyさん:2005/10/18(火) 16:02:59 ID:???
>>25
セッション使っても出来るわけだが。

28 :nobodyさん:2005/10/18(火) 16:05:05 ID:???
>>27
出来る出来ないの話じゃない。
この場合はヤフーが例に出てきたから、
ヤフーはセッション使わないでCookieのみだよと発言しただけ。

本来ならセッション管理にしたほうが
セキュリティ的にはよいわけだが。

29 :nobodyさん:2005/10/18(火) 17:52:48 ID:???
まぁ、そう熱くなりなさんな
>>24は、「CookieでもSessionでも出来る」と学べたんだし

30 :nobodyさん:2005/10/18(火) 18:20:29 ID:???
>>24
ブラウザを閉じた後でも(cookieを使用する方法での)セッションを有効にするのに必要な手順。
・cookieのみでセッションを使うように鯖の設定を適切に変更
・鯖側のセッションデータが消えないように、鯖のセッションgc周りを適切に設定。
・ブラウザを閉じた時に消えないように、session.cookie_lifetimeに該当するものを
 リクエスト毎にsession_set_cookie_params()で設定。

31 :31:2005/10/18(火) 18:23:27 ID:fdQa1YD9
PHPはCGIよりも軽いの?

32 :nobodyさん:2005/10/18(火) 18:31:33 ID:???
( ´д)ヒソ釣(´д`)釣ヒソ(д` )

33 :nobodyさん:2005/10/18(火) 18:32:44 ID:???
重さを量ったことは無いなぁ

34 :nobodyさん:2005/10/18(火) 18:36:37 ID:???
>>31
サーバによって違うんじゃね?

ウチは普通のタワー型だからそこそこ重たいけど
キューブ型やらノートの鯖なら片手でも持てるでしょ?

35 :nobodyさん:2005/10/18(火) 18:54:51 ID:Yne7aJ8c
CGIBOYのチャットの闇落ちの仕方教えて。

36 :nobodyさん:2005/10/18(火) 19:44:39 ID:CyA7ywFN
質問です。

phpコード内で
:
↑はどのようなときに使用するのでしょうか?


37 :nobodyさん:2005/10/18(火) 20:07:19 ID:???
ディレクトリ内のhtmlファイルの一覧を表示するphpを作ってるんですけど
各htmlから<title></title>の内容を取ってくるスマートな方法ないでしょうか?


38 :nobodyさん:2005/10/18(火) 20:19:21 ID:???
>>37
考えついたスマートじゃない方法をお教えください。

39 :nobodyさん:2005/10/18(火) 20:24:23 ID:???
http://loadist.sakura.ne.jp/loadist/loadist.php

アップローダサイトの運営をやりたくて立ててみたら
誰もうpしてくれないです。
うpできるかどなたか試していただけないでしょうか?
違法ファイルは勘弁の方向で・・・


40 :nobodyさん:2005/10/18(火) 20:32:05 ID:???
>>39
アクセスする人が本人だろうがその他の人であろうが関係ありませんよ。
あまりに基本的な事なのでそれを知らないとは思えないですし
ひょっとしたら宣伝でしょうか?それでしたら宣伝板があります。
そこ以外で宣伝する場合は禁じられていた気がしますが、
あまりに基本的な事なのでそれを知らないとは思えないですし
ひょっとしたら2ch初心者でしょうか?それでしたら半年ROMってろ!!

41 :37:2005/10/18(火) 20:40:08 ID:???
>>38
各ファイルの先頭から300byte位までを読み込んで抽出
という方法を考えていたのですが、どうもスマートじゃないような気がして。

42 :nobodyさん:2005/10/18(火) 20:53:59 ID:???
>>41
いいんじゃないの、それでも。
俺なら最初に</title>が出てくるまでにしておくがね。

43 :見習い ◆DVsUJRCU3g :2005/10/18(火) 21:03:25 ID:???
>>38

$list = scandir();

foreach ($list as $l) {
if ($l == '.' || $l == '..') continue;
 $s = file_get_contents($l);
 $s = substr(stristr($s, '<title>'), 7);
 $s = substr($s, 0, stripos($s, '</title>'));
 echo $s;
}

これじゃだめかな

44 :見習い ◆DVsUJRCU3g :2005/10/18(火) 21:04:49 ID:???
アンカーミス
>>37です

あ、<title >みたいなのが認識されないや

45 :37:2005/10/18(火) 21:06:33 ID:???
>>42
行で読み込んでいって</title>にマッチしたら代入って感じでどうでしょうか?

46 :nobodyさん:2005/10/18(火) 21:07:23 ID:???
>>40
>ひょっとしたら宣伝でしょうか?それでしたら宣伝板があります。
アドレスを書き込めば理由はどうであれ宣伝になりますね。

>そこ以外で宣伝する場合は禁じられていた気がしますが、
>あまりに基本的な事なのでそれを知らないとは思えないですし
>ひょっとしたら2ch初心者でしょうか?それでしたら半年ROMってろ!!
千里眼のごとき憶測、恐れ入ります。
無根拠の仮定で罵詈雑言を言われても・・・

47 :37:2005/10/18(火) 21:12:13 ID:???
>>43-44
サンクス
やりたいことはそうなんですが、file_get_contentsでは
ちょっとスマートでないような気がするんですが。
素人なんで強烈に勘違いしてたらすいません。


48 :nobodyさん:2005/10/18(火) 21:15:19 ID:???
>>47
だから一行ずつ読めって

49 :nobodyさん:2005/10/18(火) 21:16:34 ID:???
ファイルが小さいなら一度に読んだほうがいい
どの辺が分水嶺になるかはシラネ

50 :nobodyさん:2005/10/18(火) 22:06:08 ID:???
一気に読むのと一行ずつ読むのじゃ負荷て変わるもんなんですかね?
純粋な質問です。今まで一行ずつの方が負荷が少ないと勝手に思い込んでいたので・・・。


51 :36:2005/10/18(火) 22:14:02 ID:CyA7ywFN
度々すいません。

:
↑これを使用する場合はどういう場合でしょうか?
;
↑行末のと間違っているのでしょうか?
それともソース改行無視みたいな記号でしょうか?

52 :nobodyさん:2005/10/18(火) 22:25:13 ID:???
>>50
一般論としてはディスクアクセスが増える分
一行ごとに読み出すほうがディスクへの負荷は増える。
でも、実際にはシステムやOSでキャッシュしてたりするのでなんともいえない。
だから普通は処理性能や負荷状況もテストを行う。

でも負荷やスマートさを考える前に
まず確実に動くソースを書いてからジャマイカ?

53 :nobodyさん:2005/10/18(火) 22:25:50 ID:???
>>51
ttp://jp.php.net/manual/ja/langref.php
黙って全部読め。

54 :nobodyさん:2005/10/18(火) 22:46:42 ID:???
>>51
三項演算子のこと?
>:
>↑これを使用する場合はどういう場合でしょうか?
だけじゃ何を知りたいのか分からないよ。
まあ、ここはPHPスレだから三項演算子と仮定するね。

使用例
<?php
$HardGay = 2;
$SoftGay = 1;
$HardGay > $SoftGay ? echo 'オッケ〜イ、フゥー' : echo 'ゴリエハァハァ ';
?>

変数の数値をかえて試してみてねん。
ちなみにecho文は戻り値を持たないからだめよん。
if{ } else{ }でも同じ処理できるよ。


55 :nobodyさん:2005/10/18(火) 22:54:35 ID:???
>$HardGay > $SoftGay ? echo 'オッケ〜イ、フゥー' : echo 'ゴリエハァハァ ';
のechoをprintに変えて試してね。
コピペはだめよ うふっ

56 :nobodyさん:2005/10/18(火) 23:02:22 ID:???
へんな回答者があらわれたなぁ

57 :nobodyさん:2005/10/18(火) 23:03:58 ID:???
echo $bool ? 'a' : 'b';

58 :nobodyさん:2005/10/18(火) 23:09:58 ID:???
psql上で
\d table_name;
と同じ事をPHPからしたいのですが、
pg_query()を使っても不可みたいです。

テーブルの定義を取得したいのですが、
PHPでそういう関数って用意されていますか?
マニュアル一通り見たんですが見つけられませんでした。

59 :nobodyさん:2005/10/18(火) 23:15:40 ID:???
$a = 1; $b = 2; $c = 3; $d = 4;

$x = ($a == $b ? 'b' :
       ($a == $c ? 'c' :
       ($a == $d ? 'd' : 'e')));

echo $x;

60 :nobodyさん:2005/10/18(火) 23:17:21 ID:???
144 名前:nobodyさん[] 投稿日:2005/10/18(火) 22:40:04 ID:CT5T2kGw
postgresでテーブルの定義を知りたいときのコマンドを教えてください

61 :nobodyさん:2005/10/18(火) 23:28:06 ID:???
WebProg初心者スレで質問してた人かなぁ。。レスしたのオレオレ。

psqlから実行するのはシェルコマンドのようなもの。
一方pg_query()はSQLをデータベースに渡すためのもの。

psqlを使う時と同じ環境(実行ユーザの権限、使用するライブラリパスなどの環境変数 etc)
になるようにしてsystem()等のコマンド実行系の関数を使うか、
テーブル内容を取得できるようなSQLをpg_query()で実行すればよい。
って、今マニュアルを見直してみたら pg_meta_data()ってのがあるじゃん。

PostgreSQLでは、テーブルの構造等のシステムで使う情報も特別なテーブル(システムカタログ)に持っているから、
それに対してSQLを実行する、つー方法もある。
ttp://www.postgresql.jp/document/pg804doc/html/catalogs.html

62 :nobodyさん:2005/10/18(火) 23:37:34 ID:tn/yEB1K
Linux + Apache 2 + mod_php
でサーバーを建ててphpの勉強を始めたんですが
a.phpというのをブラウザから開いても真っ白なページしか出てきません。
下のようなごく簡単なものならしっかりと意図したページを表示してくれました。

<?php
phpinfo();
phpinfo(INFO_MODULES);
?>

エラーとかを調べて解決していきたいのですが、Apacheのログとかにはこれといった
エラーが出てくれません。
こういう時のデバッグの仕方とかでよく使われる手法って何かありますでしょうか?
何でもいいのでとにかく何かエラーが出ているかどうか知りたいです。

63 :nobodyさん:2005/10/18(火) 23:43:19 ID:???
>>62
php 以外の,html 等は正常に表示される?
真っ白なページのソースを表示すると何か書かれてる?

64 :nobodyさん:2005/10/18(火) 23:47:44 ID:???
>>63
真っ白なページのソースはこのようになっていました。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY></BODY></HTML>

肝心のphpのソースを出すのを忘れ申し訳ありません。
http://osdn.dl.sourceforge.jp/zencart-jp/14573/zen-cart-v1.2.0-l10n-jp-3.zip
のindex.phpというやつです。


php以外のhtmlやcgiとかは特に問題なく動いて表示されています。

65 :nobodyさん:2005/10/18(火) 23:52:08 ID:???
開けてびっくり!じゃないだろうね?

66 :nobodyさん:2005/10/18(火) 23:54:30 ID:???
>>65
zencartというオープンソースのphpとmysqlのショッピングカートです。
とりあえず危険ではないです。。。

67 :nobodyさん:2005/10/18(火) 23:55:14 ID:???
この辺を参照して、php.iniを適切に設定する。
ttp://jp.php.net/manual/ja/ref.errorfunc.php
error_reporting E_ALL
display_errors on

んでも、まぁ、HTTPヘッダのcharset指定が適切じゃなくて、文字エンコーディングを
誤判定してあたかも何も出力されていないように見えるだけじゃないかな、っと。
apacheの設定httpd.confでDefaultCharsetを適切に設定すれば表示されるんじゃないかな。

スクリプトを書いていくうちにHTTPヘッダを見る必要が出てくると思うので、
そのあたりをカバーしてくれるツールを入れておくのもいいんでないかと。
ieHTTPHeadersやProxomitronあたりと、firefoxのアドインツールでも見れるんだっけ?

って、書いてるうちにスレが進んでた。。
>>64のようなページのソースは鯖からのリスポンスに表示データがない時にIEが勝手に作り出したりしてた希ガス

68 :nobodyさん:2005/10/19(水) 00:09:43 ID:???
>>67
php.iniの設定を変えてApahceを再起動してみましたが、
残念ながら特に画面にエラーは出てきませんでした。。。


69 :nobodyさん:2005/10/19(水) 00:09:55 ID:???
>>67
http://livehttpheaders.mozdev.org/ >firefoxのアドインツール
つうてもieHTTPHeaders、LiveHTTPHeadersでもパケットそのものが見える訳ではないので、
サーバを自前で設置するならパケットキャプチャツールも用意するべきかな。
借りたサーバを使う人は、パケットキャプチャまでは不要。

70 :nobodyさん:2005/10/19(水) 00:10:31 ID:???
火狐ってvbs非対応?

71 :nobodyさん:2005/10/19(水) 00:12:15 ID:???
ってレスあったか・・汚しスマソン
寝ます・・

72 :nobodyさん:2005/10/19(水) 01:29:09 ID:???
PearのDBクラスで、getOneやexecuteメソッドでクエリを送信する場合、Pearはmysql_escape_string()や%→\%などのエスケープ処理はしますか?


73 :nobodyさん:2005/10/19(水) 01:33:29 ID:???
驚かないで聞いてくれ。
実はpearのDBクラスはPHPで書かれているんだっ!
自分で確認する事ができるねっワッセローイ

74 :nobodyさん:2005/10/19(水) 03:45:58 ID:???
foreach ($a as $v)

の$aの配列の取り出される順番について質問です。
これって、$a[0],$a[1] $a[2]の順番で取り出される事が”保障”されていますか?

75 :nobodyさん:2005/10/19(水) 03:55:12 ID:???
>>74
”保障”されていません。まずこれを実行してみそ
$a = array(2 => "two", 0 => "zero", 1 => "one");
foreach ($a as $v) echo $v, "\n";

76 :nobodyさん:2005/10/19(水) 04:02:01 ID:???
>>74
されていません。

順序は添え字の大小(数値上だとか文字コード上だとか)の比較によらず、
PHPでは内部的に「順序リスト」によって処理しています。
その順序の順番通りに取り出されます。

77 :nobodyさん:2005/10/19(水) 04:04:16 ID:???
こんな深夜にありがとうございます。
なるほど、ではちゃんとforを使って書く事にします。
ありがとうございました。

78 :nobodyさん:2005/10/19(水) 04:50:37 ID:???
初心な質問、失礼致します。
「->」という演算子がどういう機能をしているのかがわかりません。
当たり前のように見かける割には、意外とどの文献にも説明がなく困っています。

79 :nobodyさん:2005/10/19(水) 05:22:11 ID:???
>>78
プロパティ又はメソッドへのアクセス演算子。
PHP4ならここ http://www.php.net/manual/ja/language.oop.php
PHP5ならここ http://www.php.net/manual/ja/language.oop5.php
オブジェクト指向が多少なりともわからないと難しいかもしれないね。

80 :nobodyさん:2005/10/19(水) 05:22:17 ID:???
>>78
「->」は正式には"演算子"には分類されないと思うが。
機能についてはクラスとかの説明を参照。

81 :nobodyさん:2005/10/19(水) 05:34:17 ID:???
演算子でOKです

82 :nobodyさん:2005/10/19(水) 09:56:30 ID:RXCGepdO
質問させて下さい。

「人気ブログランキング」に代表されるようなランキングサイトが多々ありますけど、
こうしたランキングを自分用にカスタマイズ出来るサービスってないでしょうか?

「ブログビープル」や「マイブログリスト」といったサービスが近いと思うのですが、
ping送信がうまく機能していない所があるせいか思い通りに行きません。

ttp://spok.soccermath.com/index.html

上記にあるような自分用ランキングをブログのプラグインの1つとして表示させるのが理想です。
業者に頼む方法もあるかと思いますが、他の解決策があれば教えて頂きたいのです。

そもそもこうしたランキングを自作することが可能なのかもよく分かっていません。
「逆アクセスランキング」などは作成ツールをよく見かけるのですが。。

83 :nobodyさん:2005/10/19(水) 10:43:36 ID:EZ58Jn44
クラスってどういう時に使うと便利なんですか?

84 :nobodyさん:2005/10/19(水) 11:01:12 ID:???
>>82
文章を読んだ感じ、スレ違い

85 :83:2005/10/19(水) 11:07:57 ID:???
いや、PHPのことなんだけど…。


PHPから入った人間なので、オブジェクト指向とか良く分からんのです

86 :nobodyさん:2005/10/19(水) 11:29:24 ID:???
>>83
一言で言えば、プログラムを整理したいとき。

87 :nobodyさん:2005/10/19(水) 11:36:52 ID:???
>>85
PHPでなら作れるだろうさ。そういうサービスを探してるって>>83に書いてあるぞ。

88 :nobodyさん:2005/10/19(水) 11:38:15 ID:???
誤爆すまそ
×>>83
>>82

89 :nobodyさん:2005/10/19(水) 11:42:42 ID:???
先生,この人たちは何をしゃべっているのですか?
全然噛み合ってない気がするんですけど

90 :nobodyさん:2005/10/19(水) 11:57:40 ID:???
82-88は無かったことにしよう

91 :nobodyさん:2005/10/19(水) 11:57:48 ID:???
変数を複数使うのと
$a0、$a1、$a2、$a3…
配列でまとめるのと
$a[0]、$a[1]、$a[2]、$a[3]…
配列の方がプログラム組むのは楽ですが、どっちがメモリ消費を抑えられますか?
微々たるものなんでしょうが大量の変数を扱うので出来る所は最大限メモリ消費を抑えたいのですが。

92 :nobodyさん:2005/10/19(水) 11:59:23 ID:???
誤爆しまくるスレはここですか?

93 :nobodyさん:2005/10/19(水) 12:05:09 ID:???
>>91
そんな次元でメモリ節約を考える必要があるほどなの?
アルゴリズムの工夫でなんとかならない?
一時的にファイルにデータを出力しておくとかさ.

94 :nobodyさん:2005/10/19(水) 12:10:56 ID:???
やり方によっては速度差は出るけどね
処理次第でどっちにも転ぶ
ベンチとって疑問があれば質問しろよ

95 :nobodyさん:2005/10/19(水) 12:12:44 ID:???
>>91
PHPの配列($a[0] $a[1])は他の言語の配列とは違ってキーの数字も記憶されるからメモリ食いそう
ということで配列を使わないプログラム組んで苦しんでください。

96 :nobodyさん:2005/10/19(水) 12:21:25 ID:???
(´-`).。oO(メインメモリがメガバイト単位で搭載されている時代に何言ってるんだか・・・)

97 :nobodyさん:2005/10/19(水) 12:42:32 ID:???
(´-`).。oO(きっと>>91のPCはキロバイト単位でしか積んでないのさ・・ってPHP動くのか・・・?)

98 :nobodyさん:2005/10/19(水) 12:49:44 ID:???
(´-`).。oO(カセットテープにデータを保存しているんだろうなぁ・・・) 

99 :nobodyさん:2005/10/19(水) 13:08:24 ID:???
大量の変数...
$a1,a2,$a3,$a4...........$a100,$a101......$a49578264017484568467265674836754

100 :nobodyさん:2005/10/19(水) 13:11:06 ID:???
>>99
最大何個の変数が作れるか知ってる?

101 :nobodyさん:2005/10/19(水) 13:23:55 ID:???
>>100
ググれよ

102 :nobodyさん:2005/10/19(水) 14:03:36 ID:???
>>101
ワロス

>>100 は
最大何個の変数が作れるか知ってる? 
($a49578264017484568467265674836754 なんて制限以上だから作れるわけねーよwプゲラ)

って意味じゃないのか?

103 :nobodyさん:2005/10/19(水) 14:07:16 ID:???
postgresにファイル(画像や動画など)を突っ込むのは普通しませんか?
ファイル名だけ突っ込んで、ファイル自体は別の場所に管理した方がいいですか?

104 :nobodyさん:2005/10/19(水) 14:35:14 ID:???
>>102
気づけないやつは一生気づけないからさ、そっとしといてやれよ・・・

105 :82:2005/10/19(水) 14:37:16 ID:RXCGepdO
すみませんが適切なスレを教えて頂けませんでしょうか?

RSSの質問スレがあれば良いのですがないようですし、
上記>>82のリンク先にあるランキングサイトを作成した業者さんの所で
「PHP」の欄に紹介されていたものですから、ここかなと思って質問しました。

106 :nobodyさん:2005/10/19(水) 14:41:02 ID:???
>>103
あなたが何をしたいのか分かりませんので何ともいえないのですが、
管理のしやすさから言えば、フォルダ作ってそこに画像を収納したほうが・・

107 :nobodyさん:2005/10/19(水) 14:44:43 ID:???
目的のサーバー外部から、内部のファイル更新時間を取得することは可能ですか?

108 :nobodyさん:2005/10/19(水) 14:49:26 ID:???
>>106
全部DBに入れた方が管理しやすくない?

109 :nobodyさん:2005/10/19(水) 14:51:39 ID:???
>>103
俺はあんまりしないけど

ヒント:ケースバイケース

110 :nobodyさん:2005/10/19(水) 14:51:49 ID:???
管理のしやすさから言ったらDBに入れた方がいい気が

111 :nobodyさん:2005/10/19(水) 14:54:39 ID:???
>>109
まさにケースバイケースですな

112 :nobodyさん:2005/10/19(水) 14:56:59 ID:e62ag6fh
JISコードの「分」をEUCへ変換したいんだけど、mb_convert_encodingで変換
できないのは俺だけ?

113 :nobodyさん:2005/10/19(水) 15:32:10 ID:???
>>112
1文字だけで変換すると,ってこと?
「分」が含まれてる長い文章でも無理なの?

114 :nobodyさん:2005/10/19(水) 16:38:45 ID:???
>>112
文字コードを自動判別させるんだろ
俺は自動判別は使わないから大丈夫

115 :nobodyさん:2005/10/19(水) 16:38:46 ID:???
>>112
mb_detect_encodingやってみて。
それで文字コードが何に変わってるか分かると思うから。。。

116 :nobodyさん:2005/10/19(水) 17:10:56 ID:???
つ [ string mb_convert_encoding ( string str, string to-encoding [, mixed from-encoding]) ]

117 :nobodyさん:2005/10/19(水) 17:19:34 ID:e62ag6fh
112ですが、自動判別を使っても固定で書いても同じ結果です。
たとえば、2005年10月11日 水曜日 09時10分11秒 <-JISでこれをEUCにコンバート
すると 2005年10月11日 水曜日 09時1011秒 で帰ってきます。

何ででしょうか? PHPのバグ?

118 :nobodyさん:2005/10/19(水) 17:29:29 ID:M9vMYwgG
mb_send_mailを使ってメールを送信についてなんですが、
送信先アドレスが合っていない(アドレスが存在しない)場合、
一応FALSEも返されるのですが、それとは別にServer Errorが出ます。
こんな感じです(Warning: Server Error in c:\・・・・・.php on line 55)
アドレスが合っている(アドレスが存在する)場合は、
何も問題なく処理されるのですが・・・。
アドレスが存在しない場合でもServer Errorを出さずに
FALUSEだけ返す方法はないですか?

119 :nobodyさん:2005/10/19(水) 17:41:02 ID:e62ag6fh
php.ini -> display_errors = On <- Off が手っ取り早い

120 :nobodyさん:2005/10/19(水) 18:39:13 ID:???
>>118
mb_send_mail云々より
php on line 55って行ってるんだからそれ以前の行を
先になにかまずってないか調べた方がいいんでないの?
イージーミス臭い気がする

121 :nobodyさん:2005/10/19(水) 19:26:23 ID:???
そもそも、アドレスが存在しなくてもTRUEが返って来るだろ。

122 :nobodyさん:2005/10/19(水) 20:15:48 ID:???
>>121
確かに。
その後postmaster宛てにエラーメールが別途行くんだよな確か。

Win版なので余りアドバイスできないがエラーが出る辺り120同様ミスを疑ってみるのも・・・。

123 :nobodyさん:2005/10/19(水) 20:45:12 ID:???
>>73
ここまで長いソースを読んだことがなかったので、自信がありませんが、
必要に応じてquoteSmart()しなければならない、で合っていますか?
# %がクオートされない気が…

124 :nobodyさん:2005/10/19(水) 20:54:16 ID:???
>>118
>アドレスが合っている(アドレスが存在する)場合は、
そもそもどうしてアドレスがあっているかどうかを判定しているんだと
メールなんて送ってみて遅いときは数日後にメールが存在しませんでしたとかの
メールが返信されてくるわけで、それまで君は画面の前に張り付いているのかと
激しく聞きたい!
メールアドレスの整合性を検証しているだけなら120の言うとおり
エラーを出している部分を特定して修正るだけで解決すると思われる

125 :nobodyさん:2005/10/19(水) 22:51:57 ID:???
認証に成功した人にだけ画像をダウンロードできるようにしたいのですが、
どういう風に実現できますか?

認証に成功→画像にリダイレクト

だと画像に直接アクセスしたらダウンロードできてしまいますよね。

126 :nobodyさん:2005/10/19(水) 22:56:42 ID:???
>>125
・セッション
・認証に成功した場合に画像を結果として出力

127 :nobodyさん:2005/10/19(水) 22:57:03 ID:???
>>125
readfile

128 :nobodyさん:2005/10/19(水) 22:57:33 ID:???
一般的な方法なのかどうか知らないけど,
php を経由して画像を出力するようにすればOK


129 :nobodyさん:2005/10/20(木) 00:33:12 ID:AJY8FzbY
$data[0][0]=1;
echo "$data[0][0]";
とダブルクォートつけたまま、二次元配列の中身を出力したいのですが、
これだとArray[0]しか出力されません。
どう書き換えればよいでしょうか?

130 :nobodyさん:2005/10/20(木) 00:35:09 ID:TNE3rFHb
echo "{$data[0][0]}";

131 :nobodyさん:2005/10/20(木) 01:24:18 ID:???
>>17です。
解決したので一応結果だけ報告させてください。

原因はキャッシュにありました。
呼び出されるPHPがキャッシュのせいで出力のみがされていたようです。
ttp://jp.php.net/manual/ja/function.header.php
に書いてあるようにキャッシュを無効化したら無事に動作しました。
どうもお騒がせしました。

132 :nobodyさん:2005/10/20(木) 02:31:58 ID:???
>>129
こんな感じ?
echo '"';
print_r($data);
echo '"';

それともこっち?
echo '"'.$data[0][0].'"';

133 :nobodyさん:2005/10/20(木) 02:37:19 ID:???
>>132
どっちも違うと思う

134 :nobodyさん:2005/10/20(木) 03:10:24 ID:???
>>133
ダブルクォートも出力したい
もしくは二次元配列の中身+ダブルクォートも出力したい
のだと思ったわけだが違うというなら130のやり方だね
ちなみに
echo "{$data[0][0]}";

echo $data[0][0];
の違いって何なの?
出力結果は同じだよね??

135 :nobodyさん:2005/10/20(木) 03:17:47 ID:???
>>134
同じです

>>129
echo "今日の晩ご飯は{$data[0][0]}です";

みたいな使い方がしたいのかと

136 :nobodyさん:2005/10/20(木) 03:47:27 ID:???
>>129
>>とダブルクォートつけたまま、

echo "\"{$data[0][0]}\"";

137 :nobodyさん:2005/10/20(木) 04:34:40 ID:???
Redhat7でPHP3+PostgreSQLのシステムを、Redhat9のPHP4PostgreSQLに
移行(移動しただけ)してみたところ、ユーザ認証がエラーではじかれるようになってしましました。
PHP3⇒PHP4の仕様の違いに詳しいサイトor書籍があったら
ご紹介願います。



138 :nobodyさん:2005/10/20(木) 04:35:19 ID:???
↑一応、PHP4は--enable-versioningオプションでコンパイルしています。

139 :nobodyさん:2005/10/20(木) 04:38:51 ID:???
つ [ エスパー ]

140 :nobodyさん:2005/10/20(木) 04:39:59 ID:???

http://www.zend.co.jp/products/studio/ZendInformationCenter/php_manual/php_function_refrence/migration4.html

141 :137:2005/10/20(木) 04:40:46 ID:???
↑調べてみます。

142 :nobodyさん:2005/10/20(木) 07:40:16 ID:???
>>117
俺の環境(Windows PHP4.4.0とPHP5.1.0)では問題ない


143 :nobodyさん:2005/10/20(木) 07:55:39 ID:???
まあそりゃそうだろな

144 :nobodyさん:2005/10/20(木) 09:33:10 ID:???
エスケープシーケンス?について質問です。
ダブルクオテーション""内にダブルクオテーションを書くとすると、
"<img src=\"\">"といった具合に書くことはわかったのですが、
シングルクオテーション''内にシングルクオテーションを書くとすると、
どういう風にかけばいいのでしょうか?
\'\'ではどうもだめなようなのですが・・・

145 :nobodyさん:2005/10/20(木) 09:37:11 ID:???
駄目なのはお前だ

146 :nobodyさん:2005/10/20(木) 09:51:50 ID:???
だめなのは承知しています。答える気がないなら黙っててください。

147 :nobodyさん:2005/10/20(木) 09:57:32 ID:???
>>144
\' を2つ並べている理由は判らないけど、\' で大丈夫。
echo 'あああ\'いいい';

「\'\'ではどうもだめなようなのですが・・・ 」
どうだめなのかを書いた方がいいのでは?

148 :nobodyさん:2005/10/20(木) 10:01:22 ID:???
>>147
\"\"て書いてあるだろ。

149 :145:2005/10/20(木) 10:04:38 ID:???
十分答えになってるはずだがねえ

150 :nobodyさん:2005/10/20(木) 10:15:23 ID:???
頭が膿んでるのも承知しています。答える気がないなら黙っててください。

151 :nobodyさん:2005/10/20(木) 10:20:59 ID:???
答えてるじゃん?

152 :nobodyさん:2005/10/20(木) 10:23:25 ID:???
ヽ(`Д´)ノ┌┛)ω・`)

153 :nobodyさん:2005/10/20(木) 10:47:16 ID:???
くだらない質問ですいません、htmlファイル
<a><b><c>hogehoge1</c></b></a>
<a><b><c>hogehoge2</c></b></a>
<a><b><c>hogehoge3</c></b></a>
から「hogehoge*」を全て取り出すスマートな方法とかありますかね?
エロい人おせーて

154 :nobodyさん:2005/10/20(木) 10:52:21 ID:???
http://php.net/preg_match_all

155 :nobodyさん:2005/10/20(木) 11:02:03 ID:???
>>154
エロい人どーも

156 :nobodyさん:2005/10/20(木) 12:45:21 ID:MKGw3uam
phpプログラマーを雇う予定なんだけど、

1.デスクトップ
2.デスクトップ、別途ノート支給
3.ノート支給

どれが一番お勧めだろう?
ノートは暗に家でも仕事してよね的な感じです。
普通の企業は3かな?
2はコスト的には若干避けたい。でも効率が結構変わってくるのであれば、
2でもいいかなと考えてます。

若干すれ違いだけど、レスよろしこです!


157 :nobodyさん:2005/10/20(木) 12:45:59 ID:???
デスクトップを持ち歩かせてみよう

158 :nobodyさん:2005/10/20(木) 12:49:26 ID:???
>>157
1年後、異色のプロレスラーとしてデビューしてたりして

159 :nobodyさん:2005/10/20(木) 12:56:53 ID:???
>>156
1で会社に軟禁が一番いい

160 :nobodyさん:2005/10/20(木) 13:00:52 ID:???
>>156
4.紙と鉛筆支給(鉛筆削り付き)

161 :nobodyさん:2005/10/20(木) 13:04:25 ID:???
>>156
2.3は家にPCがないPGって少ないだろうから、ノート支給するより
圧力かけたほうがコストパフォーマンスいいと思うよ

だから1がオススメ

162 :nobodyさん:2005/10/20(木) 13:08:33 ID:???
select * from table_name;

を実行して

$r = pg_fetch_all(...);
echo count($r);

とすればレコード数が取得できると思いますが、
レコード数だけを取得すればいいときに、
これだけのために一旦全てのレコードを取り出すのは
効率が悪いように思えます。

何か他に方法がありませんか?

163 :nobodyさん:2005/10/20(木) 13:14:55 ID:???
>>156
家で仕事なんかしないよ。
自由に使って勉強してねって感じでも最近の子はね。

164 :nobodyさん:2005/10/20(木) 13:20:53 ID:???
>>162
スレ違いのような気もするが…
ヒント つ[SELECT count(*)]

165 :nobodyさん:2005/10/20(木) 13:27:47 ID:???
>>156
家に帰ったらP2Pし放題になる罠

166 :nobodyさん:2005/10/20(木) 13:31:01 ID:???
>>156
15万円くらい渡す.
「これで開発環境ととのえて」という.

167 :nobodyさん:2005/10/20(木) 13:33:29 ID:???
安っ

168 :nobodyさん:2005/10/20(木) 13:37:05 ID:???
>>156
1。安いから。支給するならPHPの書籍。本なら遊べない。


169 :nobodyさん:2005/10/20(木) 13:45:11 ID:???
>>156
俺にノート買ってくれるのが一番効率いいな。

170 :nobodyさん:2005/10/20(木) 13:49:41 ID:???
昔のPHPのデフォルト設定だと、getやらpostやらで送られたクエリーが
勝手に同名の変数に入ってしまいますよね
今使ってるサーバがそういう設定なんですが、
気分的にすごく嫌なので
自分のスクリプトだけ$_GETや$_POSTを
必須にするような設定方法ってありますか?

171 :nobodyさん:2005/10/20(木) 14:25:17 ID:???
>>170
「勝手に」は入らない。(意図してるかはともかく)そう設定しているから入る。

register_globalsをOffに設定すれば求める挙動になるけど、
指定できるのはPHP_INI_PERDIR、PHP_INI_SYSTEMだから
運がよければ設定したいディレクトリの.htaccessで
「php_flag register_globals Off」と記述すれば可能。
CGI版のPHPの場合は、自分の利用してるディレクトリに置くphp.iniかな。


172 :nobodyさん:2005/10/20(木) 14:46:35 ID:???
まあ、4.1.x以前だと、インストールした状態で入ってるから「勝手に」だとは思うけどな。

>>170
「デフォルトで」とかここらの言い方覚えなよ。

173 :nobodyさん:2005/10/20(木) 15:48:08 ID:7izyihiQ
PHPってフレームワーク使って開発するのがいいのか
それともべた書きのほうがよいのか?
それともTemplate使ったほうがよいのか?

だれか教えてくれーーー



174 :nobodyさん:2005/10/20(木) 16:35:36 ID:???
>>173
規模・予算・期間・クラの要望に応じて適当な方法を選択。

175 :nobodyさん:2005/10/20(木) 17:09:05 ID:???
>>170
まあ、register_globalsの設定が答えではあるのだけれども・・・。
この際、クラスとか使って変数のスコープもちゃんと意識してみた方がいいかも。

176 :nobodyさん:2005/10/20(木) 17:11:26 ID:???
>>173
174の言うとおりだけど、HTML出力するなら俺的にテンプレートエンジンは必須だな。

少し大きくなったらフレームワークが楽かな。
俺の場合、3ページ以上だったらフレームワーク使うかも。

177 :nobodyさん:2005/10/20(木) 17:22:45 ID:P54wTQQ4
cookieの読み書きを行うphpスクリプトを用意し、
IFARAME内に上記スクリプトを呼び出しているのですが
cookieの読み書きができません。

IFRAME内からではクッキーは利用できないのでしょうか??





178 :nobodyさん:2005/10/20(木) 17:23:34 ID:???
可能です。

179 :nobodyさん:2005/10/20(木) 17:52:31 ID:???
Web制作版から誘導されてきました。
imgタグとPHPを使って、HTMLにランダムに画像を表示させたいのですが、
具体的にどう書けばいいのでしょうか。
リロード・アクセスする度に画像が変わる、という風にしたいです。
よろしくお願いします。

180 :nobodyさん:2005/10/20(木) 17:59:37 ID:???
$var = mt_rand(1, 3);
if($var == 1){print"<img src=\"aaa.jpg.jpg\">";}
elseif($var == 2){print"<img src=\"bbb.jpg\">";}
elseif($var == 3){print"<img src=\"ccc.jpg\">";}

181 :軟式PHP:2005/10/20(木) 18:01:39 ID:???
>>179
JavaScriptでも出来るよ。
PHPでやるなら180みたいな方法か、<img src="img.php">みたいにして
img.phpで画像出力を行う。

182 :nobodyさん:2005/10/20(木) 18:14:08 ID:???
>>179
>imgタグとPHPを使って
ってことなら、>>181の、<img src="img.php">が正解かもね。
その場合、「img.phpではどんな処理をしたらいいのですか?」
という質問が返ってくる、とエスパーしてみる。

183 :nobodyさん:2005/10/20(木) 18:25:37 ID:???
>>182
img.phpではどんな処理をしたらいいのですか?

184 :nobodyさん:2005/10/20(木) 18:27:07 ID:???
配列の中に変数を入れて、別の場所でprintで表示させようと思うのですが

$input_frame = array("<INPUT size=20 type=text name=zip value =$str>");
$str = pg_fetch_result($result,$j,$i);
print("$input_frame[$i]");

このような形で出力したら、$strに出力されません。
どうにかして、このような形で使う方法はありませんか?
よろしくお願いします。


185 :nobodyさん:2005/10/20(木) 18:30:50 ID:???
君は苦労が絶えん人だね

186 :nobodyさん:2005/10/20(木) 18:32:16 ID:???
そうなんですよ
わかりますか?

187 :nobodyさん:2005/10/20(木) 18:40:49 ID:???
>>184
何をやろうとしてるのか理解できない.
「このような形」って何?
なんでいきなり pg_fetch_result() ? $j, $i ってどっから沸いてきたの?

188 :nobodyさん:2005/10/20(木) 18:46:41 ID:???
>>187
文字列中にある"$str"を変数として認識させ、
$strをそこに埋め込みたいんじゃないか?
真相は>>184しか知らんだろうけど。

もしそうならe(ry

189 :nobodyさん:2005/10/20(木) 18:58:58 ID:???
2行目で取得されるだろう$strを、1行目の$strの部分に入れたいってことか。
もしそうならe(ry

190 :nobodyさん:2005/10/20(木) 19:10:10 ID:Uz4S3mFQ
困ってます。
データベースサーバがmysql09.lolipop.jpの場合、単純に「if($sqlin=mysql_connect("mysql09.lolipop.jp","root",""))」と記述すれば良いのでしょうか?
このままだとエラーが出てしまうのですがどうすればいいでしょうか?

ど素人ですみません。

191 :nobodyさん:2005/10/20(木) 19:30:15 ID:???
>>190
fatal error : 未定義のエラーが記述されています line:3

192 :nobodyさん:2005/10/20(木) 19:37:57 ID:???
>>190
しかるべき場所で聞いてみたけど,良い回答は得られなかった.

あなたの発言:
困ってます。
 データベースサーバがmysql09.lolipop.jpの場合、単純に「if($sqlin=mysql_connect(\"mysql09.lolipop.jp\",\"root\",\"\"))」と記述すれば良いのでしょうか?
ど素人ですみません。 

ロリポおじさんの発言:
う〜ん、僕には難しいぽ。未熟者でゴメンね。

193 :nobodyさん:2005/10/20(木) 19:52:04 ID:???
>>190
>エラーが出てしまう
俺のところでは"貴方と同じエラー"は出なかったよ。
まあレポーティングレベル最低な環境だが。

194 :nobodyさん:2005/10/20(木) 19:53:54 ID:???
>>190
しらねーけどlocalhostで

195 :nobodyさん:2005/10/20(木) 20:29:05 ID:???
>>190
しらねーけどroyalhostで

196 :nobodyさん:2005/10/20(木) 20:35:08 ID:???
>>190
っとまぁおちょくるのはこれくらいで
1、\"mysql09.lolipop.jp\",\"root\",\"\"はなぜエスケープしてるんだと
2、データベースサーバmysql09.lolipop.jpは内部と外部どちらあるんだと
3、外部にあるならデータベースサーバにログインできるアカウントはあるのかと
4、そもそも外部にあるならポートは開いているのかと

3秒考えただけでもこれだけあるわけだが…

197 :nobodyさん:2005/10/20(木) 20:37:06 ID:???
しまった1は無し
192に釣られてしまったorz

198 :nobodyさん:2005/10/20(木) 20:47:05 ID:???
>>190
ろりぽでDB作るときに指定したパスワード、表示されたDB名、ユーザ名
を指定すればいいんじゃ?たぶんrootじゃだめぽ

199 :192:2005/10/20(木) 20:56:07 ID:???
>>197
>>192 はロリポおじさん
http://lolipop.jp/?mode=support&state=oshiete
に聞いたときエスケープされた.


200 :nobodyさん:2005/10/20(木) 21:39:16 ID:H5QCKuTq
教えてください。
$_POSTを使わずにPOSTで渡された値を得る方法はないですか?

同じkeyを持つチェックボックスが複数押されてると正しい値が得られそうにないんで、
$_POSTでなく自前でやろうかと思うんですが、print_r($GLOBALS);しても思い当たる値を持った変数がありません。

201 :nobodyさん:2005/10/20(木) 21:53:50 ID:???
>>200
チェックボックス配列?
呼び方がわからんが、こういうの name="check[]" 
でやればいいんでないの?




202 :nobodyさん:2005/10/20(木) 21:55:32 ID:???
つphp://input
つ$HTTP_RAW_POST_DATA

まあ漏れならこんな面倒な事せずに
配列使うなり、別の手段考えるけどね

203 :nobodyさん:2005/10/20(木) 22:12:50 ID:???
>202
ありがとうございまつ。
調べてみます。

>201
name="check[]"は
質問の内容と食い違いますが(>200はPOSTとGETの両方で使えるようにという質問で。)
URLの後ろにtype=はともかく、type[]=だとなんかプログラム過ぎてお客様に見せたくないとです。

204 :nobodyさん:2005/10/20(木) 22:18:29 ID:???
何その顧客('A`)

わざわざそんな事やって、余計なお世話だって気がするのは私だけだろうか。そうしたいなら止めはしないけど。

205 :軟式PHP:2005/10/20(木) 22:29:08 ID:???
テラアホス

206 :nobodyさん:2005/10/20(木) 22:33:34 ID:???
>>203
いや、URLの後ろにつくわけじゃないんだが…
<form method="post" action="ほげほげ.php">
<?php for($i=0;$i<10;$i++){ ?>
<input type="checkbox" name="check[]" value="$i">
<?php } ?>
</form>
こんな感じじゃ駄目なのといいたかったわけだ

207 :nobodyさん:2005/10/20(木) 22:39:49 ID:???
そんな脳みそでお客様にプログラムを書いてあげることがどうかと。

208 :nobodyさん:2005/10/20(木) 22:40:59 ID:???
>>203
配列をGETで送ってもURLはxxx.php?type[]=xxxにはならないんだが。

209 :nobodyさん:2005/10/20(木) 22:52:03 ID:F9y0WL9y
phpを最近始めました。
C,C++,Javaの経験はあります。

この度スクリプト言語でWebアプリを作ってみようかと思ったので、
phpとperlの両方を調べつつ試している所です。

それで、いろいろなタイプのプログラムを参考にしたいと思っているので、
オープンソースのWebアプリを探しています。

現在、pukiwikiとp2を見ている所です。
他にもサンプルとしていいものがありましたら教えて頂きたく思います。
よろしくお願いします。
ブログ系のアプリも見たいです。



210 :nobodyさん:2005/10/20(木) 22:53:41 ID:???
PukiWikiは・・初めて読むにはあんまりオススメ出来ないような・・・。

211 :nobodyさん:2005/10/20(木) 23:01:39 ID:???
Cやってりゃわかんじゃないの?
似てるよね?
俺の誤認?

他の言語出来んだったらマニュアル読めばいいじゃん。

212 :nobodyさん:2005/10/20(木) 23:01:44 ID:???
CとかJavaの経験があるのなら改めてオープンソースのコードを読む必要はないような…
Cの知識で書きながら判らない所はマニュアルを読めばそれなりに書けるのでは?
後はこのスレで聞きながら。なんだかんだ言ってもこのスレの住人は親切な椰子が多いと思う。

213 :184:2005/10/20(木) 23:01:49 ID:???
188,189さんのおっしゃる通りです。

$result = $this->db->Query("SELECT * from data_area");
$rows = pg_num_rows($result);
$columns = pg_num_fields($result);
print("<TR>");
$input_frame = array("<TD><INPUT size=20 type=text name=zip value =$str></TD>","<TD><INPUT size=20 type=text name=address value =$str></TD>);
for($i=0;$i<$columns;$i++){
for($j=0;$j<$rows;$j++){
$str = pg_fetch_result($result,$j,$i);
print("$input_frame[$i]");
}
}
print("</TR>");
このようにして、テキストボックスの中に最初からDBの値を表示させて、
必要ならば値を変更して、再度DBに書き込むようにしようと思いました。

一般的には、このようにする、など教えてもらえないでしょうか。
よろしくお願いします。


214 :nobodyさん:2005/10/20(木) 23:02:44 ID:???
>>209
OScommerceもPHPじゃよ

215 :209:2005/10/20(木) 23:17:21 ID:F9y0WL9y
>>210,211,212,209
レスありがとうございます。

言葉不足失礼しました。
言語の勉強にではなく、phpでどういうことがどのようにできるのかというのを
知るためにオープンソースを読んでいます。

Webアプリの経験もあるのですが、サーバサイドJavaや.Netで
スクリプト系の経験がないので、印象としては全く違い良く分かりません。

効率のよい書き方とか共通化のしかたとか
MVCモデルで書けるのかが全く分からないので
その辺りを意識して読みたいと思っています。

>>214
ありがとうございます。
OScommerce自体を知りませんでしたがとても面白そうです。


216 :nobodyさん:2005/10/20(木) 23:26:32 ID:???
>>215
PHPでMVC
http://www.stackasterisk.jp/tech/php/phpMvc01_01.jsp
こういう記事見たり,書籍(まるごとPHP)とか読むのもいいかもしれない.


217 :nobodyさん:2005/10/20(木) 23:29:02 ID:???
hogeDB内のhoge_dbテーブル内のHogeはある物としnaiyoは存在しない場合で

$aaabbb = "naiyo"
$query = "select * from hoge_db where Hoge = '".$aaabbb."'";
$hoge = mysql_query($query) or die("ほげ");

こんな感じのでクエリーが送信された時に
エラーの場合FALSEが返るとあるのですが

if ($hoge == FALSE){
echo "ないらしい";
$nanika = "nairasii";
}
というのを下につけても"ないらしい"が表示されません
間違ったクエリーが投げられた時に
$nanika等をセットしたい時はどうすればいいのでしょうか?

218 :209:2005/10/20(木) 23:38:19 ID:F9y0WL9y
>>216
おー。あるんですね。
ありがとうございます。



219 :nobodyさん:2005/10/20(木) 23:41:49 ID:???
>>217
mysql_query()は、クエリーが成功したかどうかを 表すためにTRUE(非ゼロ)またはFALSEを返します。
と教科書にあるわけだが…

以下を50回くらい読み返してください
http://jp2.php.net/mysql_query


220 :nobodyさん:2005/10/20(木) 23:44:08 ID:???
>>217
mysql_queryが失敗した時点で、or dieに制御が移ってスクリプトが終了するんじゃね?
つか「ほげ」って出力されてね?

221 :nobodyさん:2005/10/20(木) 23:55:57 ID:???
>>220
いや表示されなかった(;´Д`)

>>219
そこに書いてある事だと成功したらTRUEが返ってくるんでしょ?
失敗したらFALSE何か違うの?@@

222 :nobodyさん:2005/10/21(金) 00:01:59 ID:???
>>221
URLの先の12行目に

次のクエリーは、文法的には間違っており、 mysql_query()は失敗し、FALSEを返します。

とあるのは読めるよな?
ここで注目する部分は「文法的」の部分だ
>>221が書いたSQL文は間違っていると思うか?
文法的に間違っているというのは以下のようなことではないのか?
$query = "select * form hoge_db where Hoge = '".$aaabbb."'";



223 :nobodyさん:2005/10/21(金) 00:13:09 ID:???
ぼけとは何だ!

224 :217:2005/10/21(金) 00:15:53 ID:???
文法的か・・・
確かに217のでは文法的には間違ってはいない筈・・・?

間違ったクエリー投げられた時
どうやってそのクエリーが
間違ったクエリーと判断してるんでしょう?@@



225 :nobodyさん:2005/10/21(金) 00:20:42 ID:???
queryの結果が0件なのは失敗と言いません。これはおk?

226 :217:2005/10/21(金) 00:25:03 ID:???
>>225
ありがとうございます
うまくいきました(´・ω・`)

227 :nobodyさん:2005/10/21(金) 00:29:20 ID:???
>>224
>確かに217のでは文法的には間違ってはいない筈・・・?
間違っていないからTRUEが返されている
よってif文に引っかからない

クエリーの判断はあくまでDBが行っている
mysql_query()はDBに対してSQL文を投げつける関数

やりたいことはの9割は出来ているんだから
あとはどうやればやりたいことが実現できるか自分で考えて
ヒントは行数だ

228 :nobodyさん:2005/10/21(金) 00:37:31 ID:???
PHPにぬるぽってありますか?

229 :nobodyさん:2005/10/21(金) 00:44:25 ID:???
>>228
ガッ

230 :nobodyさん:2005/10/21(金) 01:04:35 ID:???
>>228
is_nullpo() が is_null() のエイリアスとして定義されている.

231 :nobodyさん:2005/10/21(金) 01:18:01 ID:???
>>230
信じてしまいました。馬鹿でした。
http://www.google.com/search?hl=ja&q=is_nullpo&lr=lang_ja

232 :nobodyさん:2005/10/21(金) 01:20:20 ID:???
>>231
テラアホスwww

233 :nobodyさん:2005/10/21(金) 01:23:05 ID:???
function is_nullpo($a) { return is_null($a); }

234 :nobodyさん:2005/10/21(金) 01:35:07 ID:???
select * from table
で取り出したデータが例えば

ID   key
1   100
2   130
3   200
4   50
5   95

であるとします。
このときID=2のkeyの値が何番目に大きいかを取得するのに
スマートな方法ってありませんか
いちいちソートしないと駄目でしょうか。

235 :nobodyさん:2005/10/21(金) 01:36:09 ID:???
>>234
SQLでソートしてから取り出せば?

236 :nobodyさん:2005/10/21(金) 05:28:36 ID:???
SELECT で返って来たものって値ですか?参照ですか?

あるカラムにでかいデータが入っているとき
そのカラムをSELECTで取り出すと
そのコピーが与えられるんでしょうか
それともただの参照ですか?

後者ならいいんですが、前者だと効率悪いですよね

237 :nobodyさん:2005/10/21(金) 06:51:30 ID:???
>>236
前者(値渡し)でも効率悪くないので安心しましょう。
PHPはあなたが想像しているより幾分賢いんです。

内部ではrefcountというもので管理されていて(本来はゴミ集め用だが)、まあわかりやすい説明としては、
「文字列・配列・オブジェクトは値を書き換えようとしたときに初めてコピーが作られる」

・・・散々ガイシュツなんだけどね

238 :nobodyさん:2005/10/21(金) 06:55:43 ID:???
PHPのデータの扱いではなく、データベースのカーソルの話のような気がするが。。。

239 :nobodyさん:2005/10/21(金) 09:11:00 ID:???
>>238
236は
>返って来たもの
の話をしているようだけど。

カーソルの話ってよくわからんな。
DBサーバからソケット伝ってくる分はもちろんそのデータの大きさに応じたコストがかかるけど。
それ以上の不必要なコピーは特にないと思われ。

240 :nobodyさん:2005/10/21(金) 09:31:32 ID:???
>>236
238のいうリザルトセットのカーソルの話だとすると
それをDBMSが実装してるか、PHPのドライバが実装してるか
その辺に依存する。普通にやった場合は大抵
リザルトセットは実体をクライアント側(PHP管理下)のメモリーに持ってくるよ。

241 :nobodyさん:2005/10/21(金) 10:09:01 ID:???
>>240
リザルトセットの実体の場所なんて>>236の質問と関係ねーべ。
まさかサーバ側のメモリに配置されたデータに対して「参照かどうか」聞いてるはずないし。
(もしそうだとしたらスレ違い)

242 :nobodyさん:2005/10/21(金) 10:50:53 ID:???
まぁ、なんだ、PHPでの参照(リファレンス)というとPHPの管理下にある実体が存在するわけで、
その実体がPHPの管理下に作られた(DBから取得された)時点で
(DBからの)コピーか参照かの優劣は無くなってるな。

243 :nobodyさん:2005/10/21(金) 11:13:59 ID:+5Hvdb6f
phpというかcgi全般の質問なんですけど、
タイマーみたいな機能(一定時間毎に処理させる)を実現するにはどうしたらいいんでしょうか?
たとえば、あるファイルに日時がついていて、その日時が過ぎれば、違うフォルダに移動させる、みたいな
cgiにアクセスしたら、過ぎた日時のファイルを移動させる、という擬似的なものしか思い浮かばないんですが、
やっぱそんな感じでしか無理なんでしょうか?
わかりにくくてすいません。

244 :軟式PHP:2005/10/21(金) 11:15:58 ID:???
>>243
UNIX,Linuxならcron。
Windowsならタスクスケジューラー。


245 :nobodyさん:2005/10/21(金) 11:33:30 ID:???
>>243
pseudo-cron
http://www.bitfolge.de/pseudocron-en.html
これ思い出した.アクセスがほとんどないサイトだったら使い物にならない.
でも cron が使えないレンタルサーバとかだったらこういう方法しかない.

246 :nobodyさん:2005/10/21(金) 11:45:43 ID:???
imap_fetch_overviewでヘッダ情報を取得したんですが。
fromの値が途中で切れてしまいます。

実際のfromは下記の通りですが
common.gsc <faq@yokohama.riken.go.jp>

取得したfromはこうなってしまいます。""が付くのも謎です・・
"common.gsc"

$head = imap_fetch_overview($mbox,113);
foreach($head[0] as $key => $value)
{
print $key . ":" . $value . "<br>";
}


よろしくお願いいたしマフ

247 :軟式PHP:2005/10/21(金) 12:09:32 ID:???
>>246
それさ、そのまま出力したんじゃ<>で囲まれた部分がタグとして
認識されて表示されないんじゃないのかな?
ソースを表示して見てミソ。

248 :nobodyさん:2005/10/21(金) 12:11:43 ID:???
>>247
おお、ありがとう・・
俺レベル低っ!  orz

249 :nobodyさん:2005/10/21(金) 12:34:28 ID:???
>>248
外部から取得したデータをHTMLとして出力するときは
サニタイズするようにしたほうが身のため.

250 :nobodyさん:2005/10/21(金) 13:36:08 ID:???
phpでポートの監視は可能ですか?

251 :nobodyさん:2005/10/21(金) 13:48:25 ID:???
>>250
監視の意味する所がよく分からんが、いわゆるsocketのbindなら可能。

252 :nobodyさん:2005/10/21(金) 13:52:07 ID:???
>>251
自鯖の状態を、別のサイトから見ようとしてます。
socketのbindですか…調べてみます。ありがとうございました。

253 :nobodyさん:2005/10/21(金) 14:08:47 ID:???
httpサーバーが動いているOSの名前や種類を判別する方法ってありますか?
UNIX系とWindows系でファイルパスの区切りが/と\のように違うので
OSを判別できれば個別にプログラムで対応できるかと思いまして。

254 :nobodyさん:2005/10/21(金) 14:13:36 ID:???
>>252
その目的だとbindではなくてfopenやfile等で自鯖の適当なファイルを
読み込むスクリプトを書いてcronで回すような形になる。
でもワザワザPHPで書かなくてもwget等を使ってシェルスクリプトをcronで回した方が楽だと思う。

255 :254:2005/10/21(金) 14:16:08 ID:???
ちょっと言葉足らず。
自鯖のhttpの状態を監視したい場合の話。http以外の監視なら別の手段になるね。

256 :nobodyさん:2005/10/21(金) 14:17:07 ID:???
>>253
仮に出来たとしても
人のサーバーならやめれ
自分の管理のサーバーなら勝手にやって

257 :nobodyさん:2005/10/21(金) 14:31:02 ID:???
配布用途じゃないかなぁ。
まぁでも、あんまり必要じゃないような。

定義済みの定数
ttp://www.php.net/manual/ja/reserved.constants.php

258 :253:2005/10/21(金) 14:32:17 ID:???
>>256
一般に公開するときはレンタルサーバー(UNIX)上なんでパスの区切りは
/(スラッシュ)というのはわかっているんですが、公開する間に自鯖で
表示テストなどをするときはWindows上で動くApache+PHPで表示させて
ます。このときはパスの区切りは\(円マーク)になるんでその違いを
吸収させるスクリプトを作りたかったのですが・・・

259 :253:2005/10/21(金) 14:36:26 ID:???
>>257
PHP_OSですね。
サンクスです( ´∀`)ノ

260 :nobodyさん:2005/10/21(金) 14:41:12 ID:???
ちなみに、プログラミングやるなら、円マークとか言ってると笑われるぞ?
バックスラッシュって言うようにしといたほうがいいよ。

261 :nobodyさん:2005/10/21(金) 14:44:03 ID:???
”お金のしるし”でいいですか?

262 :nobodyさん:2005/10/21(金) 14:49:40 ID:???
バックスラッシュ書き込みたいんだが意外と難しいな・・・



↑バックスラッシュに見えるか?

263 :nobodyさん:2005/10/21(金) 14:53:19 ID:???
>>254
や、phpのお勉強がてら…。
80以外にも25と110を監視します。

$http = fsockopen($host, 80, $errmp, $errmsg, 1);
echo "http:";
if(!$http){
echo "NG" . "<br>";
}else{
echo "OK" . "<br>";

こんな感じの処理が思いついたんですが、
問題点があったらご指摘願います。

264 :nobodyさん:2005/10/21(金) 14:54:44 ID:???
>>258
・DIRECTORY_SEPARATOR (string)
・PATH_SEPARATOR (string)
http://jp2.php.net/dir
そこに書いてあるとおり拡張(ext/standard/dir.c)での定義だから
使えない環境があると思うけど。

OSの種類、名前は隠してなければPHPINFO、種類だけなら定義済み定数PHP_OS。
他にはunameコマンドの実行結果から取れる可能性もある(Unix系)。



265 :nobodyさん:2005/10/21(金) 14:56:12 ID:???
>>262
たまに\の変わりにその全角バックスラッシュ使う人がいるけど
あれはやめてほしい.. かえって見にくい.

266 :264:2005/10/21(金) 14:59:49 ID:???
つかPHPの関数使った方が上手いことやってくれそうだな<uname
http://jp2.php.net/manual/ja/function.php-uname.php

267 :nobodyさん:2005/10/21(金) 15:00:00 ID:???
>>255
Listenしてるかどうかだけならtcpで叩けば万事OKじゃん

>>258
DIRECTORY_SEPARATOR

268 :nobodyさん:2005/10/21(金) 15:05:18 ID:???
>>263
真面目にやるなら、そんな感じで各鯖のポートへアクセス。
んでも接続ブッタ切りになるので、きちんとプロトコルに従って接続終了した方がよいような。
httpならgetなりheadなり。
不真面目というか手抜きというか、psとかのプロセスのリストを取得して
確認したいプロセスが存在するかチェックするPHPスクリプトをwebサーバ経由で叩く。

269 :253:2005/10/21(金) 15:10:11 ID:???
>>267
> DIRECTORY_SEPARATOR

(*´∀`)

270 :nobodyさん:2005/10/21(金) 15:19:26 ID:???
>>269
/で統一してればWindows版のPHPは内部でちゃんと処理してくれるから問題ないよ。

271 :nobodyさん:2005/10/21(金) 15:21:15 ID:???
つまり内部じゃないんだろ

272 :nobodyさん:2005/10/21(金) 15:35:18 ID:???
PHPでSQL文は、外だし(外部ファイル化)にする事は可能なのでしょうか?

273 :253:2005/10/21(金) 15:38:16 ID:???
>>270
php.iniの設定次第でつか(,,゚д゚)

274 :nobodyさん:2005/10/21(金) 16:26:12 ID:8sbI4mJR
質問です!配列がありまして、「配列の中身が無くなるまでループ」というのはどうやるんでしょう。

ちなみに、配列は $_FILES[] です!

275 :nobodyさん:2005/10/21(金) 16:28:14 ID:???
っ PHPマニュアル

276 :nobodyさん:2005/10/21(金) 16:30:52 ID:???
>>274
おまwwwそれ基礎過ぎだってww


277 :nobodyさん:2005/10/21(金) 16:32:30 ID:8sbI4mJR
while($_FILES){
処理
}

これでできますかー?
ループなのでミスったら怖いから試せません(><)

278 :nobodyさん:2005/10/21(金) 16:41:13 ID:8sbI4mJR
誰か教えて下さい(><)

お母さんに聞いたら、2ちゃんねるならすぐ答えてくれるよって言ってたのに(><)

279 :nobodyさん:2005/10/21(金) 16:42:53 ID:???
自分用の開発環境で、動かしてみましょう。
確実に動作する事が確認できるまでは、間違っても共有鯖に上げてはいけません。

280 :nobodyさん:2005/10/21(金) 16:43:03 ID:???
聞く前に実行してみろ

281 :nobodyさん:2005/10/21(金) 16:46:14 ID:???
if (i++ > 10000) die("stop");とでも放り込んどけ

282 :nobodyさん:2005/10/21(金) 16:48:17 ID:???
みんな付き合いのいい奴だな


283 :nobodyさん:2005/10/21(金) 16:52:46 ID:???
>>277
もしループが止まらなかったらときは
急いでPCの電源ケーブルを引っこ抜けばいい.
そうすれば熱暴走による爆発炎上は避けられる.

284 :nobodyさん:2005/10/21(金) 16:53:08 ID:???
たいていの場合30秒で停止するから便利だな

285 :nobodyさん:2005/10/21(金) 16:57:41 ID:8sbI4mJR
if でやってみたら出来たんだけど、これをループでスマートにならない?(><)



if($_FILES["img1"]["tmp_name"]){
echo "ファイル1あるよ<br>";
$i++;
}
if($_FILES["img2"]["tmp_name"]){
echo "ファイル2あるよ<br>";
$i++;
}
if($_FILES["img3"]["tmp_name"]){
echo "ファイル3あるよ<br>";
$i++;
}
if($_FILES["img4"]["tmp_name"]){
echo "ファイル4あるよ<br>";
$i++;
}


286 :nobodyさん:2005/10/21(金) 17:01:17 ID:???
>>285
while(list() = each()) {
}
または
foreach(){
}


287 :nobodyさん:2005/10/21(金) 17:03:44 ID:???
foreach

288 :nobodyさん:2005/10/21(金) 17:10:31 ID:???
foreach って、二次配列で使ったことないんだけどどうすればいいのですか。

foreach($_FILES as $value){
echo $value."<br>";
}

結果

Array
Array
Array
Array


こっちが「あれ〜ぃ?」と言いたいよ。

289 :nobodyさん:2005/10/21(金) 17:13:28 ID:???
いいからマニュアル読め

290 :nobodyさん:2005/10/21(金) 17:15:50 ID:???
マニュアルとリファレンス本と母親の知識とを総合した結果であります。

291 :nobodyさん:2005/10/21(金) 17:18:53 ID:???
(´-`).。oO(すげえ母ちゃんだな・・・)

292 :nobodyさん:2005/10/21(金) 17:23:53 ID:???
テキストファイル($log_file)から最初の1行目だけ読み込みたいと思っています。
抽出した文字列は$ip_addressという変数に格納したいです。
テキストファイルの最後に改行マークがあっても無くても無視したいのですが
それを実現するもっとも簡単な方法といったらなにがあるでしょうか?

$ip_address = @readfile($log_file);

この方法で読み込むと、文字列以外に意味不明な数字が最後に
付与されてしまいました(おそらく読み込んだバイト数?)

293 :nobodyさん:2005/10/21(金) 17:25:05 ID:???
>>288
不覚にもワロタ

294 :nobodyさん:2005/10/21(金) 17:25:07 ID:???
分からんかったらこれでもつかっとけ
for($i=1;$i<5;$i++){
$img = "img".$i;
if($_FILES[$img]["tmp_name"]){
echo "ファイル".$i."あるよ<br>";
}
}

295 :nobodyさん:2005/10/21(金) 17:25:07 ID:???
>>288
foreach ($_FILES as $array) {
echo $array["tmp_name"]."<br>";
}


296 :nobodyさん:2005/10/21(金) 17:29:31 ID:???
やっべ、>>295に感動した。まさにコレをしたかったんです!

ありがとうございまっする(≧▽≦)フォー

297 :nobodyさん:2005/10/21(金) 17:31:32 ID:???
>>292
とりあえず
$ip_address = trim(fgets(fopen($log_file, "r")));

298 :nobodyさん:2005/10/21(金) 17:34:54 ID:tv2tmgT4
×××○○○××××××
×××△△△××××××
×××□□□××××××
×××☆☆☆××××××
・・・
(この先同じような形がずっと続く)

上の文字列を下のような形に書き換えるには
どういう正規表現を使ったらいいのでしょうか?
×××○○○××××××○○○
×××△△△××××××△△△
×××□□□××××××□□□
×××☆☆☆××××××☆☆☆
説明が下手ですみません



299 :nobodyさん:2005/10/21(金) 17:37:08 ID:???
>>234
SQLでWHEREしてカウント

300 :nobodyさん:2005/10/21(金) 17:39:35 ID:???
>>297
trimなんて便利な関数が有ったんですか。
どうもです

301 :nobodyさん:2005/10/21(金) 17:48:39 ID:???
>>298
同じ記号は同じ文字を表してる?
たとえば
×××○○○×××××× なら
AAABBBAAAAAA
っていう具合?
もうちょっと具体的な文字列を教えてもらえると答えやすいと思う.

302 :nobodyさん:2005/10/21(金) 17:55:53 ID:???
アミノ酸とか遺伝子系かしら・・

303 :nobodyさん:2005/10/21(金) 18:01:29 ID:tv2tmgT4
アマゾンですた・・
<img src="http://rcm-images.amazon.com/images/P/4532074045.09.LZZZZZZZ.jpg" border="0">

<img src="http://rcm-images.amazon.com/images/P/4582277276.09.LZZZZZZZ.jpg" border="0">

<img src="http://rcm-images.amazon.com/images/P/4753392058.09.LZZZZZZZ.jpg" border="0">

<img src="http://rcm-images.amazon.com/images/P/4785611812.09.LZZZZZZZ.jpg" border="0">
<img src="http://rcm-images.amazon.com/images/P/4794212402.09.LZZZZZZZ.jpg" border="0">

<img src="http://rcm-images.amazon.com/images/P/4806756180.09.LZZZZZZZ.jpg" border="0">


304 :nobodyさん:2005/10/21(金) 18:09:07 ID:tv2tmgT4
すいません、説明不足でした。
imgタグにリングをはりたいんです。
<a href=http://www.amazon.co.jp/exec/obidos/ASIN/4806756180><img src="http://rcm-images.amazon.com/images/P/4806756180.09.LZZZZZZZ.jpg" border="0"></a>


305 :nobodyさん:2005/10/21(金) 18:15:30 ID:???
>>303
そのデータはどういうふうに存在してるの?
HTMLの中?
<html><body>hogehoge<img src="http....

$img = '<img src="http....
みたいにそのデータだけが入ってたり,配列にひとつひとつ入ってたりしないよね?


306 :nobodyさん:2005/10/21(金) 18:25:47 ID:tv2tmgT4
それ以外なにもないhtmlファイルかtxtファイルどちらでも
よいです。
file関数でよみこみ、配列を分解するとき、変数の
10桁の数字を<a href・・・にくっつける
という方法がありますけど、どうやってそれをするか
分かりません



307 :nobodyさん:2005/10/21(金) 18:28:07 ID:tv2tmgT4
PHPの正規表現のそういうとこが
他の言語よりなんかむずかしく感じます


308 :nobodyさん:2005/10/21(金) 18:29:35 ID:???
CGI版PHPについて質問させてください。PHPのバージョンは5.0.3です。
#!/usr/local/bin/php
<?php
echo 'ぬるぽ';
?>
これはLinux上では正常に動作しましたが、Windows上では(Premature end of script headers)ヘッダーが変だと警告がでました。そこで、
#!C:\php\php
Content-Type: text/html

<?php
echo 'ぬるぽ';
?>
こうすると(ぬるぽ)正常に動作しましたが、今度はLinux上ではContent-Typeから全部出力されてしまいました。

Windows上で初めの方法でも動作するようにするにはどうすればよいのですか?

309 :nobodyさん:2005/10/21(金) 18:46:25 ID:???
可変数個の引数を取る関数をPHPで記述するにはどうしたらいいでしょうか?
C言語で言うargc、argvのような機能があれば嬉しいです。

310 :nobodyさん:2005/10/21(金) 18:53:34 ID:???
   〃∩ ∧_∧
   ⊂⌒( ´・ω・)くぜんぶマニュアルに書いてあったでつ
     `ヽ_っ⌒/⌒c  ttp://www.php.net/manual/ja/functions.arguments.php


311 :nobodyさん:2005/10/21(金) 19:06:54 ID:???
>>310
どうもでつ( ´・ω・)っ

312 :nobodyさん:2005/10/21(金) 19:16:10 ID:???
結局>>303-304ぐらいの正規表現も書けない人間が集まっているスレです。

つ preg_replace

313 :nobodyさん:2005/10/21(金) 19:20:26 ID:tv2tmgT4
>>312
preg_replaceってperlの正規表現が
PHPで使えるような関数だったっけ?
ずっと前それでやったけど
結局できないままです。

できるんだったら教えてください


314 :nobodyさん:2005/10/21(金) 19:39:33 ID:???
出来るからマニュアル片手にやってみれ

315 :nobodyさん:2005/10/21(金) 19:44:28 ID:???
>>313
つ 詳説正規表現

316 :nobodyさん:2005/10/21(金) 20:00:42 ID:tv2tmgT4
>>315
それ一応もってるんですけど
読むひまがなくて・・

317 :nobodyさん:2005/10/21(金) 20:07:19 ID:???
>>316
ここ見てる暇があるなら読めよwww

318 :nobodyさん:2005/10/21(金) 20:10:13 ID:???
回答者がそろそろ疲れて(呆れて)きたようです

319 :nobodyさん:2005/10/21(金) 20:12:11 ID:???
というか、正規表現の質問だからスレ違いな罠

320 :nobodyさん:2005/10/21(金) 20:12:46 ID:???
何だこの流れは

321 :nobodyさん:2005/10/21(金) 20:12:57 ID:???
そこまで言うなら貼ってやれよ

正規表現道場@2ch Part4
http://pc8.2ch.net/test/read.cgi/php/1105930285/

322 :nobodyさん:2005/10/21(金) 20:54:12 ID:HUuZEDtu
アホな質問ですいません。超初心者なもので。ただいま勉強中です。

データベース(mysql)の更新をphpでさせようと
input type="text" size="3" name="test" value=""
value値にnullを設定してみました。
フィールドタイプがtextになっていれば、null値が代入されるのですが、
フィールドタイプがintの所だと、0になってしまうのです。
null値を代入したいときはどうすればいいのでしょうか。

323 :nobodyさん:2005/10/21(金) 20:57:34 ID:???
>>322
PHPの質問じゃない。
MySQLのスレ池。

324 :nobodyさん:2005/10/21(金) 20:58:07 ID:HUuZEDtu
>>322 フィールドタイプがtextでもnullではありませんでした。0ではないだけで、唯の空白でした。

325 :nobodyさん:2005/10/21(金) 20:59:03 ID:HUuZEDtu
>>323 そうでしたか。ありがとうございました。そっちへ行ってみます。

326 :nobodyさん:2005/10/21(金) 21:11:34 ID:???
>>322
NULLはNULLであって、NULL以外の何物でもない

327 :nobodyさん:2005/10/21(金) 21:24:35 ID:HUuZEDtu
>>326 value="null" ならどうなんでしょうか。

やっぱりダメでした。

スレ違いなのにすいません。

328 :nobodyさん:2005/10/21(金) 21:27:16 ID:???
>>327
だからvalueが空だったらDBには「NULL」を入れるのだよ。

329 :nobodyさん:2005/10/21(金) 21:37:59 ID:???
長さ0文字の文字列≠NULL値≠文字列"NULL"
基本のような気が

330 :nobodyさん:2005/10/21(金) 21:49:27 ID:???
hogeDBにhogetable1,hogetable2があって
hogetabale1には
a b d
1 2 3
5 6 7
8 9 0

hogetable2には

ggg
hhh
iii

と入ってた場合
while ($row = mysql_fetch_assoc($result){
echo<<<HOGE
<p>$row[a]</p>
<p>$row[b]</p>
<p>$row[c]</p>
<p>$row[d]</p>
HOGE;
}
これを表示するにはどうすれば良いのでしょうか?

331 :nobodyさん:2005/10/21(金) 21:52:12 ID:???
>>330
つ JOIN


ってか、スレ違い大杉

332 :nobodyさん:2005/10/21(金) 21:56:20 ID:???
今日はDB関連多いね.

333 :330:2005/10/21(金) 21:59:25 ID:???
>>331
sql文で解決の話だったのね(´・ω・`)
ありがd

334 :nobodyさん:2005/10/21(金) 22:00:11 ID:HUuZEDtu
>>328 どうすればvalueを空に出来ますか?
ホント馬鹿ですいません

335 :nobodyさん:2005/10/21(金) 22:06:27 ID:???
>>334
空は空って事じゃね?

336 :nobodyさん:2005/10/21(金) 22:11:12 ID:???
ああ,そうか,つまり空っぽってことだな?

337 :nobodyさん:2005/10/21(金) 22:14:34 ID:???
>>334
いい加減スレ違いだからどっか行ってほしいんだけど、とりあえずね。

>どうすればvalueを空に出来ますか?

valueを空にするんじゃなくて、
valueが空だったら、DBにNULLを入れる

と、言っておろうが、このタワケ!



338 :nobodyさん:2005/10/21(金) 22:16:19 ID:???
>>334
これあげるから、どっか行ってね。

$value = $_GET['test'];
$value = ($value == '') ? 'NULL' : "'" . mysql_escape_string($value) . "'";

$sql = 'INSERT INTO hoge(column) VALUES(' . $value . ')';
mysql_query($sql...

339 :nobodyさん:2005/10/21(金) 22:21:00 ID:HUuZEDtu
ありがと

340 :nobodyさん:2005/10/21(金) 22:21:41 ID:???
(´-`).。oO(馬鹿を免責にしてるな・・・)

341 :nobodyさん:2005/10/21(金) 22:26:37 ID:???
結局丸ごとソースを書いてもらえるのを待っていたという事だな…

342 :nobodyさん:2005/10/21(金) 22:26:58 ID:???
馬鹿です,とか超初心者です,とか言われると,
答えたくなくなるね.
むしろ脅すぐらいの勢いで質問されたい.

343 :nobodyさん:2005/10/21(金) 22:35:04 ID:???
やい、コラ! テンメェ教えろ!
ボケ!カス!アホンダラ!
教えねぇと、けつから手ぇ突っ込んで、奥歯ガタガタ言わせたろうか?
アンッ?

344 :nobodyさん:2005/10/21(金) 22:43:14 ID:???
>>343
is_nullpo()

345 :nobodyさん:2005/10/21(金) 23:38:22 ID:???
>>342
ですなぁ・・・

関数フニフニを使ってパフパフさせたいです。
これこれのエラーが発生しました。
エラーメッセージはプヨプヨで、その発生ラインは69です。
69の前のソースはプルプルです。見てください。
どのようにして解決すればいいのでしょうか?

せめてこれくらい提示してほしいな。答えにくい質問多すぎ。。。

346 :nobodyさん:2005/10/21(金) 23:43:06 ID:???
このスレは、エスパー能力を開花させようと日々努力する人々が集うスレです。

347 :nobodyさん:2005/10/21(金) 23:44:05 ID:???
関数フニフニを使ってパフパフさせたいです。
これこれのエラーが発生しました。
エラーメッセージはプヨプヨで、その発生ラインは69です。
69の前のソースはプルプルです。見てください。
どのようにして解決すればいいのでしょうか?

348 :nobodyさん:2005/10/21(金) 23:45:47 ID:???
>>347
プヨプヨというエラーメッセージはフニフニをパフパフさせる時に起こるため、
ライン69以前のプルプルをブルブルにして改善すればよいでしょう。

349 :nobodyさん:2005/10/21(金) 23:47:30 ID:???
>>348
> プヨプヨというエラーメッセージはフニフニをパフパフさせる時に起こるため、

そうさせたいと書いているんですが

350 :nobodyさん:2005/10/21(金) 23:52:06 ID:???
hogehogeの類と察することもできないのか・・・

351 :nobodyさん:2005/10/21(金) 23:54:40 ID:???
ってもうレスあったか


352 :nobodyさん:2005/10/21(金) 23:54:42 ID:???
↓下らねぇ質問

353 :nobodyさん:2005/10/22(土) 00:01:01 ID:???
先生、あそこが黒いんです。どうしてですか?

354 :nobodyさん:2005/10/22(土) 00:02:07 ID:???
良スレの予感

355 :nobodyさん:2005/10/22(土) 00:10:27 ID:???
↓百済ねぇ質問

356 :nobodyさん:2005/10/22(土) 00:16:50 ID:???
print より echo を使ったほうが地球にやさしいって本当ですか?

357 :nobodyさん:2005/10/22(土) 00:17:41 ID:???
ベンチとって出直して来い

358 :nobodyさん:2005/10/22(土) 00:35:36 ID:???
1)-----------------
print 'hogehoge';

2)-----------------
echo 'hogehoge';

3)-----------------
?>
hogehoge
<?php
-------------------

便秘に効くのはどれが一番?

359 :nobodyさん:2005/10/22(土) 09:27:31 ID:???
ごぼうくっとけ

360 :nobodyさん:2005/10/22(土) 10:33:18 ID:JcGskMr8
ベンチとれと言われそうだけどeregとpreg_matchはどっちが早いの?eregが早いと聞いたが誰か確認した人いないの?

361 :nobodyさん:2005/10/22(土) 10:36:27 ID:???
eregは僕だけのものです。誰にも渡しません。

362 :nobodyさん:2005/10/22(土) 10:37:56 ID:???
>>360
全ての条件においてベンチとれ

363 :nobodyさん:2005/10/22(土) 11:51:49 ID:???
最近ベンチとれ厨大量発生だな
「ググれ」と同じ感覚で使ってるらしいな

364 :nobodyさん:2005/10/22(土) 12:30:22 ID:???
>>360
マニュアルも読まないで「聞いたが」とは素晴らしいな

365 :nobodyさん:2005/10/22(土) 12:39:48 ID:???
マニュアルは前のエンジンのときに書かれたやつだからね

366 :nobodyさん:2005/10/22(土) 12:40:35 ID:???
>>358 のなぞなぞがわかりません<>

367 :nobodyさん:2005/10/22(土) 12:44:15 ID:???
>>363
最近2chに来たのかな?

368 :363:2005/10/22(土) 12:47:49 ID:???
え、俺?

369 :nobodyさん:2005/10/22(土) 13:07:30 ID:???
クリックしたら写真とその下にその写真のEXIFを表示するページへのリンクをPHPで
作りたいんだけどどうしたらいいとおもう?

普通のリンクって
<a href="hoge.html">俺のここを押してみろ</a>
こんな感じでしょ。

それに写真のファイル名やらを関数の引数か何かで渡してやって表示させてやりたい。

370 :nobodyさん:2005/10/22(土) 13:10:59 ID:???
<a href="hoge.php?name=jagi">俺の名前を言ってみろ</a>

371 :nobodyさん:2005/10/22(土) 13:13:48 ID:???
>作りたいんだけどどうしたらいいとおもう?
何か模索しているような口ぶりで実は丸投げ君

372 :369:2005/10/22(土) 13:17:07 ID:???
>>370
おれも最初それを考えた。
だが可変数個の複数の写真を縦列で並べて表示したいときどうすれば
いいんだということで見事に行き詰まった。

373 :369:2005/10/22(土) 13:20:01 ID:???
写真に加え、2,3コメントも併せて表記したくなる可能性もある。
関数の引数なら可変数個の実装は用意だし、変数の末尾が".jpg"で
終わるか否かで写真なのかコメントStringなのか容易に判別が付く。

そこで関数でパラメータを受け付けられないかと思ったわけだが
それをリンクとどう絡めたらいいかでさっぱり分からなくなっちまった・・・

374 :nobodyさん:2005/10/22(土) 13:24:09 ID:???
>>369
>>373
頑張れ
応援してる

完成したらここで発表するといい
【PHP】自作スクリプト発表会
http://pc8.2ch.net/test/read.cgi/php/1017456911/l50

375 :nobodyさん:2005/10/22(土) 13:27:20 ID:???
応援だけかよwww

376 :369:2005/10/22(土) 13:27:51 ID:???
(´・ω・`)ショボーン

377 :nobodyさん:2005/10/22(土) 13:31:12 ID:???
>>375
そもそも「"PHPの"質問」になってないんで、それ位しかできません
アルゴリズムの問題なら他の言語でもできるわけで

378 :369:2005/10/22(土) 13:33:01 ID:???
すこし難しすぎたか(´・ω・`)・・・

379 :nobodyさん:2005/10/22(土) 13:33:14 ID:???
写真の情報とかコメントとかはDBか何かの中に入ってるの?

<a href="image.php?name=foo.jpg">画像リンク1</a>
<a href="image.php?name=bar.jpg">画像リンク2</a>
<a href="image.php?name=hoge.jpg">画像リンク3</a>

ってあって,
image.php で,$_GET['name'] 使って情報とコメント取得してごにょごにょ・・
という単純な話ではない?

380 :nobodyさん:2005/10/22(土) 13:39:19 ID:???
必要な条件は最初から言えと何度言えb(ry
file%5B%5D=file1&file%5B%5D=file2...
$_GET

381 :369:2005/10/22(土) 13:39:29 ID:???
うん。データベース云々という話は全くない状態

$_GET['name']

で任意の数の複数のパラメータを受け取れればそれに超したことは無いんだけど無理歩でしょ?

382 :nobodyさん:2005/10/22(土) 13:43:10 ID:???
>>380
> file%5B%5D=file1&file%5B%5D=file2...
> $_GET

( ゚д゚)ポカーン

383 :nobodyさん:2005/10/22(土) 13:49:20 ID:???
>>381
>$_GET['name'] 
>
>で任意の数の複数のパラメータを受け取れればそれに超したことは無いんだけど無理歩でしょ? 

やろうと思えばオブジェクトだろうが多次元配列だろうが突っ込めますけど?

<a href="image.php?name1=aaa.jpg">画像リンク1</a> 
<a href="image.php?name1=bbb.jpg&name2=ccc.jpg&name3=ddd.jpg">画像リンク2</a> 
<a href="image.php?name1=ddd.jpg&comment1=氏ね">画像リンク3</a>

こういうこと? 
何をやろうとしてるのか理解できないです<>

384 :nobodyさん:2005/10/22(土) 13:58:42 ID:???
なにやら昨日のDB関連の質問の香ばしさを感じますな

385 :nobodyさん:2005/10/22(土) 14:00:09 ID:???
>>370
ヂャギー

386 :nobodyさん:2005/10/22(土) 14:04:04 ID:???
転用自由なXMLパーサー誰か作ってませんか?

387 :369:2005/10/22(土) 14:06:06 ID:??? ?
>>383
そうそう。そんな感じでいくつでも画像ファイルを加えていったり
気が向いたらコメントもあわせて表記していきたいのよ。

でもそれだと受信する方のPHPでそれぞれのパラメータにあらかじめ対応
させておく必要があるのね。

388 :nobodyさん:2005/10/22(土) 14:10:22 ID:???
配列使えよ

389 :nobodyさん:2005/10/22(土) 14:18:26 ID:???
>>387
>>380が言ってるようにやってみな
1.php
<a href="2.php?file%5B%5D=file1&file%5B%5D=file2&str%5B%5D=str1&str%5B%5D=str2">link</a>
2.php
print_r($_GET);

390 :nobodyさん:2005/10/22(土) 14:29:00 ID:???
>>387
複数のファイル名を URL に埋め込むのは良いとしても,
コメントを埋め込むのはどうかと思うよ?
コメントって画像ファイルに対して追加されるんでしょ?
それなら image.php のほうで,画像ファイル名を元にコメントを引っ張り出せるよね?

<a href="image.php?files=aaa.jpg,bbb.jpg,ccc.jpg">画像リンク</a>
ってあって,
@ image.php
$files = explode(',', htmlspecialchars($_GET['files']));
foreach ($files as $file) {
     $comment = getComment($file);
     // 以下,各々のファイルに対する処理
     ......
}
でいいと思うんだけど.

391 :369:2005/10/22(土) 16:14:51 ID:??? ?
>>389
> 1.php
> <a href="2.php?file%5B%5D=file1&file%5B%5D=file2&str%5B%5D=str1&str%5B%5D=str2">link</a>
> 2.php
> print_r($_GET);

こ、これはいったい何?
?file%5B%5D=
って文字列初めてみた・・・。
ところでfile1、file2にJPEGファイルを、st1, str2にコメントを
かけばいいのかな?

>>390
> <a href="image.php?files=aaa.jpg,bbb.jpg,ccc.jpg">画像リンク</a>
> $files = explode(',', htmlspecialchars($_GET['files']));

そうか、この手があったか!区切り文字を決めて受け手のPHP側でその文字を
参考にセパレートしていけばいいんだよね。それなら画像ファイル名と
コメントを順番に羅列していけばいいだけになる。配列とかオブジェクトとか
面倒なものは使わずにすむね。それこそ「つれづれなるままに」だし。

392 :nobodyさん:2005/10/22(土) 16:21:20 ID:???
>>386
「転用」だけでは分からない.
転用したものを商品として売るのか無料で公開するのか,
あるいは単にバンドルするだけなのか..

PHP License でいいならこの辺.
http://pear.php.net/package/XML_Parser
http://pear.php.net/package/XML_Serializer

393 :369:2005/10/22(土) 19:46:26 ID:???
>>390
重ねて礼をいわせてくれ。
あんた天才やな( ゚Д゚)

394 :nobodyさん:2005/10/22(土) 20:48:15 ID:???
>>393
もう、恥ずかしいから出てくるなよ。

395 :nobodyさん:2005/10/22(土) 21:14:23 ID:???
馬鹿に天才と言われてもなぁ…

396 :nobodyさん:2005/10/22(土) 21:34:48 ID:???
なーんか下らねぇ質問書き込まれないかなぁー

397 :nobodyさん:2005/10/22(土) 21:39:05 ID:???
下らねぇ椰子からの質問は書き込まれるんだけどね…

398 :軟式PHP:2005/10/22(土) 22:05:09 ID:???
お前らヒドスw

399 :nobodyさん:2005/10/22(土) 22:25:22 ID:???
すいません、PHPでCを書きたいんですがどうしたらいいですか?

400 :nobodyさん:2005/10/22(土) 22:28:17 ID:???
>>399
echo 'C';

401 :nobodyさん:2005/10/22(土) 22:32:01 ID:???
>>400
感動した

402 :nobodyさん:2005/10/22(土) 22:52:31 ID:???
pngにするにはどうしたらいいんですか?

403 :nobodyさん:2005/10/22(土) 22:55:26 ID:???
ImageMagick等の外部コマンドを使うのが楽。

404 :nobodyさん:2005/10/22(土) 23:03:26 ID:???
>>402
$filename = preg_replace('/\..+$/', '.png', $filename);


405 :nobodyさん:2005/10/22(土) 23:08:55 ID:???
>>404
GJ

406 :nobodyさん:2005/10/22(土) 23:09:25 ID:???
なんか、下らねぇ椰子が答えるスレになってきたな…

407 :nobodyさん:2005/10/22(土) 23:20:34 ID:???
何を今更

408 :nobodyさん:2005/10/23(日) 00:22:44 ID:???
>>406
ワロス

409 :nobodyさん:2005/10/23(日) 00:40:48 ID:???
質問です。

アクセスした際にテキストファイルのサイズをチェックし、想定よりデータが追加されるまで10秒程度処理をポーリングするプログラムを組みました。
具体的には下の通りです。

for($i = 0; $i < 5; $i++)
{
if ($nFileSize >= filesize($strFileName))
{
 sleep(2);
 continue;
}
//ここに読み込む処理とprintとreturn
}// end of while

ですが、これだとこのポーリング中にファイルの更新があってもfilesizeが更新されないようなのです。
もしかしてPHPは、(負荷軽減のために?)一度取得したfilesizeをキャッシュしてしまうのでしょうか?
回避方法があれば知りたいです。よろしくお願いします。

410 :nobodyさん:2005/10/23(日) 00:41:01 ID:???
>>406
ワロス

411 :nobodyさん:2005/10/23(日) 00:41:51 ID:???
>>409
まずマニュアルぐらいよめ。
http://jp2.php.net/manual/ja/function.filesize.php

412 :nobodyさん:2005/10/23(日) 01:12:52 ID:???
>>409
つ [clearstatcache]

413 :nobodyさん:2005/10/23(日) 01:18:50 ID:???
>>409
>もしかしてPHPは、(負荷軽減のために?)一度取得したfilesizeをキャッシュしてしまうのでしょうか? 

ここまで予測できてるのに答えにたどりつけなかったのはなぜ・・・


414 :nobodyさん:2005/10/23(日) 01:27:51 ID:???
>>411-413
ありがとうございます。
初心者向けサイトで勉強中だったもので、マニュアルがネット上にあるとは…。
ブックマさせていただきましたので、今後はそこ読んでなんとかしてみます。

415 :nobodyさん:2005/10/23(日) 03:48:56 ID:???
関数名で検索すればマニュアルくらいすぐ見つかりそうなもんだけどなぁ・・・
まあ特にテンプレを用意していないこのスレと、
スレタイに「質問」と入っていない本質問スレの問題もあるんだろうけど

416 :nobodyさん:2005/10/23(日) 04:55:40 ID:b9OcfJpc
MySQL使う場合って、PHPより先にインストールしないとダメなの?
MySQLは単独で動くんだけど、PHPから接続が出来なくて。

417 :nobodyさん:2005/10/23(日) 04:59:01 ID:???
>>416
PHPのインストールの仕方にもよる。
ソースインストールでMySQL拡張を静的に有効にする場合は
MySQL(のクライアントライブラリ)を先にインストールしとかないと駄目だね。

418 :nobodyさん:2005/10/23(日) 05:18:42 ID:b9OcfJpc
>>417
rpmインストールでも、MySQLをPHPより先にインストールしないと駄目?

419 :nobodyさん:2005/10/23(日) 06:47:40 ID:ulqHd62c
PHPでタイマーみたいな事って出来ますか?
決められた時刻に処理を実行するみたいな・・・・

420 :nobodyさん:2005/10/23(日) 08:24:47 ID:???
>>419
cronジョブ

421 :nobodyさん:2005/10/23(日) 08:42:38 ID:VoqKVXZC
>>415
禿同。

【php】part29【php】
http://pc8.2ch.net/test/read.cgi/php/1120611474/

には早く埋まって欲しい(orできれば落ちて欲しい)ものだ。
今の本スレ立って以来700レス弱の間に、くだスレはすでに5スレ1000まで消費+このスレも消費し尽くしそうな勢いという異常な状況。
みんな、スレタイは大事だよ。

422 :nobodyさん:2005/10/23(日) 08:55:41 ID:???
ここが本スレで良いじゃん。



423 :421:2005/10/23(日) 09:00:33 ID:VoqKVXZC
まあそれはさておき、次の本スレ(part30)にはFAQなんかもあるといいのでは?

・ブラウザに何も表示されないんだけど・・・ → error_reporting、display_errors、log_errors
・include/requireに?a=b&c=dのようなパラメータつけたい → できません
・$a1,$a2,$a3...はどうしたら? → 可変変数・・・というかむしろ配列使え
・echo "$arr['hoge']['fuga']"; がうまくいかない → {おっぱい括弧}でくくれ
・echo?print? → echoはコンマ区切りで書ける。printは関数。パフォーマンスは気にするな
・値渡し・参照渡しのパフォーマンス → これまた気にするな
・csvやtsvを扱いたい → まずはfgetcsv
・ファイル入出力関数でリモートファイル扱う際の限界 → fsockopenでソケット通信
・一定時間ごとに何かしたい → cron
・画像処理一般 or GDの限界 → ImageMagick
・画像・音・動画はファイルで保存?DBに保存? → 好きにしてください
・クッキーの情報をユーザから隠したい → セッション使え

あたりの質問は頻出と言える希ガス。(他にも頻出するものけっこうありそう)
実際テンプレに載せるならもっと丁寧に書くべきだが、まあとりあえず案として。
DB、OO、PEAR、フレームワーク、テンプレート、正規表現、などの質問は誘導って感じの方向かな。

424 :421:2005/10/23(日) 09:02:24 ID:???
>>422
ああ、たしかにそうだな。こっちが本スレな雰囲気になりつつあるか・・・。

425 :nobodyさん:2005/10/23(日) 09:21:57 ID:???
>>418
インストールの方式がrpmを利用してても、
その辺はそのrpmのパッケージの作りによるが。

まあRHELの公式のパッケージあたりだと、後からで問題ない。
必要なのは
・php本体のパッケージ
・php-mysqlパッケージ(PHPのMySQL拡張のためのパッケージ)
・MySQL-serverのパッケージ
あとMySQL-clientにも依存してたかも(libmysqlパッケージってなってるかも)
依存関係はrpm使ってたら注意がでるので、解消しながら入れればいい。
yumを使ったrpmパッケージ管理の場合は俺は良くわからん。

426 :nobodyさん:2005/10/23(日) 09:23:05 ID:???
それじゃ次スレの>>1は仕切りなおしか。
いずれにせよテンプレはしっかりしたものが要るんジャマイカ?
今のままだと、>>423みたいな質問が繰り返されるってのも去ることながら、

「このスレってスレタイと合ってなくね?」

「本スレのスレタイがね・・・」

というやりとりも定期的に繰り返されることになる悪寒。

427 :nobodyさん:2005/10/23(日) 09:45:05 ID:???
質問するやつぁテンプレなんか見るわけない罠

428 :nobodyさん:2005/10/23(日) 09:58:12 ID:FVsmFciD
smartytとの連携なのですが

[$arr]
0 => Array (2)
main => Array (13)
id => 1
date => 2005/10/19(Wed) 12:52:36
res => Array (2)
0 => Array (12)
id => 2
date => 2005/10/19(Wed) 14:10:04
1 => Array (12)
id => 3
date => 2005/10/19(Wed) 14:18:44

このような連想配列をテンプレート側で表示する場合
.tpl側にはどのように記述するのでしょうか

{section name=main loop=$arr}
ID: {$arr[main].main.id}
DATE: {$arr[main].main.date}<br>
{section name=res loop=$arr[main].res}
ID: {$arr[main][reply].res.id}
DATE: {$arr[main][reply].res.date}<br>
{/section}
<hr>
{/section}

こうした場合main表示は問題なく、resのループ回数も合いますが
res の方だけ id date などの値が入りません・・

429 :nobodyさん:2005/10/23(日) 10:01:55 ID:FVsmFciD
すいません、[reply]は[res]に訂正です

430 :nobodyさん:2005/10/23(日) 10:09:25 ID:FVsmFciD
すいません解決しました
{$arr[main].res[reply].id}
こういう書式みたいです

431 :nobodyさん:2005/10/23(日) 10:09:43 ID:???
echoやprintで出力しようとしたものって、phpスクリプトの実行が終わってから
ブラウザに出力されているように感じるのですが
それをphpスクリプトの実行途中に出力させる関数ってないですかね?

432 :nobodyさん:2005/10/23(日) 10:15:14 ID:???
>>427
質問者がテンプレ読もうが読まなかろうが、読んでない香具師には>>1嫁ですむのがテンプレの意義

433 :418:2005/10/23(日) 10:15:24 ID:???
>>425
>・MySQL-serverのパッケージ

これインストールしてなかったよー。すんごく初級レベルで恐縮だけど、マジ超助かった。

434 :nobodyさん:2005/10/23(日) 11:14:34 ID:???
テンプレ案いいね.

435 :nobodyさん:2005/10/23(日) 11:35:22 ID:???
そのテンプレは長すぎるな。良く質問されるのを厳選しないと。
初め少なめで必要に応じて増やす形にしないと1-100までテンプレという事態になって良い情報が埋もれるよ。

質問する前に
・マニュアルを嫁
・マニュアルを検索汁
・ググれ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

質問テンプレ
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc)
例:requireとinclude
・内容
例:requireとincludeはどう違うのですか?

・回答者は>>(アンカー)をつける。

436 :nobodyさん:2005/10/23(日) 11:37:06 ID:???
テンプレに反対するわけではないけど、
あまりにも、基本的な質問をしてくる奴に、
皆でよってたかって「親切に」攻撃する、
そんな一連の流れが、ボキは好きだなぁ…
そんな流れが少なくなるのはチト寂しい…


437 :nobodyさん:2005/10/23(日) 11:51:22 ID:???
くだスレはそのままで、本スレにテンプレを持っていくほうが良いかもな。

追加
・正規表現については正規表現道場スレで
・Smartyについてはこの板を検索
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)

こんなのはどうだろう。
・何も出力されない、エラーメッセージが出ない
error_reporting、display_errors、log_errors
・echo "$arr['hoge']['fuga']"; がうまくいかない
{おっぱい括弧}でくくれ
・Perlのようにprintに複数の引数を渡したい
echoを使う
・csvやtsvを扱いたい
まずはfgetcsv
・ファイル入出力関数(fopen等)でリモートファイルを扱う際の限界
fsockopenでソケット通信で解決
・一定時間ごとに何かしたい
cron、タクススケジューラ
・画像・音・動画はファイルで保存?DBに保存?
好きにしてください
・クッキーの情報をユーザから隠したい
セッション使え、ただしクッキーとセッションは仕組みが違うから同じように扱うな

438 :nobodyさん:2005/10/23(日) 12:06:13 ID:???
すみませんが、>>308についてお分りになる方はいらっしゃいませんか。

439 :nobodyさん:2005/10/23(日) 12:10:39 ID:???
マニュアル読め



テンプレ読め

になるだけじゃ・・・

440 :nobodyさん:2005/10/23(日) 12:34:27 ID:???
くだ質の存在意義について

441 :nobodyさん:2005/10/23(日) 12:35:36 ID:???
>>439
そりゃそうかもしれんが、FAQなんてあって害になるわけでもないでしょ。

本スレにはきちんとテンプレ用意して、質問者・回答者ともにレベル向上の方向で、
そしてここのくだスレでは>>436のような要望にもお答えしつつ(?)、マターリやったらいいんでない?
時には本スレから誘導されちゃう質問者とかも、いじるなりなんなりしてやってくれよ。

とにかく本スレが死んでるに近いから、このスレでいわゆる「くだらなくない」有益な情報まで埋もれやすくなっているのはイクナイと思いマッスル。

ところで、以前の本スレのテンプレにあった「エスパーきぼんぬの八カ条」も個人的にはけっこう好きだったんだがw
(まあ微妙っちゃ微妙か・・・)

442 :nobodyさん:2005/10/23(日) 12:44:01 ID:???
>>438
回答が無かった状況も鑑みると
PHP上での話なら「書き換えず実行する方法はない」
もしくは、あえてするなら、
 c:\usr\local\bin\にphp.exeを配置する
程度ではないかと。

私はいつも書き換えてますが・・・そうしょっちゅう書き換えるもんでもないし。
サーバーの設定によってはできるのかも知れませんが(私はそちら方面にはあまり明るくないので)。

443 :nobodyさん:2005/10/23(日) 12:54:22 ID:???
>>441
>ところで、以前の本スレのテンプレにあった「エスパーきぼんぬの八カ条」も個人的にはけっこう好きだったんだがw 
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
詳しく.

444 :nobodyさん:2005/10/23(日) 13:10:48 ID:???
漏れも好きだったんで探してきた
作った人GJ
----
「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。
1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
  目の前で生じている現象をそのまま具体的に書くなどもっての外。
  事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
  「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
  「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
  "どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
  「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
  示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
 絶対に避ける。
8. 情報は小出しに。

「エスパーきぼんぬ」 補足
上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。
そのような悪い質問に対して答えられるのは,
質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ,
という意味であって,決して,高度な技術を持つユーザに対する尊称でなはい。
まちがっても「エスパーの方,回答お願いします」
なんて痛い質問するな。つうか氏ね。

445 :nobodyさん:2005/10/23(日) 13:10:55 ID:???
つーか、次の本スレは
>>1はほぼ今の(part29の)テンプレ(短く基本ルールを明示)
>>2に過去スレ・関連スレ
>>3以降にズラーっとFAQ
でどうよ?

FAQは長すぎるとウザいわけだが、>>423くらいのそこそこ量はあって、且つググるヒントになるくらいのサクっとした答えが書いてあるのがちょうど良いんでない?
http://pc8.2ch.net/test/read.cgi/hp/1129074823/3
くらいの数のQ&Aはあっていいと思う。(↑ここってテンプレ全体って点ではクドいけどw)

446 :nobodyさん:2005/10/23(日) 13:23:33 ID:???
よし、>>4には>>444をコピペでケテーイ
番号の偶然の一致的にケテーイ

447 :nobodyさん:2005/10/23(日) 13:41:10 ID:???
プログラム板お決まりのテンプレですな・・・

>8. 情報は小出しに。
長期政権を獲得するために必須の手法ですな

448 :nobodyさん:2005/10/23(日) 13:44:59 ID:???
>>444
thx! 面白すぎ.

>>445
それ良いね.

449 :nobodyさん:2005/10/23(日) 14:32:09 ID:???
>>444
テラワロスwww

450 :nobodyさん:2005/10/23(日) 14:46:24 ID:???
select * from table order by id を実行して
for ($i = 0; $i < count($rec); $i++) {
 if ($rec[$i]['id'] == 10) {
  return $i;
 }
}

っていう処理をしたいのです。
idでソートして、特定のIDが何番目に大きいかを知りたいのです。

これをSQL一文で実現する事ができませんか?

451 :nobodyさん:2005/10/23(日) 14:52:29 ID:???
>>442
そうだったんですか。
WinとLinuxで違う動きをするとは思っていませんでした…
setcookieやheaderが激しく不便(というか無理)ですね…諦めてmod_PHPを使います。
ありがとうございました。

452 :軟式PHP:2005/10/23(日) 15:15:27 ID:???
>>450
スレ違いじゃないのか。
しかもDBの種類も書いてないし。
Oracleと仮定して書くならrownum使って出来るっしょ。

453 :nobodyさん:2005/10/23(日) 15:21:07 ID:???
目的のidより小さいレコードをcount()すればいいぢゃん。
にしても自分で「SQL一文で」って書いている時点でスレ違いって判らないのかぁ。
ここ2〜3日、バカがウヨウヨしてるな。

454 :nobodyさん:2005/10/23(日) 16:09:47 ID:???
↓次の質問どうぞ

455 :nobodyさん:2005/10/23(日) 17:06:38 ID:???
データベースにも彼女にもログインできません(><)

456 :431:2005/10/23(日) 17:06:45 ID:???
そんな都合の良い関数はないんですかね。。。

457 :nobodyさん:2005/10/23(日) 17:18:51 ID:???
>>455
いきなり root でログインしようとしてない?

>>456
>>431 の考え自体間違ってない?
普通はすぐに出力されると思うんだけど..
ob_start()/ob_end_flush() とか使うと >>431 の挙動になる.

458 :431:2005/10/23(日) 17:22:08 ID:???
>>457
どうも〜

459 :nobodyさん:2005/10/23(日) 17:38:33 ID:???
>>431
の言ってるのってもしかして
@Aの処理が完了しました
@Bの処理が完了しました
って感じにだんだんとメッセージ出したいとか。

460 :431:2005/10/23(日) 17:41:37 ID:???
>>459
それです、それがしたいんですorz

461 :軟式PHP:2005/10/23(日) 17:53:31 ID:???
>>459
>>460
ob_implicit_flush();
を使って出来た覚えがある。

462 :nobodyさん:2005/10/23(日) 17:59:49 ID:???
http://jp.php.net/manual/ja/function.flush.php
バッファリング関連についてここに詳しく書いてあった.

463 :nobodyさん:2005/10/23(日) 18:14:20 ID:???
>>459,461,462
やりたかった事ができました〜
マジでありがとう。

464 :nobodyさん:2005/10/23(日) 18:24:04 ID:???
ん,結局どうやって解決したのかな?

465 :ハイスピードうさちゃん ◆DMzTyHF5uc :2005/10/23(日) 19:32:33 ID:ibcXIcLi
ほんとに下らない質問で真に申し訳ないんですけど
PHPをホームページに組み込もうとしているのですが
いまいち仕組み等が良く分かりません
PHPを使うのにお勧めの本はありますか?
あれば教えてください
よろしくお願いします

466 :nobodyさん:2005/10/23(日) 19:38:58 ID:???
xreaってphp使えますか?
xreaとはなんですか?
自分のHPにphpbb掲示板を置きたいがためだけに
xreaに登録するのはどうなんでしょうか?
くだらないかもしれないとおもったので、ここで聞きます。
すみません。

467 :nobodyさん:2005/10/23(日) 19:46:09 ID:???
http://pc8.2ch.net/test/read.cgi/hp/1128491451/990-991

468 :nobodyさん:2005/10/23(日) 19:47:41 ID:???
>>466
>xreaってphp使えますか?
⇒xreaで調べてください。

>xreaとはなんですか?
⇒ググってください。

>自分のHPにphpbb掲示板を置きたいがためだけに
>xreaに登録するのはどうなんでしょうか?
⇒人それぞれです。

>くだらないかもしれないとおもったので、ここで聞きます。
⇒別に良いですけど。

>すみません。
⇒許しません。

469 :nobodyさん:2005/10/23(日) 19:48:27 ID:???
>>466
使えるよ

470 :nobodyさん:2005/10/23(日) 19:52:54 ID:BdscBxiq
>>466
使える。まぁあんたにはスペースもらえなさそうだわな。

471 :nobodyさん:2005/10/23(日) 19:54:03 ID:BdscBxiq
>>465
HTMLはわかるのかな?まずはそれからだ。

472 :nobodyさん:2005/10/23(日) 20:00:04 ID:???
>>466
たぶん無料のレンタル掲示板探した方が早いよ.

473 :ハイスピードうさちゃん ◆DMzTyHF5uc :2005/10/23(日) 20:30:25 ID:ibcXIcLi
>>471
ありがとうございます
とりあえずページを作れる程度のことは出来ます。
もう一度調べなおしてみます

474 :nobodyさん:2005/10/23(日) 21:05:35 ID:???
配列のデフォルト値って指定できますか?
こんな感じ。
$arr = array('one'=>1, 'two'=>2);
$arr->default = -1; // デフォルト値を設定
$val = $arr['foo'];
echo $val; //=> -1

475 :nobodyさん:2005/10/23(日) 21:12:03 ID:???
みんなイイ奴だな
>>473みたいなネタに付き合うんだから

476 :nobodyさん:2005/10/23(日) 21:15:41 ID:???
>>474
無いよ。
若干近い挙動をする関数ならarray_fill。
いっその事クラスを使えば望み通りの挙動をさせる事も可能。

477 :nobodyさん:2005/10/23(日) 22:53:48 ID:???
>>451
スクリプトにCGI版phpへのパスを記述する時点で
ポータビリティが下がるし、環境に合わせて書き換え前提になるから
phpの側でそういった機能はないのかもしれん。

俺はwebサーバの方で、.phpなファイルはCGI版phpをキックするように
設定してるから、WinでもLinuxでもCGI版phpを利用してる場合スクリプトに
CGI版phpへのパスを記述してないよ。よってWinでもLinuxでも同じスクリプトで動かせる。
まあスクリプトの処理で吸収しきれてない多少の差異はあるけど。



478 :nobodyさん:2005/10/23(日) 23:21:08 ID:???
すごく初心者な質問ですみません。教えて下さい。
ベクターで配布されているphpのショッピングカートのsimple cartについてです。
商品の登録をしているのですが、商品の画像を表示させたいのですができません。
どうすれば表示させることができるのか教えて下さい。宜しくお願いします。

479 :nobodyさん:2005/10/23(日) 23:25:09 ID:???
おーい,エスパーさん,出番ですよー.

480 :nobodyさん:2005/10/23(日) 23:28:36 ID:???
>>478
配布元で聞けよ。

481 :nobodyさん:2005/10/23(日) 23:54:18 ID:???
Σ(゚Д゚;≡;゚д゚) もしかして呼ばれた!?

>>478
・画像の指定方法が分からない
管理モードにログイン -> Products data -> File -> 参照をクリック -> 画像ファイルを指定 -> Save

・画像が表示されない
1.正常にサーバにアップロードされているか確認
2.ファイルのパーミッションが適切に設定されているか確認
3.ブラウザで画像ファイルにアクセスして表示されるか確認
4.配布元に問い合わせ

482 :nobodyさん:2005/10/24(月) 02:00:19 ID:???
去年の10月24日に「半年ロムってろ」と言われ、
半年後にやっと書き込めたと思ったらまた
「もう半年ロムってろ」と言われたものです。

今日でようやく半年になりました。
おひさしぶりです。涙がでそうです。
また皆さんと一緒にお話できて嬉しいです。

483 :nobodyさん:2005/10/24(月) 02:11:41 ID:???
PHP5で、自由に代入できる定義済みのグローバル変数ってないのでしょうか。

例えば$_GLOVALみたいな配列変数が用意されていて、
この中に代入したものはどこからでも参照できるとか
そういうのがあれば便利だと思うんですが。

マニュアルを見た所探せなかったので教えてください。

484 :nobodyさん:2005/10/24(月) 02:57:48 ID:zkums6mo
phpとmysql使ってます

dbにつなぐにはphpファイル内にパスワード記述しなければなりませんが、
これが不安なんです。

なんかのダウンロードソフトとか使ってphpファイルそのままダウンされたり
しないのでしょうか?

ちなみに以前設定が悪かったのか、phpファイルにアクセスしたら
ダウンロードしますか?みたいなダイアログが出たことがあって超不安です。

絶対大丈夫だって説明してくれるか、パスワード記述しなくて良い方法が
あったら教えてください。

485 :nobodyさん:2005/10/24(月) 03:36:25 ID:???
web鯖で公開しているディレクトリより下に置くと絶対危険です。

486 :nobodyさん:2005/10/24(月) 03:38:01 ID:???
>>482
お前何回目だ
>>483
$GLOBALS
>>484
氏ね

487 :nobodyさん:2005/10/24(月) 03:57:30 ID:QQX+YZkl
携帯からの荒らしが酷いんですが
番号の特定って出来ますか?

488 :445:2005/10/24(月) 04:17:23 ID:up55eUP1
新質問スレの話題がありましたが、こちらでやりましょう。

【php】part29【php】
http://pc8.2ch.net/test/read.cgi/php/1120611474/

とりあえずこのスレで出た内容適当にまとめました。
FAQや質問テンプレについて、取捨選択しましょう。

489 :nobodyさん:2005/10/24(月) 04:30:43 ID:???
>>487
試しに自分の携帯番号が特定できるか調べてみては?

490 :nobodyさん:2005/10/24(月) 09:49:32 ID:???
>>487
ttp://ns1.php.gr.jp/pipermail/php-users/2004-January/020521.html

491 :nobodyさん:2005/10/24(月) 11:16:55 ID:???
>>484
俺の場合はDB接続関数を作って別ファイルに保存。
もちろんパスワードもそのファイルに記述。

それをユーザーがアクセス出来ないディレクトリに置いて include で読み込んでる。

492 :nobodyさん:2005/10/24(月) 11:36:13 ID:???
>>484
パスワードファイルに関しては、既に言われているように、
直接参照の出来ないDocument_root上位におくこと。

それよりも、
>ちなみに以前設定が悪かったのか、phpファイルにアクセスしたら
>ダウンロードしますか?みたいなダイアログが出たことがあって超不安です。
こっちはもう大丈夫なのかな?こっちの方が遥かに問題は大きいですぞ。
httpd_confやphp.iniの設定は適切に行わないとね。


493 :nobodyさん:2005/10/24(月) 11:37:35 ID:QoyBu+Ex
>>487
iはフォームにutn
eとvはprint_r($_サーバー)で出たうちのどれか。
iとvはユーザーの任意。

494 :nobodyさん:2005/10/24(月) 11:43:12 ID:???
>>490
うわ、くだ質以下の質問だと思っていたらMLに投げる人がいるとは・・・

495 :nobodyさん:2005/10/24(月) 11:46:45 ID:???
ML のほうもこっちも対してレベル変わらないね

496 :nobodyさん:2005/10/24(月) 12:07:54 ID:???
こっちのほうが下じゃね?

497 :nobodyさん:2005/10/24(月) 12:16:34 ID:???
>>493
eもユーザー任意

498 :nobodyさん:2005/10/24(月) 13:51:01 ID:???
JScriptでいうところのdocument.URLはどう書くのでしょうか。<php4.3

499 :nobodyさん:2005/10/24(月) 13:56:57 ID:???
ヒント: $_SERVER

500 :nobodyさん:2005/10/24(月) 14:43:37 ID:???
ヒントありがとうございます。
ttp://<?php echo $_SERVER[SERVER_NAME];echo $_SERVER[PHP_SELF]
こんなんできましたが、良いのでしょうか。
<a href='ttp://validator.w3.org/check?uri=" + document.URL + "'>XHTML1.1</a>
のdocument.URL部分に入れて動いたのですが
もしもっとスマートな書き方がありましたらお願いします。

501 :nobodyさん:2005/10/24(月) 14:48:14 ID:???
>>500
htmlspecialchars($_SERVER['PHP_SELF'])

502 :nobodyさん:2005/10/24(月) 15:24:19 ID:???
>>501
ありがとうございます。一応エンティティ変換した方が良いのですね。
しかし、いずれにしてもdocument.URLと挙動が違うのが気になります。
document.URLは最後が/で終わるURIすなわちディレクトリ
にアクセスしている場合はディレクトリまでのURIを返します。

http://<?php echo $_SERVER['SERVER_NAME'],htmlspecialchars($_SERVER['PHP_SELF']); ?>
それに対して これだとディレクトリへのアクセスでもDirectoryIndexのパスまで入ってしまいます。

今まではJScriptでdocument.writeを使って
<a href='http://validator.w3.org/check?uri=" + document.URL + "'>XHTML1.1</a>
を表示するという内容の.jsを作って複数のページから呼び出していたのですが、
これをphpのincludeに置き換えたいのです。

DirectoryIndexのファイルのパスを返さずに、
つまりdocument.URLと同じ動作をすることはできないのでしょうか。

503 :nobodyさん:2005/10/24(月) 15:35:14 ID:???
>>502
DirectoryIndexが使われた事を知っているのはapacheだけで、
JavaScriptもPHPもその事を知らない。

dirname()やpathinfo()を使ってディレクトリ名を切り出せばええんでないかい?

504 :nobodyさん:2005/10/24(月) 15:35:51 ID:???
ようするに≒リクエストURIなんじゃないの

クライアントからどう見えてるかをPHPから
特定するのは不可能だが

505 :nobodyさん:2005/10/24(月) 16:01:38 ID:???
お二人ともありがとうございます。
> リクエストURI
要するにそういうことなんです。
> DirectoryIndexが使われた事を知っているのはapacheだけで、
> JavaScriptもPHPもその事を知らない。

> クライアントからどう見えてるかをPHPから
> 特定するのは不可能だが

そうか、そうでしたか。JScriptがクライアントサイドだから為せる業だったのですね<リクエストURI
そうなるとなかなか難しそうですね。
諦めて.jsのままでいくことにします。

ありがとうございました。
# ディレクトリだけ切り出すにしてもDirectoryIndexじゃないページからもincludeしたいわけで。
# ごちゃごちゃさせるならこのままで…。

506 :nobodyさん:2005/10/24(月) 16:01:41 ID:???
DirectoryIndex が index.php になってるとして,
http://example.com/hoge
http://example.com/hoge/
http://example.com/hoge/index.php
を全部
http://example.com/hoge
として扱うなら,
$dir_index = 'index.php';
$self = htmlspecialchars($_SERVER['PHP_SELF']);
if (strcasecmp(basename($self), $dir_index) == 0) {
    $self = dirname($self);
}
こんな感じになると思う.

507 :nobodyさん:2005/10/24(月) 16:21:43 ID:Ag941LkA
SSHが許可されていない共用サーバで、PEARのパッケージをインストールしたく
http://pear.php.net/manual/ja/installation.shared.php
ここを参考に go-pear.php でPEARをインストールする事は出来たのですが、
標準以外のパッケージMail_Mimeなどをインストールする場合はどうすれば良いのでしょうか?

go-pear.phpでインストールしたディレクトリの所有者がApacheのユーザ
nobodyになっていて、FTPでファイルをアップロードできません。

508 :nobodyさん:2005/10/24(月) 16:36:13 ID:g+BdaTEj
phpには直接関係のない話だと思いますが、
httpsで開いているページからhttpでリンクした先のページで
HTTP_REFERERが取得できません。
こうゆうのってブラウザとかW3Cの使用なのでしょうか?

509 :nobodyさん:2005/10/24(月) 16:36:24 ID:???
>>506
あ、入れ違いでしたね、すみません。

実はDirectoryIndexがディレクトリごとに異なっているという、
一般的に見ておかしなことになってまして。
DirectoryIndexの把握だけですでに面倒…。

一応試してみましたがrootディレクトリのindex.phpの場合だと
$selfには\が入ってしまいました…。
これはどうにでもなるので良いのですが。

いろいろありがとうございました。


510 :nobodyさん:2005/10/24(月) 16:43:40 ID:???
>>508
そうらしいよ.

511 :軟式PHP:2005/10/24(月) 16:49:51 ID:???
>>507
PEARをダウンロードしてきて適当なディレクトリにつっこんで、
set_include_path(ディレクトリ名);
で使えると思うよ。

512 :nobodyさん:2005/10/24(月) 16:55:32 ID:???
手動インストールの補足.
$pear list package_name-0.1.2.tgz
で,そのパッケージがどの場所にインストールされるか調べられる.
大抵のパッケージは解凍した通りの位置のままで使えるけど,
ものによっては名前が変わったりする.

513 :nobodyさん:2005/10/24(月) 17:06:48 ID:???
>>505
つ $_SERVER['REQUEST_URI']

514 :nobodyさん:2005/10/24(月) 17:27:43 ID:???
PHPにはgoto文みたいなのはないのしょうか?
ある関数の結果がNGの場合、以降の処理は行いたくないので。
(関数内でしたら、returnとかってできますけど)

以降の処理をif文でくくれば可能ですが、それは最後の手段としたいです。

良い知恵を拝借したく存じます。

515 :nobodyさん:2005/10/24(月) 17:31:09 ID:???
以降の処理は行いたくないのであればexitでいいかと。

516 :nobodyさん:2005/10/24(月) 17:34:18 ID:???
ない。ラベルも使えなかった気がするので関数とか使って回避汁。

517 :nobodyさん:2005/10/24(月) 17:36:05 ID:???
>>514
switch

518 :nobodyさん:2005/10/24(月) 17:39:12 ID:???
>>517
この場合返り値のbool固定だろうから、if文が適当かと。

519 :nobodyさん:2005/10/24(月) 17:55:40 ID:???
レスありがとうございます。
以降の処理を全てスルーだったので、
exitかdieで逃げることができました。

助かりました。

520 :nobodyさん:2005/10/24(月) 19:06:25 ID:???
男なら逃げるな!

521 :nobodyさん:2005/10/24(月) 19:22:15 ID:???
立ち向かえ!

522 :nobodyさん:2005/10/24(月) 19:28:53 ID:???
そして燃え尽きろ!

523 :nobodyさん:2005/10/24(月) 19:34:00 ID:???
燃やせ、燃やせ、真っ赤に燃やせ

524 :nobodyさん:2005/10/24(月) 19:36:55 ID:???
怒る心に火をつけろ!

525 :nobodyさん:2005/10/24(月) 20:12:17 ID:???
真っ赤に萌〜えた〜

526 :nobodyさん:2005/10/24(月) 20:51:04 ID:???
真っ赤に燃えた あの日の花火
今も熱く燃えて
あなた恋しい あなた恋しい 女の涙
あなた恋しい あなた恋しい 多摩川ブルース

527 :nobodyさん:2005/10/24(月) 21:33:30 ID:???
microtime()でとったマイクロ秒を小数点第二位の形にして表示したいのですが、
以下のようにやると「120.27」のようにおかしな整数部分が表示されてしまいます。
(整数部分は不要でピリオド以降だけ欲しい)
どしたらよいでしょうか?

echo number_format(getmicrotime(),2);

function getmicrotime(){
list($msec, $sec) = explode(" ", microtime());
return (float)$msec;
}

用途はログ出力の際のタイムスタンプであり、マイクロ秒まで出力したいのです。
もっとスマートなやり方があると思うのですが、
有識者の方、教えて頂ければ幸いです。


528 :nobodyさん:2005/10/24(月) 21:36:16 ID:???
substr($s, strrpos(getmicrotime(), '.'));

529 :nobodyさん:2005/10/24(月) 21:55:03 ID:???
0以外の整数出ないんだけど

530 :nobodyさん:2005/10/24(月) 22:07:22 ID:/DDxE1pe
POSTで送られて来たデータの例外処理について
何もセットされてないか(!isset)、何も入ってないか(=="")の場合エラーを出したいんですけど、

if((!isset($_POST['id'])) or (($id = $_POST['id']) == "")) { return "!IDが入力されていません"; }

みたいな事はできないんですか?

わざわざ、
・issetのif書いて
・代入して
・もう1回 =="" のif書いて、、、
ってしなくちゃダメですか?

それと、こういうノウハウというかCGIの知識はどこで学ぶんでしょうか?
他人のプログラムから学ぶのかな・・

531 :nobodyさん:2005/10/24(月) 22:12:38 ID:GXm9iY9G
phpでwebアプリを作成しパッケージソフトとして
販売することを考えています。
そこで、いくつか質問があります。

phpで作った市販のWebアプリってありますでしょうか?
スクリプト言語なので、体験版として試用して頂きたくても、
ソースが流出してしまい体験版としての意味をなさないと思います。

また、DBを使用する場合、納品形体としてはDBの設置まで込めたものが一般的なのでしょうか?
DBは用意してもらい、webアプリ部分のみの配布でもありなのでしょうか?

movable typeのように企業で使用する場合は有料みたいなのが理想なのですが、
ソース流出の点はどう対処できるのでしょうか?

また、このような情報を得ることができる本、サイトってございますでしょうか?



532 :nobodyさん:2005/10/24(月) 22:13:23 ID:???
>>527
何をしたいのか理解できない.
12.345678 秒っていう時間を取得したとして,
それの 34 だけ出力したいの?
小数点第二位までだったらマイクロ秒じゃなくてミリ秒だよなぁ..

533 :見習い ◆DVsUJRCU3g :2005/10/24(月) 22:14:07 ID:???
>>530
or ではなくて ||

あと1個で済ませるなら
if(!is_string($_POST['id'])) { return "!IDが入力されていません"; }
または
if(!is_numeric($_POST['id'])) { return "!IDが入力されていません"; }

534 :nobodyさん:2005/10/24(月) 22:18:21 ID:???
list($u,) = explode(' ', microtime());
sprintf('%d', substr(round(getmicrotime() * 100) / 100, 2))

とか

つーか秒以下だけとったらタイムスタンプの意味ないじゃん
0だったらNULLだし。整数すててポイント残す意味も分からん

535 :nobodyさん:2005/10/24(月) 22:19:44 ID:???
>>531
はいどうぞ
http://www.gnu.org/copyleft/gpl.html

536 :527:2005/10/24(月) 22:20:11 ID:???
>>532
>>小数点第二位までだったらマイクロ秒じゃなくてミリ秒だよなぁ..
う、たしかにそうですね。
小数点第四位までとればマイクロミリ秒かな。

"2005.10.24 22:14:07.1234"
みたいな感じで時刻を取得したいのです。
小数点第四位が無理なら小数点第二位まででも構いません。


537 :nobodyさん:2005/10/24(月) 22:22:44 ID:???
PHPから別のPHPを呼ぶときに、非同期に呼びたいのですが可能でしょうか?

538 :527:2005/10/24(月) 22:22:59 ID:???
ちなみに秒までは以下のようにして取得してます。

date("Y.m.d H:i:s")

539 :nobodyさん:2005/10/24(月) 22:24:15 ID:???
すいません。途中送信してしまいました。

PHPから別のPHPを呼ぶときに、非同期に呼びたいのですが可能でしょうか?
目的は、A.phpからB.phpを呼び、B.phpはSleep(10);してから何かを行うことによってタイマーを実装することです。

このスレをざっと検索したところ、PHPのみでタイマーチックなことはできそうになかったもので…。

540 :nobodyさん:2005/10/24(月) 22:28:47 ID:PCKmF9zI
質問させてください。

プログラムがインターネット上にあるファイルにアクセスするのに、プロキシサーバを経由しなければならない環境にあります。
PHPでプロキシサーバを経由するようにするにはどのようにすればいいのでしょうか。

541 :nobodyさん:2005/10/24(月) 22:30:43 ID:???
>>538
もひとつよく判らんのだが、こういうこと?

list($msec, $sec) = explode(" ", microtime());
echo date('Y.m.d H:i:s.', $sec) . substr($msec, 2, 4);

542 :nobodyさん:2005/10/24(月) 22:32:47 ID:???
list($usec, $sec) = explode(' ', microtime());
$usec = substr($usec, 2);
echo date("Y.m.d H:i:s.$usec");

2005.10.24 22:31:36.91787800

こうかな?

543 :nobodyさん:2005/10/24(月) 22:32:57 ID:???
>>539
意味が分からね。別プロセス走らせるなりフォークするなりじゃだめなの?

544 :nobodyさん:2005/10/24(月) 22:33:23 ID:???
>>531
ttp://www.asial.co.jp/products/ioncube/
こういうの使えば可能

545 :nobodyさん:2005/10/24(月) 22:36:20 ID:???
    /    ||    :ヽ
   ┌|(⌒ヽ :|| ..:⌒: |┐   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
   |::|::ヽ.__:):||(___ノ ::|::|  │
    |:|: ..   :||    .. |:|  │
    :|: ..   ||    ..|| < >>540 HTTPでおk
     :\ [_ ̄] /::|   │
::     |\|_|_|_|_/:::|    \________
   __| |   / / :|___

546 :nobodyさん:2005/10/24(月) 22:36:27 ID:???
>>538
どうやってログを保存するのか知らないけど,
西暦とか月ごとに保存するディレクトリを分けたりすれば
毎回出力する必要ないような・・・

547 :nobodyさん:2005/10/24(月) 22:38:06 ID:???
>>539
PHP と 時間のかかる処理 でググればヒントが見付かるかも知れない

548 :nobodyさん:2005/10/24(月) 22:38:10 ID:???
>>545
ワロスw そのAA,本来は HTTP のところに 日本語 って入ってたはず

549 :nobodyさん:2005/10/24(月) 22:39:25 ID:???
>>540
fsockopenでプロキシに接続して、
GET http://〜 てな感じのリクエストをする。
細かい所はRFC2616あたりを参照。

550 :527:2005/10/24(月) 22:40:31 ID:???
>>541さん
ビンゴです。
ありがとうございます。

結局、文字列操作関数を使わないといけないんですね。
フォーマット関数でなんとかしようとふんばってたのが間違いでした。



551 :nobodyさん:2005/10/24(月) 22:46:27 ID:???
microtime()とtime()で別々に時間を取得するとずれる気がする

552 :nobodyさん:2005/10/24(月) 22:47:10 ID:???
>>547
検索させるならPHPとバックグラウンドの方が・・

>>539
exec関数かsystem関数を使う。

553 :nobodyさん:2005/10/24(月) 22:48:32 ID:???
>>551
なるほど. >>541 の方法なら問題ないね.

554 :nobodyさん:2005/10/24(月) 22:52:02 ID:???
>>530
if文は簡潔に。
if (empty($_POST['id'])) {
die('param err');
}



555 :nobodyさん:2005/10/24(月) 22:52:53 ID:???
0以外の整数…

556 :nobodyさん:2005/10/24(月) 22:54:12 ID:???
今日はエスパーだらけだな

557 :531:2005/10/24(月) 22:57:10 ID:GXm9iY9G
>>544
レスありがとうございます。
こういうのあるんですね。

逆に言うとこういうの使わないとやはり無理なのでしょうか?


558 :nobodyさん:2005/10/24(月) 23:00:42 ID:???
>>557
あなたのプランはノーマネーでフィニッシュです

559 :540:2005/10/24(月) 23:13:35 ID:???
レスありがとうございます。

>>549
fsocketopenは
ttp://www.php.net/manual/ja/function.fsockopen.php
をみて何となく理解したのですが、
>GET http://〜 てな感じのリクエストをする。 
これがよく分からないのですが・・・

560 :541:2005/10/24(月) 23:18:01 ID:???
お返事ありがとうございます。

>>543
PHPにはフォークが無かったかなと思います。

>543 >>547
別プロセスという手で解決されているのですが、レンタルサーバーのため、純粋にPHP以外は動かないようです。

>>552
コマンドラインからPHPを使用するというページが発見できました。早速試してみます。

561 :nobodyさん:2005/10/24(月) 23:20:49 ID:???
>>560
こいつ面白いな

562 :nobodyさん:2005/10/24(月) 23:23:59 ID:???
>>559
そのまま答えだしそのページにもProxyアクセスのサンプルあるしググればいくらでも引っかかるしPHPと関係ねーし

563 :nobodyさん:2005/10/24(月) 23:25:44 ID:???
>>561
自分のレス番号間違えました…

564 :nobodyさん:2005/10/24(月) 23:28:04 ID:RXos/Fpn
GDなんですが、WindowsのBMPって扱えないんですか?
WBMPは違う形式のようですし。
扱えるライブラリあったら教えてください。
GDのバージョンは2.0.28です。

565 :nobodyさん:2005/10/24(月) 23:29:57 ID:???
WebでBMPは使わんからだろうね

566 :nobodyさん:2005/10/24(月) 23:31:25 ID:???
>>559
Proxyサーバーにfsockopenで接続して
"GET http://www.yahoo.co.jp HTTP/1.0\r\n\r\n" とか送ってやるとProxyサーバーが良きに計らってくれる。
>>549 氏が RFC2616 を見れ、って言ってくれているんだが読んでみたのかな…
読む気がないのならwget辺りをインスコしてsystem()で呼び出した方が早いんヂャマイカ。

567 :nobodyさん:2005/10/24(月) 23:38:48 ID:???
>>562,566
ありがとうございました。
リクエストの送り方がよく分からなかったのですが、サンプルがそのままリクエストを送っているんですね、
勘違いというか思い違いをしていました。

568 :nobodyさん:2005/10/24(月) 23:40:59 ID:???
> 勘違いというか思い違いをしていました。

これは使える!!

569 :nobodyさん:2005/10/24(月) 23:44:35 ID:???
じゃんじゃん使え

570 :539:2005/10/25(火) 00:14:51 ID:???
無事phpから、バックグラウンドで別のphpを呼び出すことができました。
タイマー代わりに使おうと思います。ありがとうございました。

一応同種の質問がきた時用に
<?php
system("/usr/local/bin/php timer.php > /dev/null &");
echo "OK.";
?>

/usr/local/bin/php がコマンドラインでphpを動かすための実行ファイル
timer.php が動かしたいPHPファイル。
> /dev/null は、echoなどの出力結果を無視する。
& は非同期で動かす。

571 :nobodyさん:2005/10/25(火) 00:27:57 ID:???
 質問です。RSSを作成したいのですが、
RSSのtitle部分に日本語が含まれるため、EUCを
UTF-8に変換しようとmb_convert_encoding($str,'UTF-8');と記述したところ、
RSSのtitleが文字化けしてしまいました。対処法を教えてください。

572 :nobodyさん:2005/10/25(火) 00:29:09 ID:???
mb_convert_encoding($str,'UTF-8', 'EUC');
でどうよ

573 :nobodyさん:2005/10/25(火) 01:17:59 ID:???
PHPで、メールを受信する(POP)関数はありますか?
関数名を教えてください<(_ _)>

574 :nobodyさん:2005/10/25(火) 01:51:31 ID:???
>>573
pop_mail()

575 :nobodyさん:2005/10/25(火) 02:45:01 ID:???
>>565
BMPをページに貼り付けることはないが、WINユーザからうpされたBMPをJPEGかPNGに変換して貼るために、GDの関数を必死こいて模索したことはあったな。
ImageMagickで解決なわけだが、GDでも扱えたほうがよさげな気もする。
(内部構造が単純なだけに実装自体は楽なはず。ファイル形式の互換性に関してはよく知らんが)

576 :軟式PHP:2005/10/25(火) 03:20:48 ID:???
関係ないけど、なんでBMPのデータって左下のピクセルから入ってるんだろうね。

577 :nobodyさん:2005/10/25(火) 03:27:17 ID:???
つ [ OS/2 ]

578 :nobodyさん:2005/10/25(火) 04:50:04 ID:???
BMPのヘッダの高さの正負で上下が決まってるんじゃなかったけか?
関係ないけど

579 :nobodyさん:2005/10/25(火) 10:37:26 ID:???
質問です。
他言語含めて初心者で、PHPを勉強したいなーと思っています。

当面の目標として、スレッドやツリーなどのない、
シンプルな掲示板を作る事を目指そうと思っています。
MySQLなどは使わないものです。

そこで、お勧めの参考書や参考になるサイト、
お手本としてお勧めの配付されているPHPのソースなどありましたら、
教えていただけませんでしょうか。

ほんと下らない質問ですいませんが、お願いします。
m(_ _)m

580 :nobodyさん:2005/10/25(火) 10:52:03 ID:???
>>579
PHP関連の書籍(但しPHP出版系お断り)第2版
http://pc8.2ch.net/test/read.cgi/php/1117066073/l50
ここで見つかるかもしれない.

581 :nobodyさん:2005/10/25(火) 11:35:30 ID:???
んなもん、PHP、初心者、初めて、辺りでぐぐれ。

582 :nobodyさん:2005/10/25(火) 11:44:39 ID:???
ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLD,GGLD:2005-15,GGLD:ja&q=PHP%E3%80%81%E5%88%9D%E5%BF%83%E8%80%85%E3%80%81%E5%88%9D%E3%82%81%E3%81%A6%E3%80%81%E8%BE%BA%E3%82%8A


583 :nobodyさん:2005/10/25(火) 12:34:07 ID:???
>>572
できました。ありがとうございました。

584 :nobodyさん:2005/10/25(火) 13:04:11 ID:YHtqjGPc
CSV形式のファイルで指定した行のみ読み込ませ配列化したいのですが
どうやればいいのでしょうか?
やはり一度全てを配列に読み込ませ、配列番号で指定するしか
ないのでしょうか?

585 :nobodyさん:2005/10/25(火) 14:29:48 ID:kvUtXjYL
>>584 がんばれ!

586 :nobodyさん:2005/10/25(火) 14:39:31 ID:???
>>584
一行ずつ読み込めないから質問しているの?

587 :nobodyさん:2005/10/25(火) 14:44:51 ID:???
>>565
PHPのイメージ関数、imagecreateのユーザノートの中に
BMPを操作するユーザ関数が載ってる。

ttp://jp.php.net/manual/ja/function.imagecreate.php


588 :nobodyさん:2005/10/25(火) 14:47:14 ID:YHtqjGPc
>>586
ちがいます。
一行ずつの読み込み方法は知っています

私が聞きたかったのは例えば
1万行あるCSVファイルから5320行目のみをよみこみたいのです

589 :nobodyさん:2005/10/25(火) 14:49:51 ID:???
>>584
fgetcsvを指定した回数呼び出せ。
1行ずつをメモリに読み込むのが嫌なほど1行1行が長いならDBの使用を検討。
fseekも候補としてはありうるかも。

590 :nobodyさん:2005/10/25(火) 14:54:55 ID:???
>>587
そんな香具師がいたのかw
ユーザ関数でその手の処理やると概してクソ遅いんだが、まあニーズはあるかもしれんな。

591 :nobodyさん:2005/10/25(火) 14:56:22 ID:???
htmlspecialcharsの逆変換する関数ってありますか?
「&lt;」を「<」に戻したいのですが。



592 :nobodyさん:2005/10/25(火) 14:58:41 ID:???
>>591
htmlentities()の逆関数 で検索しれ

593 :nobodyさん:2005/10/25(火) 15:00:30 ID:???
fseek使って好きな行を読み込まそうと想ったら別にポインタ用のインデックスファイルいるよね

594 :nobodyさん:2005/10/25(火) 15:01:24 ID:YHtqjGPc
>>589
やはりfgetcsvで回数呼び出すしかないですか・・・

>>591
これじゃだめ?
$text = str_replace("<","<",$text);

595 :nobodyさん:2005/10/25(火) 15:02:13 ID:???
>>591
http://jp.php.net/manual/ja/function.html-entity-decode.php

596 :nobodyさん:2005/10/25(火) 15:02:42 ID:YHtqjGPc
こうだった
$text = str_replace("<","<",$text);

597 :nobodyさん:2005/10/25(火) 15:05:44 ID:???
>>594 >>596
おまいは本当に恥ずかしい香具師だなw

598 :nobodyさん:2005/10/25(火) 15:07:22 ID:???
>>594
fgetcsv知ってたのに使うの渋ってたのはなぜ?

599 :nobodyさん:2005/10/25(火) 15:11:40 ID:???
こうだった
$text = str_replace("<","<",$text);

600 :nobodyさん:2005/10/25(火) 15:11:45 ID:???
>>598
594じゃないけど、fgetcsv()はSJIS通らなくて
Excelのcsv読めねぇってうるさいから、自分でハンドリングすることも多い。

601 :nobodyさん:2005/10/25(火) 15:12:14 ID:???
あれ、何度やっても違うなァ

602 :nobodyさん:2005/10/25(火) 15:12:57 ID:???
>>596>>599
何でそうなるのか、要因を分析してないみたいだな

603 :nobodyさん:2005/10/25(火) 15:15:09 ID:???
これだァ
$text = str_replace("&lt;","<",$text);

604 :nobodyさん:2005/10/25(火) 15:25:09 ID:YHtqjGPc
>>600
カバーありがとうです

>>602
こうでしたねorz
$text = str_replace("<","<",$text);

605 :nobodyさん:2005/10/25(火) 15:25:32 ID:???
>>591
>(>)はいいのか?

$trans = array (">" => ">", "<" => "<");
$text = strtr($text, $trans);

こんなんいらないって?

606 :604:2005/10/25(火) 15:26:22 ID:YHtqjGPc
進歩なしorz
ごめんよ

607 :nobodyさん:2005/10/25(火) 15:28:28 ID:???
ごめん、文字が勝手に変換された。
$trans = array ("&gt;" => ">", "&lt;" => "<");
$text = strtr($text, $trans);

608 :nobodyさん:2005/10/25(火) 15:32:14 ID:???
>>595で答えが出てると思うが・・・

609 :nobodyさん:2005/10/25(火) 15:32:44 ID:???
>>600
SJIS通らないってどゆこと?
つーかExcelってプレーンなcsv/tsv吐けないの?

>>604 >>607
すでに>>595>>591へのそのものズバリな答が出てる。
頼むからそれ以上やらないでくれ。

610 :nobodyさん:2005/10/25(火) 15:45:16 ID:???
SJISだと特定文字でカンマ分割できなことがあるらしい

611 :nobodyさん:2005/10/25(火) 15:51:08 ID:???
&lt;と書くには&amp;lt;と書けばよい
&amp;lt;と書くには&amp;amp;lt;と書けばよい



以下続く

612 :nobodyさん:2005/10/25(火) 16:16:04 ID:???
>>610
らしいじゃなく、詳細キボンヌ

613 :nobodyさん:2005/10/25(火) 16:20:07 ID:???
>>610
fgetcsvでSJISが読めないとか、結構問題ありそうだから実験してみた。
一応、SJISの全ての文字をカンマ区切りで並べて(16個ごとに改行)、fgetcsvで読み込んでみたが、問題なかったけど。
具体的にどうしたら問題あるの?
(改行の境界部分に化ける可能性のある文字があったのかな?)
ちなみにPHP5.0.4で実験

614 :612:2005/10/25(火) 16:22:26 ID:???
>>613
だよねー、やっぱ。問題ないと思うけどなー。

615 :nobodyさん:2005/10/25(火) 16:26:48 ID:???
$n = "<hogehoge>";

$nからカッコを取るかっこいい方法を教えてなさい!
おながいします

str_replaceで一個ずつ"<"と">"を取る方法しか思いつきません。

616 :nobodyさん:2005/10/25(火) 16:29:06 ID:???
>>615
正規表現はカッコいいですか?

617 :nobodyさん:2005/10/25(火) 16:31:22 ID:???
>>615
substr($n, 1, -1);

618 :615:2005/10/25(火) 16:41:22 ID:???
>>617
ありがとうございます、かっこいいです

>>616
正規表現もかっこいいですが書けません ;-;


で、出来るだけ正規表現使わないで済ましてしまう悪循環・・

619 :nobodyさん:2005/10/25(火) 16:46:33 ID:???
>>613
このスレッドあたり
http://ns1.php.gr.jp/pipermail/php-users/2004-June/022870.html
(原因については小泉さんが明確に解説してる)
まあ今時のバージョンは問題ないかも知れないけど、
一旦自前でやるようにしたら、別段元に戻す必要も差し迫ってないからね。
#あとダブルクォートのエスケープ(""")なんかは、fgetcsvは問題ないんだっけ?

620 :591:2005/10/25(火) 18:12:52 ID:???
>>595
ありがとうございました。
助かりました。


621 :nobodyさん:2005/10/25(火) 19:19:33 ID:???
>>615
trim($str,'<>')
はどうだんべ?

622 :nobodyさん:2005/10/25(火) 19:58:19 ID:???
C言語でいうところの"ifdef"みたいなのはないのでしょうか?

デバッグモードの切り替えを簡単にやりたいのですが。


623 :nobodyさん:2005/10/25(火) 20:16:02 ID:???
>>622
Cのプリプロッセサと違って、条件にマッチしない部分もパースされてしまうけど…

define('DEBUG', '');
if (defined('DEBUG')) echo 'debug mode';

624 :nobodyさん:2005/10/25(火) 21:04:40 ID:lSoYCV0H
$a[0] = "あああ,12,10,2";
$a[1] = "いいい,5,12,4";
$a[2] = "ううう,7,3,3";
$a[3] = "えええ,5,1,8";

という配列の12,5,7,5の部分でソートして

$a[0] = "あああ,12,10,2";
$a[1] = "ううう,7,3,3";
$a[2] = "いいい,5,12,4";
$a[3] = "えええ,5,1,8";

としたいです。
(3,4行目の順番は気にしません)

自分では
$b[12] = "あああ,10,2";
$b[5] = "いいい,12,4";
$b[7] = "ううう,3,3";
$b[5] = "えええ,1,8";
と新しい配列を作りキーでソートしてみましたが
二つ目の$b[5]が出て来た時点で一つ目の$b[5]が上書(代入?)されてしまいます。

どうかいい方法をご教授下さい。

625 :nobodyさん:2005/10/25(火) 21:14:22 ID:???
>>624
function cmp($a, $b)
{
   $ta = explode(',', $a);
   $tb = explode(',', $b);
   if ($ta[1] == $tb[1]) return 0;
   return $ta[1] > $tb[1] ? -1 : 1;
}

usort($a, 'cmp');


626 :624:2005/10/25(火) 22:25:50 ID:???
>>625
ありがとうございます。
こういう時にusortを使うんですね。
まだ使い方がわかっていないのですが、マニュアルを見ながらじっくり試してみたいと思います。

627 :nobodyさん:2005/10/26(水) 03:00:05 ID:???
ブーリアンはどのようにすれば使えるのでしょうか?

628 :nobodyさん:2005/10/26(水) 03:04:26 ID:???
ブーリアン の検索結果 約 27,000 件中 1 - 10 件目 (0.29 秒)

どのブーリアンのことをいっているのかね?

629 :nobodyさん:2005/10/26(水) 03:11:41 ID:???
ブーリアンテストだと思う

630 :nobodyさん:2005/10/26(水) 03:44:53 ID:???
>>627
・予約語のtrueかfalseを使う
・比較演算子(== や !=など)や論理演算子(&& や !)の演算結果を使う
・失敗したらfalseを返す関数を失敗させる
・(bool)を使って型キャストする

631 :nobodyさん:2005/10/26(水) 05:06:50 ID:???
>>619
ふーん、昔はfgetcsvも酷かったんだな
まあ最新バージョンならfgetcsvに日本語使っても大丈夫だろう(PHP4は試してないが)
ダブルクォートのエスケープも問題なし。"" は " に置き換えられる。
バックスラッシュ \" でも一応エスケープはするけど、バックスラッシュつけっぱなしw
まあ漏れはCSVとかって使い捨てのスクリプトで思いつきで使うことしかないから、どっちでもいいんだけどね。
暇なので実験結果の報告。

632 :nobodyさん:2005/10/26(水) 05:09:31 ID:???
>>615
>教えてなさい!
ワロタ

633 :nobodyさん:2005/10/26(水) 05:54:48 ID:???
>>615
str_replaceは配列を引数にできる。
echo str_replace(array("<",">"), array("",""), "<hogehoge>");
これも
echo str_replace(array("<",">"), array("",""), "<hoge><hoge>");

634 :nobodyさん:2005/10/26(水) 07:33:05 ID:???
>>633
2番目の引数は同じものに置換する場合は配列にしなくてもいいよ

635 :nobodyさん:2005/10/26(水) 08:46:06 ID:???
クライアントがcookieを受けつけなければURLにセッションIDを付加する
みたいな処理は可能でしょうか?

636 :nobodyさん:2005/10/26(水) 08:59:18 ID:???
>>635
php.iniのsession.use_trans_sid=1
漏れは明示的に付加する方が好きだけど。

637 :635:2005/10/26(水) 09:10:31 ID:???
>>636

ありがとうございます。
あっさり解決しました。

638 :nobodyさん:2005/10/26(水) 14:42:09 ID:K5xqiemM
PHPでGDライブラリを使おうと思っています。

<?php
$image = imagecreate(200, 200);
$bcolor = imagecolorallocate($image, 0, 0, 0);
imagepng($image,"test.png");
imagecolordeallocate($image, $bcolor);
imagedestroy($image);
?>

ブラウザ上で実行するとtest.pngが生成されません。
ターミナル上では生成できるので、パーミッションの問題かと
思ったんですけど、このPHPファイルと上のフォルダを777にしても
やはり生成されません。

問題点を指摘していただければと思います。

639 :nobodyさん:2005/10/26(水) 14:45:53 ID:???
天狗じゃ!天狗の仕業じゃ!

640 :nobodyさん:2005/10/26(水) 14:48:27 ID:???
>>638
ヒント:「ヘッダ」

641 :nobodyさん:2005/10/26(水) 14:52:29 ID:???
何がヒントだよバーカw

642 :638:2005/10/26(水) 15:13:25 ID:K5xqiemM
>>640

今回はPNG画像を生成するだけなので、
Header(Contents-type: image/png);
はたぶん必要ないと思います。

643 :nobodyさん:2005/10/26(水) 15:17:23 ID:???
>>638
filenameをフルパスで書いてみたらどう?

644 :638:2005/10/26(水) 15:22:32 ID:K5xqiemM
>>643
やってみましたが、やはり動作しませんでした。
Fedora Core3を使っているのですが、SELinuxで何か弾かれている
とかも考えられるんでしょうか。。。

645 :nobodyさん:2005/10/26(水) 15:28:56 ID:???
>>644
そういや、そんな事あったなぁ
SELinuxのログ見てみそ

646 :638:2005/10/26(水) 15:59:21 ID:K5xqiemM
>>645
なんだかSELinuxを切らなきゃ動作しない雰囲気ですね。。

公共のサーバなのでSELinuxは必要らしいんですよ。
これはもう諦めろということなのかな…

647 :nobodyさん:2005/10/26(水) 16:24:14 ID:???
ファイルのダウンロードですが、
Netscape 7/Firefox ではファイル名が化けます ( IE は OK )。

<?php
$filename = '日本語';
header("Accept-Ranges: none");
header("Content-Type: application/x-pdf");
header("Content-Disposition: attachment; filename={$filename}.pdf");
mb_http_output('pass');
echo "test";
?>

コードをどう変えればいいの?

648 :nobodyさん:2005/10/26(水) 16:29:48 ID:???
HEADERの内容はURLエンコードすべきじゃないのかな?

649 :nobodyさん:2005/10/26(水) 16:40:22 ID:???
>>648
アドバイスありがと。早速、
$filename = urlencode(mb_convert_encoding('日本語', 'SJIS', 'EUC-JP'));
としてみたら IE は CA8XMVSI、Gecko 組は %93F%FA%96... に…。

650 :nobodyさん:2005/10/26(水) 16:40:51 ID:H/AFZPGW
>>647
ファイル名を英数にすれば?

651 :nobodyさん:2005/10/26(水) 16:46:21 ID:???
>>650
最初そうしてたら、氏名をファイル名にしてほしい、と言われて
IE で大丈夫だったから「ふふふーん」と鼻歌歌ってたら
Netscaep/Firefox でダメで「ぎゃふふーん」ですよ!

652 :nobodyさん:2005/10/26(水) 16:59:33 ID:???
ttp://www.wsdeveloper.com/viewtopic.php?t=62

653 :nobodyさん:2005/10/26(水) 17:06:50 ID:???
Java による解法か。でも IE は大丈夫なんだよね。
みんなはどうしてるのよ。

654 :nobodyさん:2005/10/26(水) 17:14:45 ID:???
会話で、PHPを「ぴーえぃっちぴー」と言うのが煩わしいです。
短く、かつ、相手に理解して貰える、最高の略語を考えて下さい。


655 :nobodyさん:2005/10/26(水) 17:16:49 ID:???
parse_ini_file()でiniファイルの読み込みが正常終了したかどうかって判断はどうすればよかですか?

読み込んだini項目を参照して、値が入ってるかどうかを見て判断するしかなかとですか?



656 :nobodyさん:2005/10/26(水) 17:19:59 ID:???
>>654
会話しなくていいよ

657 :nobodyさん:2005/10/26(水) 17:26:01 ID:???
>>654
ぺちぺ

658 :nobodyさん:2005/10/26(水) 17:29:43 ID:???
phpじゃないのですが新しくWiki Cloneを作成しました。
しかしこの板、過疎スレばかりで何処で施せば良いか分かりません。
どこで施せばいいのでしょうか?

659 :nobodyさん:2005/10/26(水) 17:30:45 ID:???
>>658
おれんち

660 :nobodyさん:2005/10/26(水) 17:31:31 ID:???
ほどこす?

661 :nobodyさん:2005/10/26(水) 17:31:47 ID:???
>>659
住所を教えてください。
ソースを印刷して送ります。

662 :nobodyさん:2005/10/26(水) 17:33:56 ID:???
>>660
晒すの間違いだと今頃気づいたけど是からも使いつづけます。

663 :nobodyさん:2005/10/26(水) 17:35:35 ID:???
>>661
教えてあげるのであなたの住所教えてください

664 :nobodyさん:2005/10/26(水) 17:35:50 ID:???
東京都千代田区千代田1番

665 :nobodyさん:2005/10/26(水) 17:37:51 ID:???
>>664
着払でよろしいでしょうか?

666 :nobodyさん:2005/10/26(水) 17:41:17 ID:???
CD-Rに焼いたほうが良くないか?

667 :nobodyさん:2005/10/26(水) 17:42:33 ID:???
>>666
CD-R高いしなぁ…

668 :nobodyさん:2005/10/26(水) 17:47:37 ID:???
ほんとくだらん会話だなペチペ住人は。

669 :nobodyさん:2005/10/26(水) 17:50:02 ID:???
まあいいや。
ttp://www2.pf-x.net/~nazodane/stucturewiki/source.zip
ライセンスの範囲で自由に使ってください。

670 :nobodyさん:2005/10/26(水) 17:53:46 ID:???
>>669
すれ違い

671 :nobodyさん:2005/10/26(水) 17:55:42 ID:???
>>670
だったら誘導汁

672 :nobodyさん:2005/10/26(水) 18:02:14 ID:???
>>646
SELinuxが原因なら、制限しないようにポリシーを設定すれば良いんでないの。
もともとそういう風に使うもんだし>SELinux

673 :nobodyさん:2005/10/26(水) 18:08:16 ID:???
>>669
ageて書き込めば誰か見るでしょ
C/C++ CGIスレッド
http://pc8.2ch.net/test/read.cgi/php/1077753522/1-10

674 :nobodyさん:2005/10/26(水) 18:09:09 ID:???
晒すと施すを素で間違えるような奴のスクリプトなんか使いたく無いw

675 :nobodyさん:2005/10/26(水) 18:11:46 ID:???
>>673
悪いがソースがD言語なんだな

676 :nobodyさん:2005/10/26(水) 18:20:41 ID:???
>>669
セキュリティホールはどこに知らせればいいの?

677 :nobodyさん:2005/10/26(水) 18:47:37 ID:???
error_log()関数でログに出力する時、排他ロックされるのでしょうか?

678 :nobodyさん:2005/10/26(水) 19:16:23 ID:???

 LAMPでWebアプリ作ったんですが、ソフトを公開しなければイケナイんですか?



679 :nobodyさん:2005/10/26(水) 19:18:22 ID:???
教えてください

ファイルをアップロードする場合
<input type=file name=hoge>
という風にした場合、アクセスするのは$_FILES['hoge']を使うとおもうのですが

inputタグのネームが任意の場合どうすればよろしいのでしょうか?
例えば、$filename='hoge';として$_FILES['$filename']って風にアクセスできるのでしょうか?
↑をやってみたのですがうまくいかなくて、いきずまってます。

680 :nobodyさん:2005/10/26(水) 19:24:46 ID:???
シングルクォーテーションがイラネ

681 :nobodyさん:2005/10/26(水) 19:26:56 ID:???
>>679
$_FILES[$filename] または $_FILES["$filename"] だな。
オマイさんの書いた ' と " の違いに注意ね。

682 :nobodyさん:2005/10/26(水) 19:31:56 ID:???
>>680-681

レスありがとう!
ごめんなさいシングルクォーテーションはつかってなかったです。タイプミスです。

ほかに原因があることが判明していまいました。ごめんなさーーい
忘れてください。

683 :nobodyさん:2005/10/26(水) 19:34:40 ID:???
>>682
なんぢゃぁ、それは。
初心者の微笑ましい質問かと思ったぢゃねぇか。コンチキショウめ。

684 :nobodyさん:2005/10/26(水) 20:27:51 ID:???
いっぺん死ねよ。

685 :nobodyさん:2005/10/26(水) 20:52:57 ID:???
<チラシの裏>
ctype_digit('') は true になる
is_numeric('') は false になる

ハマリかけたよ。。。早めに気付いて良かった。
</チラシの裏>

686 :nobodyさん:2005/10/26(水) 21:10:17 ID:pZpCFSD9
cgi-lib.plのPHP版みたいなのがあるらしいのですが、
配布場所教えてくれませんか?
御願いします。。

687 :nobodyさん:2005/10/26(水) 21:26:52 ID:???
>>686
それ使うと何ができるの?
更に言うと、何がしたくて探してるの?

688 :nobodyさん:2005/10/26(水) 21:29:09 ID:pZpCFSD9
>>687
cgi-lib.plを使ったPerlを作ったことがあるのですが、
今度はPHPを初めて見たいと思い、
まずはそのPerlで作ったスクリプトをPHPにしたいのです。。

689 :nobodyさん:2005/10/26(水) 21:29:59 ID:???
cgi-lib.php

690 :nobodyさん:2005/10/26(水) 21:30:38 ID:???
マジレスするとPEARでも行けよ。

691 :nobodyさん:2005/10/26(水) 21:39:55 ID:pZpCFSD9
>>689
そういうのがあるのですか…
Googleで検索してみます。

>>690
正直言いますと、PEAR等のサイトは私には難しい、というか…
英語ならあまり分かりませんが、翻訳サイトを使えば問題ないのですが。。

692 :nobodyさん:2005/10/26(水) 21:44:03 ID:???
cgi-lib.phpがあったとして、その中身は何だ?
エイリアスっぽい関数が並んでるだけか?

693 :nobodyさん:2005/10/26(水) 21:51:21 ID:???
>>691
何がしたいか知らんが
cgi-lib.plの機能のほとんどがPHPでは標準関数として揃っている。

どうせ、フォームリクエストのデコードぐらいでしょ。
$_REQUESTで事足りる。

694 :nobodyさん:2005/10/26(水) 21:52:38 ID:pZpCFSD9
>>692
私のPerlのスクリプトでは
require './cgi-lib.pl';
としているので、
PerlからPHPに変換する時に、cgi-lib.plと同等のライブラリ(例えばjcode.plのPHP版でjcode.phpがあるように)
が有れば、
はかどるのではないかと思いまして。。

ですので中身としては、やはり関数ということになると思います。。


695 :nobodyさん:2005/10/26(水) 22:00:02 ID:pZpCFSD9
>>693
そうなのですか。。
関数リファレンスをもう一度漁ってきます。。
Perlのスクリプトでは最初の方で、&ReadParse(*in);を使っているのですが、
その時点でつまずいてしまって…
ReadParseサブルーチンの役目は、フォームから引継いだ値を配列で持たせる機能
と認識しておりますが。。

696 :nobodyさん:2005/10/26(水) 22:06:18 ID:???
いつまでグダグダ言ってんだか……

697 :nobodyさん:2005/10/26(水) 22:07:37 ID:???
>>695
関数ではないんで関数リファレンスでは探しきれないかもね。
PHPではフォームから送信された変数は
 $_GET, $_POST, $_COOKIE, $_FILES
というグローバル配列に *自動的* に格納されている。
また、これらを一つの変数に押し込んだ $_REQUEST もある。
詳しくはPHPマニュアルの "定義済の変数" 辺りを参照のこと。

698 :nobodyさん:2005/10/26(水) 22:08:44 ID:???
本を買え。立ち読みでもいい。前半に出てくる。

699 :nobodyさん:2005/10/26(水) 22:10:17 ID:pZpCFSD9
>>696
すみませんでした。。

>>697
ご回答有り難う御座いました。

また、他の方々も有り難う御座いました。
ROMで頑張ってみます。

700 :nobodyさん:2005/10/26(水) 22:11:30 ID:OwFeh4eM
こんばんは。坊な質問で大変、恐縮ですが、
Apacheダウンロードが終わって、
XPのスタートメニューからApache HTTP Severの中にある筈の
Start Apache in Consoleがないので起動出来ません。
(Configure Apache Server…Review Server Log files…
Apache Dos Online…Help I'm Stuck!は有ります)
これはダウンロードの失敗なのでしょうか?
間抜けな質問で恐れ入りますが、
ご教示下さる様、よろしくお願い致します


701 :nobodyさん:2005/10/26(水) 22:19:05 ID:???
インストールするといいと思うよ

702 :700:2005/10/26(水) 22:24:34 ID:OwFeh4eM
すいません。
ダウンロード→インストゥールの間違いです。

703 :nobodyさん:2005/10/26(水) 22:29:04 ID:???
(´-`).。oO(PHPどころかWebProgの質問じゃない気が・・・)

704 :nobodyさん:2005/10/26(水) 22:31:14 ID:???
>>702
Apache2系なら、管理ツールのサービスにApache2が登録されているはずなので、
そこから開始すればいいのでは?
登録されていなければインストールが上手くいってないのかもね。
あと、ここはPHPのスレなのでApache本体の話はしかるべきスレに移動した方がいいと思われ。

705 :704:2005/10/26(水) 22:37:03 ID:???
>>704
手動でサービスに登録してみたらどうなる?とかの話はあるんだけど
スレ違いだからあえて書いてないので、念のため。

706 :nobodyさん:2005/10/26(水) 22:40:32 ID:???
なんだこのバカ

707 :nobodyさん:2005/10/26(水) 23:14:59 ID:???
ディレクトリ(test)を生成してファイル(aaa.html)を保存したいのですが、
うまくいきません。
何がいけないのでしょうか?

<?php

$dir = "test";
mkdir($dir,0777);
chmod($dir,0777);

$file = "sample";
@$fp = fopen("./{$dir}/aaa.html","w");
@fputs($fp, $file);
@fclose($fp);

?>

708 :nobodyさん:2005/10/26(水) 23:18:04 ID:???
何が起きているか分かるかもしれないのに自分で潰しているに1票

709 :nobodyさん:2005/10/26(水) 23:23:26 ID:???
>>707
ファイル操作周りの命令の先頭になぜ @ を付けている理由は何?
意味が判って付けているのかな。

710 :707:2005/10/26(水) 23:30:59 ID:???
分かってますよ!!馬鹿にしてるんですか!!!??

711 :nobodyさん:2005/10/26(水) 23:32:37 ID:???
>>707 >>710
じゃ、言ってみ。

712 :707:2005/10/26(水) 23:32:45 ID:???
頭に@をつけるのは配列という意味ですよね。

713 :707:2005/10/26(水) 23:34:43 ID:???
すみません、自己解決しました

714 :707です。:2005/10/26(水) 23:35:42 ID:???
成りすましが迷惑です。

715 :707:2005/10/26(水) 23:37:43 ID:???
>>714
@の意味が分ってない上に、自己解決したら原因も書かずに
立ち去ろうとするアホだから成りすまされるだよ(ゲラ)
どうせパーミッションが原因だろうがお前の方がもっと迷惑。

716 :nobodyさん:2005/10/26(水) 23:38:24 ID:???
@で配列ってPerlじゃね?

717 :nobodyさん:2005/10/26(水) 23:54:58 ID:???
なに、この流れ…

718 :nobodyさん:2005/10/26(水) 23:56:53 ID:???
成りすまされたくなかったらトリップ付けろと

719 :nobodyさん:2005/10/26(水) 23:57:20 ID:???
>>707
とりあえず、エラー制御演算子を外してどんなエラーが出てるか読んでみたら?

720 :638:2005/10/27(木) 00:17:02 ID:MXg6eyU8
うあー、SELinuxいじってもやっぱり動作しなさげです。

<?php
$fp = fopen("./test.txt","w");
fwrite($fp, "This is a test file.\n");

$image = imagecreate(300, 300);

fwrite($fp, "a\n");
$yellow = imagecolorallocate($image, 255, 255, 0);

fwrite($fp, "b\n");
imagefilledrectangle($image, 0, 0, 300, 300, $yellow);

fwrite($fp, "c\n");
imagepng($image, "./testimage.png");

fwrite($fp, "d\n");
imagedestroy($image);

fwrite($fp, "e\n");
fclose($fp);
?>

ブラウザで実行すると
This is a test file.
とだけ書かれたテキストファイルが生成されます。
テキストファイルは生成できているからパーミッションとかは
問題ないのかなあと。
ターミナル上では画像ファイルも作られるのに。。

どなたかアドバイスをお願いします<(_ _)>

721 :nobodyさん:2005/10/27(木) 00:46:53 ID:???
>>720
CLI版とモジュール版が別オプションでコンパイルされているとか

722 :nobodyさん:2005/10/27(木) 00:49:53 ID:T3Iq0N9f
PEAR XML_RPCのバージョンを上げるにはどうすればいいんですか

723 :nobodyさん:2005/10/27(木) 00:50:47 ID:???
>>720
ってことは、imagecreateの行でおそらくFatal Errorかなんかで止まってるってことだよね?

単純にエラーが出力されてないだけって事は無いの?
つ error_reporting(2047)

724 :nobodyさん:2005/10/27(木) 00:59:37 ID:???
>>719 ありがとうございます。↓がエラー、、

Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10452 is not allowed to access /virtual/net/public_html/***/*** owned by uid 1000 in /virtual/net/public_html/***/***.php on line 10
Warning: fopen(./test/aaa.html) [function.fopen]: failed to open stream: No such file or directory in /virtual/net/public_html/***/***.php on line 10
Warning: fputs(): supplied argument is not a valid stream resource in /virtual/net/public_html/***/***.php on line 11
Warning: fclose(): supplied argument is not a valid stream resource in /virtual/net/public_html/***/***.php on line 12

725 :nobodyさん:2005/10/27(木) 01:11:53 ID:???
>>724
書いてる通りだ。よかったな、解決したじゃないか。

…で、ここにいる全員が予想していた通り、>>715だったと。

726 :nobodyさん:2005/10/27(木) 01:16:28 ID:???
>>724
じゃ、1つ目のエラーを解決できれば、2つ目以降は問題無いよね。
で、つまり、セーフモードがTrue(1)になっていて、PHPがフォルダの所有者うんぬんが一致するか見にいって、
マッチしないからエラーを吐き出してるんじゃない?

そんなわけだから、>>715 の言ってる事そのまんま。
そのまんまかよっ!

727 :638:2005/10/27(木) 01:30:19 ID:MXg6eyU8
>>721
コンパイルはyum任せだから特別なオプションは付けてないです。

>>723
error_reporting(2047)でも
エラーは吐かれませんでした。。。

728 :nobodyさん:2005/10/27(木) 01:34:18 ID:???
>>727
>721が原因とは限らないが、他人任せだからってオプションが同じとは限らない。
それは肝に銘じておけ。
そしてバグをつぶすときはすべての可能性をチェックしろ。

729 :nobodyさん:2005/10/27(木) 02:48:54 ID:SR8ORD3F
>>724じゃないけど、質問します。

safe_modeがオンになってる(変更不能・共有型のレンタルサーバなどの)場合、
スクリプトによって(ウェブ鯖が)フォルダを作る時のuidと実行中のスクリプトのuidが一致しないと
1つのスクリプト実行中にフォルダ作成→作成されたフォルダをいじる(中にファイルなどを作る)って出来ないの?

とんちんかんな質問だったら申し訳ないんだが、誰かおせーて

730 :nobodyさん:2005/10/27(木) 05:22:13 ID:???
http://jp.php.net/manual/ja/features.safe-mode.php

731 :nobodyさん:2005/10/27(木) 07:03:24 ID:???
>>729
そうだよ
必要なディレクトリは前もって作っとけ

732 :nobodyさん:2005/10/27(木) 10:27:12 ID:???
PHP製の拍手システムスクリプトって配布されてないのでしょうか?
1つ見つけたんですが、セキュリティ上問題っぽいので却下

733 :nobodyさん:2005/10/27(木) 10:29:43 ID:???
>>732
直して使えばいいのに

734 :nobodyさん:2005/10/27(木) 10:39:29 ID:???
>>733
直してというのは、その配布プログラムのことでしょうか?
それとも既存のPrel版システムのことでしょうか?

前者はログを淡々とHTMLに書き出していくだけの機能なので、
考えている形(既存のほかのシステムに近い形)にするには
結局時間がかかりそうです。

後者に関しては、もし存在しなければその方法で行くつもりでした。
Prelに詳しくないのでとっつきづらいですが

735 :nobodyさん:2005/10/27(木) 10:55:58 ID:???
>>734
>考えている形(既存のほかのシステムに近い形)にするには 
>結局時間がかかりそうです。 

>>732 にはセキュリティ上の問題って書いてあるから,
それを直して使え,って書いたんだけど・・・
機能不足なら具体的に何が足りないのか書いて.

あと,Prel ってなんですか?

736 :nobodyさん:2005/10/27(木) 10:59:31 ID:???
>>734
Prelって何?プレル?
つーかまずその見つけたPHPのスクリプト晒せばいいのに。

737 :nobodyさん:2005/10/27(木) 11:05:57 ID:???
「セキュリティに問題がある」と分かる知識があるはずなのに・・・?

738 :nobodyさん:2005/10/27(木) 11:10:30 ID:???
変な見栄張りたい年頃なんじゃね?
温かく成長を見守ってやろうよ。

739 :nobodyさん:2005/10/27(木) 11:14:42 ID:???
「web拍手 PHP版」でググっても、作ってくれとかいうのしかヒットしないなぁ。
公式ページを見た感じだとそう難しい事をしているわけでも無さそうだし、
機能を洗い出して一からPHPで書き直すのがいいんでないかい?
perlを良く知らないみたいだし、perl版に手を加えるよりもよいかと。
作ったものに自信が無い場合は、評価スレでコードレビューしてもらえばええよ。

740 :軟式PHP:2005/10/27(木) 11:19:40 ID:???
Web拍手ってボタン押すだけの投票でしょ?
セキュリティ上問題ってどんな作り方してんだつーのwww

741 :nobodyさん:2005/10/27(木) 11:41:31 ID:???
mb_convert_encodingでつまずいています

ISO-2022-JPとJISって全く同じものなのでしょうか
それともISO-2022-JPはJISの一つなんでしょうか

よろしくお願いします。

742 :734:2005/10/27(木) 12:03:09 ID:???
派手にスペル間違えてた、ハズカシス

スクリプト自体は「PHP WEB拍手」でググって先頭にくるやつです。
セキュリティ上の問題って書いたのはそこが一番引っかかってたから。
(IP等の個人情報もベタにHTML出力している為、
出力先が分かれば個人情報駄々漏れ)

良く考えたら出力先をパーミッション変えて
直接参照できないようにすれば済む問題だったんですが、
それだと一々確認するのがメンドクサイな、と。
もしくはそういった情報を書き出さないようにするか。
(htaccessでパスワード制限かける手もあるか)
(そもそもセキュリティ上の問題とはちょっと違うかも)

どっちにしろ、一言メールフォームみたいな感じで
考えてたのと違ったので、改変するのに時間かかるなという話で。

結局、そういったスクリプトは無いでFA?
だとしたら、仰る通り一から作るのが早そうですね。
暇が出来たら頑張ってみます

743 :729:2005/10/27(木) 12:18:39 ID:???
>>731
そか。ってことは、何かスクリプト作って不特定の人達に配布する時はその辺りも考慮しないといけないんだな。
勉強になったよ。ありがと。

744 :nobodyさん:2005/10/27(木) 12:18:53 ID:???
>>741
ググってないでしょ?

745 :nobodyさん:2005/10/27(木) 12:22:03 ID:???
>>742
暇だったのでそのスクリプトを読んでみたんだが。
IPアドレスをベタにHTML出力している件は、出力しないようにすればいいだけだし
ログファイルがURL直叩きで見える件は、ログファイルの出力先をURLでは参照できない位置に
変更すればいいし…
変更するのに5分もかからないだろ。
何が言いたいんだ?

746 :nobodyさん:2005/10/27(木) 12:25:35 ID:???
>>744
ググったんですが、同じというような事しか書いてなかったんです。
でもどうみても違うような動作をしていたので
質問してみました。

747 :nobodyさん:2005/10/27(木) 12:28:47 ID:???
>>746
違うような動作をする例も質問といっしょに書かないと伝わらない.

748 :nobodyさん:2005/10/27(木) 12:33:23 ID:???
>>747
mb_convert_encodingの第3引数に
JISを指定すると文字化けが起きて、
ISO-2022-JPを指定すると文字化けがおきませんでした

同じものだと思っていただけに納得いきませんでした

749 :nobodyさん:2005/10/27(木) 12:36:37 ID:???
>>748
具体的にどんな文字列を渡したのか,
どうやって出力したのか,
そういう情報を含めるとより伝わりやすい.

750 :734:2005/10/27(木) 12:37:10 ID:???
>>745
いや、まぁ。
IPとか直接参照に関してはすぐ対処出来ないことは無いけど
結局、欲しい機能が大幅に足りないから
使うにしても結構手を入れなきゃいかんし、
だったら皆さんのレスにあったように1から作った方が早いかな、と。
それだけのことで

751 :nobodyさん:2005/10/27(木) 13:03:20 ID:???
>>750

>>732
>PHP製の拍手システムスクリプトって配布されてないのでしょうか?
>1つ見つけたんですが、セキュリティ上問題っぽいので却下

↑↑どこをどう縦読みすれば
>欲しい機能が大幅に足りないから
が見つかりますか?

752 :nobodyさん:2005/10/27(木) 13:04:34 ID:???
Content-Type: text/plain; charset=jis

って書いているだけだったりして・・・

753 :734:2005/10/27(木) 13:48:47 ID:???
>>751
いや、1回目のカキコでは書いてる時点ではそれが問題だと思ってて、
あとから良く考えたらこの出力結果じゃ必要な機能無いことに気付いて。
2回目以降はそれ(セキュリティ面)は解決できるけどって言う前提で書いてた

まぁ、あんまり出てきてもうざいんで消えます。
作成頑張る

754 :nobodyさん:2005/10/27(木) 14:51:33 ID:???
>>748
3番目の引数に"ISO-2022-JP"を指定するとISO-2022-JP、"JIS"を指定するとISO-2022-JP-1かISO-2022-JP-2になる希ガス。
前者には半角カナや補助漢字が含まれていない。
文字化けの原因は、具体例挙げてくれないと何とも言えないが、両者の間に動作の違いがあるのは確か。
この辺のmbstringの挙動についてドキュメント化されたものは見つからなかったが、ソース見れば動作に違いがあることは明らか。
PHP4ならext/mbstring/mbfilter_ja.c、PHP5ならext/mbstring/libmbfl/filters/mbfilter_jis.cを参照。
マイナーバージョンによって多少ソースの場所が違う可能性もあり。

755 :nobodyさん:2005/10/27(木) 15:05:32 ID:???
>>753
別に出てきても構わんよ。
このスレはどっちかというと煽り進行なのであんま気にすんな。

756 :nobodyさん:2005/10/27(木) 15:11:06 ID:???
>>753
次からは”自分だけの前提”を作らないように、よく考えてから書き込みましょう。

まぁ、あれだ。日本語勉強してくれ('A`)

757 :nobodyさん:2005/10/27(木) 15:12:06 ID:???
>>755
質問スレってどこも煽り進行だしな。

>>753
ガンガレ

758 :nobodyさん:2005/10/27(木) 15:16:57 ID:???
自演乙

759 :nobodyさん:2005/10/27(木) 16:48:31 ID:???
ワイルドカードを許すfile_existsみたいな関数って
用意されていませんか?

001.jpg
002.png
003.jpg
003.gif
004.png

というファイルが入ってるディレクトリdirに対して

file_exists('dir/001.*'); -> true
file_exists('dir/010.*'); -> false
file_exists('dir/003.*'); -> true

のような動作をする関数です

760 :nobodyさん:2005/10/27(木) 16:51:32 ID:???
性器氷原

761 :nobodyさん:2005/10/27(木) 17:24:15 ID:???
file_existsに性器評言が使えるとは知らなんだなぁ…

762 :nobodyさん:2005/10/27(木) 17:31:29 ID:???
>>759
つ [glob]

763 :nobodyさん:2005/10/27(木) 17:32:30 ID:???
>>759
システム関数でls実行させる

764 :nobodyさん:2005/10/27(木) 18:47:20 ID:???
$list = 'hoge|hage|goo|boo|foo|var';
$tgt = 'hoge';
これで、$tgtが$listに含まれるかどうかを調べるとします。

この場合、
if(strpos($list, $tgt)){}

if(strstr($list, $tgt)){}
ではどちらを使うのが良いのでしょう?


765 :nobodyさん:2005/10/27(木) 18:54:17 ID:???
>>764
下。上(strpos)だと{}は実行されないと思うが

766 :764:2005/10/27(木) 18:59:11 ID:???
>>765
ごめんなさい。
質問自体を間違えました。

if(!strpos($list, $tgt)){}

if(!strstr($list, $tgt)){}

で、含まれない場合のみ条件分岐したい場合です。

767 :nobodyさん:2005/10/27(木) 19:03:42 ID:???
>>766
下。上(strpos)だと>>764の例($list,$tgt)でも{}内は実行されると思うが

768 :nobodyさん:2005/10/27(木) 19:05:11 ID:???
phpのスクリプトは
ファイル先頭〜<?phpと
?>〜<?phpと
?>〜ファイル末尾の3種類の変数展開されないヒアドキュメントが
自動的に標準出力へechoされるという認識で問題ありませんか?

769 :nobodyさん:2005/10/27(木) 19:09:11 ID:???
>>768
PHPの勉強の前に日本語の勉強をしてください

770 :nobodyさん:2005/10/27(木) 19:14:46 ID:???
>>766
ワザワザ混乱しやすい書き方をしなくても、これでいいのでは?

if(strpos($list, $tgt) === FALSE){
 echo "含まない";
}

if(strstr($list, $tgt) === FALSE) {
 echo "含まない";
}

771 :nobodyさん:2005/10/27(木) 19:20:35 ID:???
>>768
ttp://www.php.net/manual/ja/language.basic-syntax.php

772 :768:2005/10/27(木) 19:53:40 ID:???
>>771
ありがとうございます。
?>〜<?phpを跨ぐスクリプトを初めて見たときはギャグだと思いましたが、うまいこと出来てるんですねえ。

773 :nobodyさん:2005/10/27(木) 19:59:06 ID:???
というか基本中の基本

774 :nobodyさん:2005/10/27(木) 20:04:27 ID:???
質問なんですが、
<?php
$outputname="abc.xml";
header("Content-Type: text/xml");
header("Content-Disposition: attachment; filename=$outputname");
require('abc.php');
?>
と書いてabc.phpが作成したxmlファイルをダウンロードさせると
いうプログラムを書いたのですが、これをダウンロードではなく
他のサーバにアップロードさせるという事は可能ですか?
分かる方教えてください。

775 :nobodyさん:2005/10/27(木) 20:18:00 ID:???
>>772
動くけどかなり読みにくいコードになるから,使わない方がいい書き方だけどね.

776 :nobodyさん:2005/10/27(木) 20:37:11 ID:???
>>774
受け取る側(アップロードされる側)がどのようになっているかによるけど、
一般的な方法だと、RFC1867で定義されているHTTPファイルアップロード
(<input type="file">のやり方)か、FTP関数を使ってFTPでアップロード。

777 :764:2005/10/27(木) 20:43:45 ID:???
>>770
ありがとうございます。
マニュアルを見たりすると、確かにその書き方が素直ですね。
勉強になりました。
ところで、本題に戻りますが、結局のところ、
この場合、strposとstrstrではどちらを使うのが良いのでしょうか?

778 :nobodyさん:2005/10/27(木) 20:51:42 ID:???
>>777
既に二人が strstr() を上げてるわけだけど,
その問題はそんなに重大なの?

同じことをするのにあるところでは strpos, 別のところでは strstr,
ってなってなければどっちでもいいと思うんだけど..

あるいは専用の関数を作って,あとから strpos/strstr を切り替えれるようにするとかさ・・・


779 :nobodyさん:2005/10/27(木) 21:34:05 ID:???
>>777
>>764-767の様式だと指摘されている通り、strposでは正常に動かない
>>770であればどちらでも同じ。
好きな方をどうぞ。混乱するなら"===FALSE"を使う770を勧めるが

780 :nobodyさん:2005/10/27(木) 21:39:08 ID:Vm7GcHkR
hoge.php?foo
のfooの部分を取得したいんですが、どうやるんでしょうか?
hoge.php?foo=abc
こうやって渡さないとダメですか?
前者みたいなアドレスを見た記憶があるんですが・・・

781 :nobodyさん:2005/10/27(木) 21:44:18 ID:???
>>780
phpinfo()を使って、どっかの変数に渡されていないか確認してごらん。

782 :nobodyさん:2005/10/27(木) 21:48:39 ID:Vm7GcHkR
ありがとうございます。

783 :nobodyさん:2005/10/28(金) 00:28:11 ID:Mre4QHxw
MySQLの応答でEmpty set (0.00ms)と出るのをPHPでどう判断したらいいですか?
if($result == "") { error(); }
if($result == NULL) { error(); }
if(empty($result)) { error(); }
どれもダメでした・・・

784 :nobodyさん:2005/10/28(金) 00:38:01 ID:???
>>783
if (mysql_num_rows($result) <= 0) { error(); }

785 :nobodyさん:2005/10/28(金) 05:11:16 ID:???
>>784
横からスマソ。
mysql_num_rowsって負の値が返ってくることはあるの?


786 :nobodyさん:2005/10/28(金) 06:05:37 ID:???
784じゃないけど

負の値が返るって無いと思うけど、ありえない(と思われる)ことも考慮してエラーにする
ってことは普通してるけどな

787 :nobodyさん:2005/10/28(金) 06:41:57 ID:???
>>786
まあ程度の問題。
fcloseとかもmanpageには戻り値見ないのは重大な問題みたいに書いてあるけど
実際気にしてないし。

788 :nobodyさん:2005/10/28(金) 07:40:00 ID:???
>>777
strposで先頭にマッチ(戻り値が0)したときのことを理解していればどっちでも良い

789 :nobodyさん:2005/10/28(金) 08:04:31 ID:???
レンタルサーバ上で、PHP_INI_ALLになっている設定項目(include_path)を
ini_setで変更しようとしているのですが、phpinfo()で確認しても変更されていません。
これはサーバ側で変更されないように制限しているということなのでしょうか?

790 :nobodyさん:2005/10/28(金) 11:38:56 ID:???
>>789
・ini_set(include_path)はどんな値を返してるんだ?(0か?)
・同じスクリプトの中でini_set()とphpinfo()を書いて確認してるよな?


791 :nobodyさん:2005/10/28(金) 13:04:40 ID:???
> ・同じスクリプトの中でini_set()とphpinfo()を書いて確認してるよな?

これの予感 ビンビン

792 :nobodyさん:2005/10/28(金) 14:32:52 ID:???
もちろんかいてます(`・ω・´)
<?php
phpinfo();
ini_set("include_path", "hogehoge");
?>


とか。(´・ω・`)

793 :nobodyさん:2005/10/28(金) 15:04:37 ID:???
<?php
ini_set("include_path", "hogehoge");
phpinfo();
?>

794 :nobodyさん:2005/10/28(金) 15:36:01 ID:traX7I47
質問です。

RHEL4にphp3はインストールできますでしょうか?
apache2がphp3に対応してないというのは調べたのですが、それ以外はわからないです。
OSが有償なので、手元に環境を作れなくて困ってます。
よろしくおねがいします。

795 :nobodyさん:2005/10/28(金) 15:48:11 ID:???
>>794
RPM使わずに自分でビルド

796 :nobodyさん:2005/10/28(金) 16:11:20 ID:???
>>794
>apache2がphp3に対応してない
してなくはない。CGI版のphp3を使え。
つか今時どういう用途でセキュアでないphp3使うの?

797 :nobodyさん:2005/10/28(金) 16:31:53 ID:???
randとmt_randの違いって…







何?

798 :nobodyさん:2005/10/28(金) 17:07:24 ID:???
>>797
ちっとはマニュアル読めよ。せっかく日本語訳(完全じゃないし、誤字脱字多いけど)があるのに。
ttp://jp2.php.net/manual/ja/function.mt-rand.php

=以下上記アドレス先の中の抜粋=
古いlibcの多くの乱数発生器は、怪しげであるか特性が不明であったり し、また低速でした。
デフォルトでは、PHP は rand() においてlibcの乱数発生器を使用します。
mt_rand() 関数は、その代替品となるものです。
この関数は、その特性が既知の乱数生成器 Mersenne Twister を使用し、
平均的な libcの rand()よりも 4 倍以上高速に乱数を生成します。

799 :nobodyさん:2005/10/28(金) 17:15:35 ID:???
ログをファイルに出力しようと思っています。

排他制御について聞きたいのですが、
ファイルを毎回操作するとファイルが消えないか心配なので
(ファイルロックを過信したくない)
postgresにログをダンプしておいて、
一定時間ごとにファイルに出力する
といった方法を考えていますが
こうすることで排他制御の信頼性はあがりますか?

800 :nobodyさん:2005/10/28(金) 17:22:32 ID:???
排他制御は信頼性じゃなくて信頼できるかできないかのどっちかだよ

801 :nobodyさん:2005/10/28(金) 17:43:08 ID:???
DB使えるならそっちでいいのでは。

802 :797:2005/10/28(金) 17:45:58 ID:???
>>798
わざわざ抜粋までしてくれてありがとう。胸のもやもやが晴れました。

803 :nobodyさん:2005/10/28(金) 18:42:04 ID:???
>>790
> >>789
> ・ini_set(include_path)はどんな値を返してるんだ?(0か?)

ini_set自体は
string(41) ".:/var/tmp/httpd-1.3.33-root/PHP4/lib/php"
というサーバ規定値を返しています。

> ・同じスクリプトの中でini_set()とphpinfo()を書いて確認してるよな?

>>793と同じように記述しています。

804 :nobodyさん:2005/10/28(金) 20:09:41 ID:???
phpBB2へのFTPパスって一体なにのことですか?
http://自分のアドレス/bbs/install/install.php にアクセスして、
自分のサーバに適するように設定しました。
セキュリティのため「install」と「contrib」フォルダを完全に削除するのがよく分からなかったのですが、
右クリックでR削除しました。
成功していれば、http://自分のアドレス/bbs/自分の掲示板が表示されるはずですらしいのですが、
また
”ようこそphpBB2のセットアップ画面へ”
になってしまって、新規では出来なくなってしまいました。
登録終わったはずなんですが、何度リロードしても
http://自分のアドレス/bbs/install/install.phpになってしまって、
まったく先へ進めません。
”アップグレード”にして登録しなおしても駄目です。
というか、そのアップグレードの際に聞かれるphpBB2へのFTPパス
っていうのがわかりません。
すみません、なにか助言お願いします。

805 :nobodyさん:2005/10/28(金) 20:18:40 ID:???
えぇと・・エスパーかphpBB2利用者の方、出番ですよ

806 :nobodyさん:2005/10/28(金) 20:38:59 ID:???
解決!!

807 :nobodyさん:2005/10/28(金) 20:44:49 ID:???
いかなる状況でも

//index.html
<a href="hoge.php">クリック</a>

で呼び出したhoge.php側で、自分を呼び出したindex.htmlのファイルパスを特定することってできますか?

808 :nobodyさん:2005/10/28(金) 20:47:44 ID:???
URLからファイルパスを推測してください

809 :807:2005/10/28(金) 20:52:31 ID:???
/dir1/dir2/index.html
から
/dir1/hoge.php

を呼び出したとき

//index.html
<a href="../hoge.php">クリック</a>

それでもhoge.phpにて自分を呼び出したファイルのパスを推測することは可能ですか?

810 :nobodyさん:2005/10/28(金) 20:55:35 ID:???
>>809
リファラー+自前処理

811 :nobodyさん:2005/10/28(金) 21:00:28 ID:???
どうも>>774の者ですが、FTPでの転送は下記のように出来ましたが、
$upload = ftp_put($conn_id, $destination_file, Auto.GIF, FTP_BINARY);

>>774に書いたようにPHPで作成(表示)したxmlファイルをアップロード
するにはどうしたらよいでしょうか?よろしくお願いします。

812 :807:2005/10/28(金) 21:32:24 ID:???
>>810
> リファラー+自前処理

もしノートンとかリファラーが取れないシステムをクライアントが使っていたら
この方法は無理ってことですか?

813 :nobodyさん:2005/10/28(金) 21:44:41 ID:???
いかなる状況でも <<これのせいで誰も答えられないと思われ。
セッションとか色々方法はあるけどな

814 :nobodyさん:2005/10/28(金) 21:54:25 ID:???
>>813
セッションはCookie受け付けないように設定している香具師には無意味だったんじゃね〜のか?

815 :nobodyさん:2005/10/28(金) 22:03:01 ID:???
>>814
自分で、クッキー拒否って試しみれば?

816 :807:2005/10/28(金) 22:10:11 ID:???
>>813
なるほど、セッションで可能になるんですね。
セッションに関して調べてみます。

817 :nobodyさん:2005/10/28(金) 22:41:45 ID:???
>>811
関数の引数がファイル名を要求しているのだから、アップロード用に一時ファイルを作成すればよろし

818 :nobodyさん:2005/10/28(金) 22:50:56 ID:deFUSwPy
http://all.netgamers.jp/ad11.html

ここにあるスマイルってどこでダウンロードできますか?

819 :nobodyさん:2005/10/28(金) 22:53:13 ID:???
>>818
マクドナルド

820 :nobodyさん:2005/10/28(金) 22:54:56 ID:???
>>818
リンク見てないけどたぶんマクドナルド

821 :nobodyさん:2005/10/28(金) 23:08:03 ID:deFUSwPy
ちがいますよぉw
ほんとにお願い。

822 :nobodyさん:2005/10/28(金) 23:18:29 ID:???
>>818

>初期状態であれば /images/smiles にあります。

って書いてあるが。

823 :nobodyさん:2005/10/28(金) 23:21:20 ID:???
array('a', '1', 'b', '2')
というただの配列を
array('a'=>'1', 'b'=>'2')
て感じに連想配列に変換してくれる標準関数というのはありますか?
マニュアルの配列のところをざっと見てみたんですけどそれらしいのは無かったので・・

824 :nobodyさん:2005/10/28(金) 23:22:43 ID:???
>>823
無い。ていうかあるわけが無い。

825 :nobodyさん:2005/10/28(金) 23:33:59 ID:deFUSwPy
>>822
ないのだ。
黄色い、外人がよく使うオーバーな顔文字しかないのだ・・・。

826 :nobodyさん:2005/10/28(金) 23:38:27 ID:???
>>824
そうですか(´・ω・`)
SEO対策に、'PATH_INFO'で受け取った文字列を配列にしたかったんですけど、自分で書くしかないですね。

827 :nobodyさん:2005/10/28(金) 23:38:31 ID:???
>>823
ないけど、速攻書けるでしょ。

$src = array('a', '1', 'b', '2');
$dst = array();

for ($i = 0; $i < count($src); $i++, $i++)
 $dst[$src[$i]] = $src[$i + 1];

828 :nobodyさん:2005/10/29(土) 00:51:55 ID:???
>>825
俺のテレパス能力を駆使したところ、おまえは「そのページにある
"2ch風のスマイリー画像"が欲しいのだがどこにあるのか?」と読めた。


管理人に聞けよ。問い合わせフォームあるんだからさ。

829 :nobodyさん:2005/10/29(土) 02:40:20 ID:???
>>817
ありがとうございます。
参考にしてみます。


830 :nobodyさん:2005/10/29(土) 04:59:06 ID:hGe3IwmV
PHP5のExceptionはどうしても手動で投げなくちゃいかんですか?

831 :nobodyさん:2005/10/29(土) 05:02:20 ID:???
>>830
いみがわからない
具体例を挙げよ

832 :nobodyさん:2005/10/29(土) 05:29:46 ID:???
>>831
JavaScriptなら手動でthrowしなくても、try中のエラーを拾ってくれるんですが、
PHPではそういうことはできませんか?

833 :nobodyさん:2005/10/29(土) 05:34:23 ID:???
>>832
そういうのってPHPではエラーとかwarning出すからねぇ
必要なら自分で投げるしかないよ

834 :nobodyさん:2005/10/29(土) 06:04:52 ID:???
selfが使えるようになったのって、php5からでしたっけ?

835 :nobodyさん:2005/10/29(土) 06:06:14 ID:???
関数内から、その関数の名前を取得することはできますか?

836 :nobodyさん:2005/10/29(土) 06:06:51 ID:???
>>833
やはり手動になりますか。どうもありがとう。

837 :nobodyさん:2005/10/29(土) 06:07:22 ID:???
>>835
__FUNCTION__

838 :835:2005/10/29(土) 06:18:12 ID:???
>>837
すごー! 早速できました、ありがとうございます。
(でも基本だったりしたかもですね。。)

839 :nobodyさん:2005/10/29(土) 06:22:23 ID:???
>>834
そうだけど

840 :834:2005/10/29(土) 06:25:35 ID:???
>>839
どもです。やはりそうでしたか。

841 :nobodyさん:2005/10/29(土) 07:08:42 ID:???
レッツPHPのPHPぁぷろだで、うpから24時間経過したファイルを自動的に削除するようにしたいんですが

842 :nobodyさん:2005/10/29(土) 07:13:45 ID:???
>>841
んで、自分でどこまでやったの?

843 :nobodyさん:2005/10/29(土) 07:29:43 ID:???
通常はファイルが追加されたときに古い分から削除するようになってますよね
だからログへの書き込みが発生しないと削除という動作も発生しないわけで
例えば24時間誰もアクセスしなくても削除されるようにしなきゃならないためには
アクセスしなくても常に動作してなくちゃいけないわけで、それってできるのかなって段階です

844 :nobodyさん:2005/10/29(土) 07:34:43 ID:???
>>843
cronっていうのを使えば可能だけど、PHPの範疇ではないのでググって調べてみ。

845 :nobodyさん:2005/10/29(土) 08:34:34 ID:IUjor8kw
evalは、実行の最中に後からコンパイルしなければいけないので
遅いと聞いたことがありますが、
ということは
$$hogeという変数の書き方をした場合もやはり遅くなるのでしょうか?
それともPHPでは変数はもともと動的に
型付けされているから遅くならない…?

846 :nobodyさん:2005/10/29(土) 10:48:43 ID:hGe3IwmV
PHPのパースエラーなどのスクリプト実行前のエラーを、
管理者にメールで通知送信することはできますか?


847 :nobodyさん:2005/10/29(土) 10:58:10 ID:???
>>846
set_error_handler() でフックしてごにょごにょ

848 :nobodyさん:2005/10/29(土) 11:05:25 ID:???
>>847
↓のエラーはset_error_handler() ではフックできないので・・・
>注意: 以下のエラー型はユーザ定義関数では扱うことができません。
>E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING,
>E_COMPILE_ERROR, E_COMPILE_WARNING

849 :nobodyさん:2005/10/29(土) 11:11:10 ID:???
>>846
848にあるように、パースエラーはフックできない。だから、たぶん無理と思われ。
てか、何でこんなことやりたいんだ?
パースエラーをメールで通知して、楽しい?


850 :nobodyさん:2005/10/29(土) 11:15:41 ID:???
>>848-849
あ,そうか・・
パースエラーってのはそもそもコードが実行できない状態なわけだから
フックできるわけないか・・

851 :nobodyさん:2005/10/29(土) 11:16:00 ID:???
嬉しい!

852 :nobodyさん:2005/10/29(土) 11:20:49 ID:???
>>849
ライブラリなどいろいろ使っていると、サーバ環境に変更があったときなどに、
どこかで思わぬ影響が出る可能性もあるので、念のため、保険的な役割です。

853 :nobodyさん:2005/10/29(土) 11:35:45 ID:???
>>852
パースエラーはお前の書き間違いなので環境には影響されないだろ

854 :849:2005/10/29(土) 11:43:46 ID:???
>>852
サーバ環境を変更したときに、パースエラーが発生する可能性のある処理を
具体的に挙げてください


855 :nobodyさん:2005/10/29(土) 11:55:04 ID:???
PHPを入れ替えたりしたなら、可能性はあります。
必要なライブラリが入れ忘れたりしたら、パースエラーは出ます。
まあ、保険ですから、なければそれに越したことはないんですが。

856 :nobodyさん:2005/10/29(土) 12:08:59 ID:???
ライブラリ不足でパースエラーにまでなるケースはないのかな。
ただし、未定義の関数を呼び出した場合など、
set_error_handler()でフックできないFatal errorが出ることはあります。
他にはメモリ制限を越えるケースなどもありますし・・・。

857 :nobodyさん:2005/10/29(土) 12:16:14 ID:???
>>855
ライブラリがなかったからってパースエラーにはならんよ。
構文解析してんのはライブラリなんかがロードされるより先だし。

858 :nobodyさん:2005/10/29(土) 13:34:30 ID:???
ignore_user_abortについてなんですが以下のような考えであってますでしょうか?

ignore_user_abort(2)
で閲覧者からのブラウザ操作を無効にする
ignore_user_abort(0)
で有効にする

という認識でファイル操作時に使ってるんですが…違ってたら教えていただきたいです。

859 :nobodyさん:2005/10/29(土) 14:04:28 ID:oQPmcAu1
デザイン(html)とphpを極力分けたいのですが、
それ筋に詳しいサイトとか教えてもらえないでしょうか?

smartyのような外部スクリプトに頼るのは極力避けたいと思ってます。

860 :859:2005/10/29(土) 14:10:04 ID:???
テーブル周りが特に厳しいです。
例えば、mysqlからデータひっぱってきて表示させる場合など、
どうしてもテーブル周りのhtmlとphpが混在してしまってごちゃごちゃ
する感じが非常に鬱です。

861 :nobodyさん:2005/10/29(土) 14:34:28 ID:???
>>859
そもそもその用途にphpは向かない

862 :nobodyさん:2005/10/29(土) 14:36:41 ID:???
>>859
というかタグでのデザインは最小限にしてCSSを主体にすればいいじゃん

863 :nobodyさん:2005/10/29(土) 14:38:07 ID:???
>>859
どうしてSmartyを避けるのはなぜ?

864 :nobodyさん:2005/10/29(土) 14:54:57 ID:???
寝違えた。右向けない。

865 :nobodyさん:2005/10/29(土) 15:27:45 ID:???
質問です。
セッション変数の利用では
session_start
でセッションを読み込み
session_write_close
で(もしくはそのPHPを抜けると)書き出すようなのですが、
「読み込んだけど、やっぱり書き出したくない」という我がままさんな時に利用できそうな関数が見つかりません。
そんなものは存在しないのでしょうか?

ttp://manual.xwd.jp/ref.session.html
の一覧の中にそれっぽいものが無かったのです。
session_destroy
が近いかなと思ったら、セッションファイル自体が「削除」されてしまいました。



866 :nobodyさん:2005/10/29(土) 15:33:48 ID:???
そもそもセッションって何のために使うのか分からない

867 :nobodyさん:2005/10/29(土) 15:42:21 ID:cNmjzv6x
フォームでPHPにデータを送って、PHPでMySQLのテーブルに追加するっていうcgiを作ってるんですが、
フォームで送ると必ず文字化けしてしまいます。
phpMyAdmin上で追加するとちゃんと表示されるんですが・・・

868 :nobodyさん:2005/10/29(土) 15:45:59 ID:???
>>865
セッション変数の値を変更しなければ、たとえ書き出されても
内容は変わっていないので問題ないと思うんだけど…

869 :nobodyさん:2005/10/29(土) 15:47:29 ID:???
>>868
お返事ありがとうございます。
ファイルの更新日時を別のPHPが参照しているので、更新されると困ってしまうわけです。
また、書き込みにもパワーを使うでしょうから書き込まないにこしたことはないかなと。

870 :nobodyさん:2005/10/29(土) 15:49:20 ID:???
>>867
フォームからのクエリをちゃんとコード変換してる?

871 :nobodyさん:2005/10/29(土) 15:52:55 ID:???
>>865
unset

あとsession_write_closeは「普通は使わない」

872 :nobodyさん:2005/10/29(土) 15:54:01 ID:cNmjzv6x
>>870
コード変換で調べてみます
できなかったらまた来ちゃいます

873 :nobodyさん:2005/10/29(土) 15:57:51 ID:???
みんなセッション変数ってどういう場面で使ってる?

874 :nobodyさん:2005/10/29(土) 16:05:04 ID:???
サイト内をぐりぐり移動させる系。
仕事だと頻繁に使うだろ。特に金がからむとこ。

875 :nobodyさん:2005/10/29(土) 16:05:33 ID:???
>>873
セッション管理

876 :nobodyさん:2005/10/29(土) 16:05:59 ID:???
>>873
ページ間で渡すデータが多い時、
ページ間で渡すデータにある程度の信頼性が必要な時、
ページ間の移行に自由度or制限を持たせたい時
等々・・・考えれば色々あると思うが

877 :nobodyさん:2005/10/29(土) 16:07:19 ID:???
>>871
ありがとうございます。
unset試してみました。
だたセッションファイルの中身が0バイトになってしまい、望んでいた効果ではなかったようです。



878 :nobodyさん:2005/10/29(土) 16:08:54 ID:???
>>876
> ページ間で渡すデータが多い時

それなら

tmp.php?val1=hoge1&val2=hoge2&val3=hoge3・・・

といった感じでデータ渡していけない?

879 :nobodyさん:2005/10/29(土) 16:10:32 ID:???
>>878
ブラウザ側にデータを持たせると、どう改竄されるかわからない。
その点実データがサーバー側にあるセッション変数は楽ちん。

880 :nobodyさん:2005/10/29(土) 16:16:07 ID:???
>>877
まさかunset($_SESSION)とかやったんじゃないだろうな・・・・?
そうでないなら何がしたいのか良く分からん

>>878
もし渡すデータが1Mバイトとかに及んでも問題ないと思う?

881 :nobodyさん:2005/10/29(土) 16:19:26 ID:cNmjzv6x
>>867です。
調べてみると、mb_convert_encoding();という関数を使うのが見つかったんですけど、
これはわざわざインストールしないといけないみたいなんですが、他に方法はありますか?

882 :868:2005/10/29(土) 16:20:19 ID:???
>>877
ざっとPHPのソースを追ったみたけど無理じゃないかなぁ。
session_start() で内部の(外部から操作できない)アクティブフラグがオン、
スクリプト終了時にアクティブフラグがオンであればセッションファイルを更新しているみたいだし。
自前でsession_set_save_handlerを書くしかないのかな…
他のPHPからセッションファイルの更新日時を参照してゴニョゴニョするって仕様を
何とかした方がいいようにも思うけど。

883 :nobodyさん:2005/10/29(土) 16:23:09 ID:???
>>880
session_unset();
とやった結果、セッションファイルが0バイトに上書きされました。


unset();
で試してみましたが、セッションファイルの中身はそのままですが、
更新日時が更新されているので書き込まれてしまったようです。

やりたいことをあらためて説明しますと
「session_start()したあと、セッションファイルに書き込みをすることなくcloseしたい」のです。
イメージ的に言うと
sessin_no_write_close();
のような命令が欲しいのです。

884 :nobodyさん:2005/10/29(土) 16:25:42 ID:???
>>882
なるほど。了解しました。
セッションファイルに持たせているファイルが多めなので、いったん読ませるのを避けたかったのです。

何か別のファイルに更新情報だけもたせ、それを見るようにしてみたいと思います。
ありがとうございました。

885 :nobodyさん:2005/10/29(土) 16:26:18 ID:???
>>881
・cgiが出力するHTMLの文字コード(作りによっては = スクリプトの文字コード)
・MySQLクライアントが使用する文字コード
・MySQLのバージョンによっては、MySQLサーバーが使用する文字コード
が合っていれば、特に文字コード変換をしなくても化けないと思うけど。

886 :nobodyさん:2005/10/29(土) 16:26:35 ID:???
>>879-880
なるほど・・・
となると今後は

tmp.php?val1=hoge1&val2=hoge2&val3=hoge3・・・

というデータの渡し方は急速に過去の手法になってしまうわけ?

887 :nobodyさん:2005/10/29(土) 16:34:01 ID:???
>>886
サーバーで保存するべきデータと、ブラウザから送るべきデータがあるだろ。
後者がある限り使われる

888 :nobodyさん:2005/10/29(土) 16:36:40 ID:???
>>886
んな訳ない。セッションはページ間の受け渡しに使うものであって、
他の関係ないページにデータを渡す手段としてのGETやPOSTが無くなるとは
とても思えない。

例えばここ(掲示板等)からgoogleにだってデータ受け渡せるでしょ
http://www.google.co.jp/search?q=the+answer+to+life+the+universe+and+everything

889 :nobodyさん:2005/10/29(土) 16:45:31 ID:62Wo0hD9
HTMLのフレームを使わないで、フレームっぽくみせる方法はあるでしょうか?

890 :nobodyさん:2005/10/29(土) 16:51:45 ID:???
何をもってフレームっぽく?
あとここはPHPスレだから、htmlスレにいったほうがいいかと

891 :nobodyさん:2005/10/29(土) 17:51:01 ID:cNmjzv6x
---header.inc----
<?php
function header($title) {
print <<< _HTML_
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
〜〜〜
<body>
_HTML_;
}
?>
-----------------

header.incをメインのphpで読み込んで、使いたいんですが、エラーがでます
<?php
require_once("header.inc");
function html() {
header("登録完了");
print <<< _HTML_
〜〜〜〜
_HTML_;
}
?>

892 :nobodyさん:2005/10/29(土) 18:02:31 ID:???
>>891
エラーメッセージぐらい書け。
多分、header()という名前が標準関数と同じ名前だからダメと思われ。

893 :nobodyさん:2005/10/29(土) 23:55:06 ID:???
mkdir("/var/www/html/hoge");

system("mkdir /var/www/html/hoge");
を動かそうとすると前者はFALSE

894 :893:2005/10/29(土) 23:59:51 ID:oJpOHanR
ぎゃーーー途中で書いてしまった・・・。
もう一度最初から
Fedoracore4、apache2でphpを動かしています。
mkdir("/var/www/html/hoge");

system("mkdir /var/www/html/hoge",$aho);
echo $aho;
を動かすと前者はFALSE、後者は1が帰ってきて
hogeフォルダが作れません。
windowsの場合だと上記の方法でうまく行っていたのですが
linuxではsystem関数やmkdir等を使う場合は特別な設定が必要なのでしょうか

895 :nobodyさん:2005/10/30(日) 00:18:38 ID:???
>>894
つ「ぱーみっしょん」


896 :nobodyさん:2005/10/30(日) 00:20:33 ID:1KfOrRxK
だめだ・・・MySQLの日本語のデータがどうしても文字化けしてしまう

[form.html]
 <meta http-equiv="content-type" content="text/html; charset=Shift_JIS">

フォームから送られてきたものを処理するphpではデータをそのままSQLに送ってます

で、SQLの照会順序は
sjis_japanese_ci
テーブルの照会順序も
sjis_japanese_ci

なんで文字化けするんでしょう??
他どこをいじったらいいですか?

897 :nobodyさん:2005/10/30(日) 00:23:55 ID:???
なぜ取り出したデータのコードを調べない?

898 :nobodyさん:2005/10/30(日) 03:28:29 ID:1KfOrRxK
え、そんなんできるんですか?
ちなみにどうやるんでしょう・・・

899 :nobodyさん:2005/10/30(日) 03:45:54 ID:???
>>896
文字コードって知ってる?
SQLにデータを入れるときに、SQLのキャラクタにあわせて文字コード変換してる?
とりあえずSQLに入れる前にmb_convert_encording汁。

900 :nobodyさん:2005/10/30(日) 09:42:35 ID:???
>>896
MySQLと接続後(mysql_connect() を呼び出した後)に
mysql_query('SET NAMES sjis');
を実行したら直らないか?

901 :893:2005/10/30(日) 11:18:12 ID:os3jjLkZ
>>895
だー!そんな基本的なこと何忘れてんだろう・・
ありがとう!

902 :nobodyさん:2005/10/30(日) 13:26:35 ID:oTdkkAz2
ifやwhileを使いまくってると{}が
ごちゃごちゃしてきて、
どの{}かさっぱり分からなくなってくるんだけど、
何か分かりやすい記述方法ないでしょうか?
インデントとか使ってるが全く俺には効果なしです。

903 :nobodyさん:2005/10/30(日) 13:30:59 ID:???
メモ帳だからしょうがない。

904 :nobodyさん:2005/10/30(日) 13:32:20 ID:???
>>902
ショートカットで現在指定している始点・終点括弧に飛ぶやつとか
範囲色が出るやつとか色々あるからエディタを変えなさい。

905 :nobodyさん:2005/10/30(日) 13:35:41 ID:???
>>902
ifやwhileを減らせばいい。

906 :nobodyさん:2005/10/30(日) 13:46:58 ID:???
見通しが悪くなるぐらい {} の中が長くなったりインデントが深くなる時は
中の処理を適度に関数化。
後は while の中で if 〜 else なんかの処理は continue を使って else を
排除する(インデントを浅くする)ことができる場合もあるし。
まぁ賛否両論だろうけど、好きずきで。

907 :nobodyさん:2005/10/30(日) 14:10:08 ID:???
>>902
if (nantyara){

aatarakoutara;

} // end if



908 :nobodyさん:2005/10/30(日) 14:11:21 ID:???
セッション管理ってURLに埋め込む方法とCookieに埋め込む方法の2種類有るらしいけど
どう使い分けてる?

909 :nobodyさん:2005/10/30(日) 14:22:32 ID:???
>>908
Cookieだと以下のようなことが起きるのでURL埋め込み or HIDDEN渡しにしてCookieは使用していない。

ブラウザAを起動してユーザー名 xxx でログオンしてセッションに xxx を保存
別にブラウザBを起動してユーザー名 yyy でログオンしてセッションに yyy を保存

ブラウザAでログオンしたユーザー名が yyy になってしまう

910 :nobodyさん:2005/10/30(日) 14:23:04 ID:???
>>908
要求セキュリティーレベルに応じて

911 :nobodyさん:2005/10/30(日) 14:27:21 ID:???
$_POST["abc"]
$_POST[abc]
どっちが正しい表記だっけ?

912 :nobodyさん:2005/10/30(日) 14:32:54 ID:???
>>911
試してみればすぐ判るだろうに。
$_POST["abc"] が正解。

913 :nobodyさん:2005/10/30(日) 14:48:12 ID:???
$_POST[abc]が正しい。

914 :nobodyさん:2005/10/30(日) 14:50:36 ID:???
>>911
まあ define("abc", ... ) とかない限りは上だ罠。

915 :nobodyさん:2005/10/30(日) 15:49:34 ID:???
配列オブジェクトの、オブジェクトIDみたいなのってとれますか?

やりたいことは、複雑な入れ子になった配列にたいしてある関数を適用させるのですが、
すでに関数を適用した配列に対して2回以上の適用を避けるために、配列のIDみたいなのを取得して記録しておこうと思っています。

$hash = array();
function foo($array) {
 global $hash;
 $id = object_id($array);
 if ($hash[$id]) return;
 $hash[$id] = true;
 foreach ($array as $item) {
  if (is_array($item)) {
   foo($item);
  } else {
   ...
  }
 }
}

よろしくお願いします。

916 :nobodyさん:2005/10/30(日) 15:53:45 ID:???
>>915
$array["foo済み"] = true
とかは?

917 :915:2005/10/30(日) 16:01:16 ID:???
>>916
データである$array自体に変更を加えるわけにはいかないんです。
この制約があるために、配列のIDみたいなのがないかなーと。

918 :nobodyさん:2005/10/30(日) 16:32:01 ID:???
携帯等でページを見た場合で出力サイズがデカイ場合にページを分割したいのですが、
出力用の変数に出力する内容をぶちこんでサイズを見て分割、受け渡しはセッションで。
っていう方法しか思いつきません。他になにか方法があればヒントだけでも知りたいです。

919 :nobodyさん:2005/10/30(日) 17:02:36 ID:???
テキストファイルの内容を弄るスクリプト作りたいのですが、
(テキストファイルにある文字列を書き込んだり、修正したりする感じです)
一から作るのもあれなんで、
モジュールとかないもんでしょうか?

920 :nobodyさん:2005/10/30(日) 17:57:59 ID:???
>>915
条件ごとにサブルーチンへ飛ばせばすっきり。

921 :915:2005/10/30(日) 18:06:56 ID:???
>>920
???
すみません、いみがわからないです。

922 :nobodyさん:2005/10/30(日) 19:17:33 ID:???
掲示板なんかでフォームの入力値を判断して、問題あったらエラーを表示
させるみたいなのあるじゃないですか。
そこの部分が個人的にきったないコードになってしまうんです。
いい見本きぼんぬ

923 :nobodyさん:2005/10/30(日) 19:29:50 ID:???
悪い見本を見せてくれ。
長いと見る気無くすので骨子の部分だけで。

924 :nobodyさん:2005/10/30(日) 20:01:08 ID:???
>>922
フォーム関連はフレームワーク使うかHTML_QuickFormみたいなの使うのが今のところ主流

925 :nobodyさん:2005/10/31(月) 02:51:28 ID:MpHxARpO
PHP+GDで画像を出力するスクリプトを書いています。
出力の際に↓のようなコードを書いてるのですが、


header("Content-type: image/gif");
imagegif($im);
imagedestroy($im);


IEだと、表示された画像を保存しようとしても、
ファイル名が  無題.BMP となり、保存形式もBMP形式しか選べません。
IEキャッシュの削除をしてみましたがだめでした。
(当然、PHPは4.x.x以上、GDはGIFが扱えるバージョンです。)

調べて見ると、どうもIEはContent-typeを無視するようで、
.htaccess で指定してみたんですが、これでも無視されてるようです。

text/htmlとして出力するようにしたら、うまく GIF形式になったんですが、
それだと、Firefoxなどのブラウザでファイルの中身が表示されるように・・・

なにかうまい解決策はないでしょうか??



926 :nobodyさん:2005/10/31(月) 03:25:34 ID:???
>>925
それはIEがおかしくなってるよ
通常は元の画像形式で保存できる

ダウンロードされたオブジェクト(プラグインとか)が壊れてるとそうなるらしい
キャッシュフォルダーの設定のとこでオブジェクトを表示して全部削除すると直ったと思った


927 :925:2005/10/31(月) 05:27:15 ID:???
>>926

と思ってPCとかでも試してみたけどだめでした

Content-typeが無視されるIEのバグのせいだと思うんですが・・・

うーん、うまい対策方法はないんだろうか

ほんとIEは消えてほしい ort

928 :nobodyさん:2005/10/31(月) 05:28:10 ID:???
PCとか −> 他のPCとかで

でした。


929 :nobodyさん:2005/10/31(月) 05:49:32 ID:???
IEでファイル保存するときのファイル名はcontent-dispositionでfilenameを指定すればいけんジャマイカ?

930 :nobodyさん:2005/10/31(月) 06:03:41 ID:???
>>925
これも試してみ

ツール>インターネット オプション>全般>インターネット一時ファイル>
設定>オブジェクトの表示

状態の不明、壊れていますを削除

ttp://support.microsoft.com/default.aspx?scid=kb;ja;810978


931 :nobodyさん:2005/10/31(月) 06:21:37 ID:???
>>930

だめでした

PHPで直接ファイル等を出力した場合に、
というか、

「どんなファイルでも、指定したContent-typeを無視して、
 ファイルの内容から勝手にContent-typeを判断する」、

というIEのバグのせいらしいので、オブジェクトやキャッシュとは無関係だと思います。


>>929

ちょっと調べてそれでやってみます

932 :nobodyさん:2005/10/31(月) 06:32:47 ID:???
>>929

の方法で、
Firefoxとかで保存する際に、デフォルトのファイル名が 〜.php (ファイル形式 GIF)だったのが、
〜.gif(ファイル形式 GIF)になるようになりました!!!

しかし、肝心のIEは 無題.BMP(ファイル形式 BMPのみ)のまま・・・

やはり、 header(〜); で出力されたヘッダー全てが完全に無視されてるようです。

試しに、Content-typeの出力を

 header("Content-type: text/plain");

としてみましたが、見事に無視・・・

ちなみにIEは6です。ほんとIEだけは消えてほしい・・・

バグだからしょうがないんですかね ハァ

933 :nobodyさん:2005/10/31(月) 06:36:32 ID:???
ttp://72.14.203.104/search?q=cache:d9PD9Fd8ijsJ:rwiki.moonwolf.com/rw-cgi.cgi%3Fcmd%3Dview%3Bname%3DXSS%2Btext%252Fplain%E5%95%8F%E9%A1%8C+content-disposition+IE+%E7%84%A1%E8%A6%96&hl=ja&lr=lang_ja

>>292のでぐぐったらこんなのが。
ここ参考にもうちょっとがんばってみまつ ort

934 :nobodyさん:2005/10/31(月) 06:59:24 ID:???
>>932
俺のPCではIEでもちゃんとGIFで保存できるよ
ファイルの中身で判断してるのなら中身がGIFなら問題ないはず
↓はどうなる
http://nike.s151.xrea.com/x/imagettf.php?text=ABC&size=30&margin=10&bgcR=255&bgcG=255&type=gif

935 :nobodyさん:2005/10/31(月) 07:16:43 ID:???
>>933
送っているGIF画像は完全な画像ですかね?

>ほんとIEだけは消えてほしい・・・
IEお断りにしたらいかが

936 :nobodyさん:2005/10/31(月) 07:26:34 ID:???
>>934

それはきちんとgifで保存できました!
PHPの呼び出しかたはほぼ同じです。
なぜだろう・・・
出力の時点でおかしいのか・・・

>>935

imagegifで動的に出力してますが、Firefoxとかで中身を見るとGIFなので間違いないと思います。
IEお断り、したい ort

934のはなんでできるんだろう・・・

937 :nobodyさん:2005/10/31(月) 07:47:33 ID:???
>>932
>試しに、Content-typeの出力を

> header("Content-type: text/plain");

>としてみましたが、見事に無視・・・

text/plainでも無題.BMPになるってこと?もしそうだとしたら、ファイルの中身が実はGIFじゃないのでは?
本当に中身がGIFなら、先頭の6バイトにGIF89a(16進数で0x474946383961)って入ってるはず。
(面倒がらず、きちんと確認してみな)
つーか、GDのバージョンによってはGIFって扱えなかったと思うから、その影響だったりしない?

938 :nobodyさん:2005/10/31(月) 08:01:55 ID:???
>>937

ファイルの先頭は透明GIFではないので、GIF87aになってます
これもなんか問題ありますかね???

FirefoxではGIFででてますし、GDもそんな古いバージョンではないので、
GDの問題はないと思うのですが・・・

今、テスト用のサーバーを設定したので、設定が完了したらスクリプトをアップしてみます・・
なぜだ・・・

939 :nobodyさん:2005/10/31(月) 08:05:23 ID:???
と思ったら設定、もうできたみたいです。

つ ttp://phptest.s155.xrea.com/x/test.php

ちなみにスクリプトは↓です。
やっぱりBMPでしか保存できない・・・・。鯖のXREAの問題なのかな・・・

<?php
$im = ImageCreate(128, 64);
imagefill($im, 0, 0, ImageColorAllocate($im, 0x00, 0x00, 0xff));

header("Content-type: image/gif");
header("Content-Disposition: inline; image.gif");
header("Cache-control: no-cache");
imagegif($im);
imagedestroy($im);
exit;
?>


940 :nobodyさん:2005/10/31(月) 08:10:14 ID:???
つ [ header("Cache-control: no-cache"); ]

941 :nobodyさん:2005/10/31(月) 08:22:25 ID:???
なんと、no-cacheの出力やめたらできました!!!

データ入力を受けてその都度違うもん出力してたので、
no-cache っていれなきゃいけないもんだと思ったら、これいらなかったんですね・・・

もっかい勉強しなおしてきます O......rt

朝早くからいろいろとアドバイスくれたみなさん、本当にありがとうございましたm(_ _)m


942 :nobodyさん:2005/10/31(月) 09:31:37 ID:???
なんでno-cache入ってるとだめなの?

943 :941:2005/10/31(月) 09:56:27 ID:???
IEはキャッシュにGIFファイルを作って、
それを読み込んできてるんですかね・・・

考えてみれば、キャッシュから読み込んできたとしても、
それはそのパラメータで作られた唯一の画像なわけだから、
別にno-cacheにする必要はなかったんだなぁ・・・



944 :nobodyさん:2005/10/31(月) 10:04:35 ID:???
キャッシュに入っていない画像は表示したままをBMPで保存しようとするのはIEの仕様っぽい
だからキャッシュが壊れている時は、キャッシュに無い時と同様にBMPで保存される
Gecko系はもう一度要求し直すんだっけ?

945 :nobodyさん:2005/10/31(月) 10:22:58 ID:???
no-cacheにするとキャッシュされないから、IEは保存しようとしても
BMPとして保存しようとするわけか。

946 :nobodyさん:2005/10/31(月) 10:28:01 ID:vz5n2QeI
クラスいっぱい作ったら重くなったりする?
クラス1個の中にファンクションめっちゃ作るか
いっぱいクラス作ってファンクションちょっとずつ入れるかどっちがいいかな

947 :nobodyさん:2005/10/31(月) 10:58:17 ID:???
オブジェクト指向をかじる程度でも勉強したほうがいいと思われ・・・。

948 :nobodyさん:2005/10/31(月) 11:20:53 ID:vz5n2QeI
いや、今勉強中なんですよ・・・
クラスいっぱい作ってやってるんですが、
ある掲示板の配布スクリプトDLして見てみると、
クラス1個しか使ってなかったので、不安になって聞いてみました

949 :nobodyさん:2005/10/31(月) 11:27:56 ID:???
>>948
よーし パパ ベンチしてみるぞっ、と思ったけど、
クラスいっぱいつー状況が想定できない・・・
掲示板程度なら、10個もいかないべ。

950 :nobodyさん:2005/10/31(月) 11:35:35 ID:???
たとえ速度が速くなるとしても、無関係の機能が一つのクラスに押し込まれるのは勘弁。
なんのためのクラスなのかと。。。

951 :nobodyさん:2005/10/31(月) 11:44:35 ID:vz5n2QeI
じゃあここのは悪い例?
ttp://www.phpweb.jp/

952 :nobodyさん:2005/10/31(月) 11:54:52 ID:???
これでメンテナンスしやすいと思うんならいいんでないかい。

953 :nobodyさん:2005/10/31(月) 11:59:48 ID:???
なんでもかんでもクラスにすればいいってもんじゃないからね

954 :nobodyさん:2005/10/31(月) 12:21:47 ID:???
2ちゃんねるっぽい掲示板を作っていて、
スレッドとレスのログファイルを分割している構造にしていて、

スレッドログ
11111111,title,,name,mail,投稿日,内容
22222222,title,name,mail,投稿日,内容

レスログ
1111111,name,mail,投稿日,内容,レスID
1111111,name,mail,投稿日,内容,レスID
2222222,name,mail,投稿日,内容,レスID

このような書き込み方をしているときに、
最新10件の表示の方法がおもいうかびません(つд`)
レスIDは2から始まって1000までという形です。

表示するときは、
スレッドキーに該当するレスのスレッドキーと同じ物をIDの順番で表示しています。

955 :nobodyさん:2005/10/31(月) 12:33:31 ID:???
>>954
2ちゃんねるとログ互換にしないんならデータベース使った方が


956 :nobodyさん:2005/10/31(月) 12:33:51 ID:???
>>951
クラスってのは何かメリットがあって使うわけよ。
逆を言うと、何かメリットを享受できるような形のクラスを作成するわけよ。

そこのスクリプト(掲示板を1つDLしてみた)は、
クラスを使う事で便利になった(or 後になるだろうと期待する)部分が感じられない。
ただ、functionを並べて書いて最後にclassで囲んだって感じだよね。
まぁ、ページ全体を作成する別の枠組みからこれらのクラスを
パーツとして使うって事もあるかも知れないけど。
(でもソースを見る感じそれもないか。。)
あんまり言うと作者降臨するかも知れないのでこの辺で。

957 :nobodyさん:2005/10/31(月) 12:53:16 ID:???
>>954
「最新10件」とは全スレッドで10件なのか、
各スレッド毎に10件なのか。

# 俺ならスレッド毎にレスを格納するファイルを分離するね。

958 :nobodyさん:2005/10/31(月) 13:00:13 ID:???
>>954
ファイル全部読み込むしかないよ。file()が一番楽かと。
現在の件数を別口に記録してあるなら、fgetsで適切な回数読み捨てる手もあるけど。
まあDB使えばそんな心配もせずにすむわけで。

959 :nobodyさん:2005/10/31(月) 13:10:08 ID:???
めんどいから一緒にすればいいじゃん。1スレ1ファイル1000行で。
スレ一覧→ファイルがあるかチェックして表示
スレ内→ファイルから読み込み
みたいな。
データベースの方がいいと思うが。

960 :nobodyさん:2005/10/31(月) 13:24:26 ID:???
>>951
PEARのライブラリとかこれと似たようにやってるのが結構ある。
多分PEARのは関数名が被らないようにってだけだと思うけど。

961 :nobodyさん:2005/10/31(月) 14:03:20 ID:???
>>951
そのサイトの「ツリー型掲示板」ってのを見てみたけど。
作者さんには申し訳ないがクラスの *使用例* としては良い例ではないな。
汎用性がないから他で使い回せないし、現状ではクラス化しているメリットはない。
もっとも、作者さんがクラスの使用例としてアップしているわけではないから、
この点をグダグダ言う必要はないんだろうけど。

元々の話が一つのクラスと複数のクラスでどっちが重い?という話だけど、
ベンチとってみないと判らない、ってのが正直なところ。
ただ、クラス化するのはプログラマが楽をするためであって、重い、軽いとは
次元の違う話だと思うよ。
掲示板であれば、データの保存方法、データの取り出し方法が重い、軽いに
大きく影響を与えるから、これらと比べると些末な事ではないかと。

962 :nobodyさん:2005/10/31(月) 14:27:01 ID:???
boolのプロパティーのセッターは
trueにする場合、falseにする場合、それぞれどんな名前がよいですか?

963 :nobodyさん:2005/10/31(月) 14:29:00 ID:???
SetFlagにでもしとけ。

964 :nobodyさん:2005/10/31(月) 14:30:00 ID:???
二つに分ける必要ないんじゃないの?
名前はオブジェクトのキャラクターにあわせてつけろ

965 :nobodyさん:2005/10/31(月) 14:41:31 ID:???
Geter,Seterの話じゃないの?

966 :nobodyさん:2005/10/31(月) 14:57:07 ID:???
取得 is<状態(名)> ex. bool isSecure()
設定 set<状態(名)> ex. void setSecure()
てな話じゃないの?
get<X>、set<X>でもいいけどさ。

967 :nobodyさん:2005/10/31(月) 15:47:28 ID:???
クラス名、関数名、メソッド名、変数名で
1.先頭を大文字にする(ToString()など)
2.単語の区切りはアンダーバー(is_null()など)
3.2単語目以降は大文字(imageCreateFromJpeg()など)
4.すべて小文字(imagecreatefromjpeg()など)
一般的にはどれですか?

968 :nobodyさん:2005/10/31(月) 15:55:34 ID:???
class FooBar ← 単語の頭は大文字
{
  var $hoge; ← 変数は小文字
  var $hoge_hoge;  ← 単語はアンダーバーで区切る
  function toString(){} ← メソッドは動詞+名詞の形.最初の単語は小文字
  function getHtml(){} ← HTML ではなく Html
}

function to_string() ← 通常の関数は小文字でアンダーバー区切り

こんな感じ. PEAR CS 準拠.


969 :nobodyさん:2005/10/31(月) 16:07:27 ID:???
通常の関数も toString() でないかい。


970 :nobodyさん:2005/10/31(月) 16:18:34 ID:???
>>969
ごめ,そうみたい.ラクダ式.
http://pear.php.net/manual/en/standards.naming.php

971 :967:2005/10/31(月) 21:54:47 ID:???
分かりやすい解説をありがとうございました!

972 :nobodyさん:2005/10/31(月) 22:22:25 ID:???
指定したURLのファイルが、テキストか画像か判断する方法ありませんか?

//テキスト
http://www.sample.co.jp/aaa.html
//画像
http://www.sample.co.jp/bbb.jpg
//テキスト
http://www.sample.co.jp/ccc.php

973 :nobodyさん:2005/10/31(月) 22:24:12 ID:???
htmlでも画像に偽装できるし、jpgでもテキストに偽装できる。
受信してHTTPヘッダみないと分からん。

974 :nobodyさん:2005/11/01(火) 00:07:52 ID:???
HTTPヘッダも変更出来るから、直接ファイルを確認しないと(ry

975 :nobodyさん:2005/11/01(火) 07:42:09 ID:???
>>973
Apacheは拡張子見てヘッダー決めてるから拡張子偽装したらヘッダも変わるよ

976 :nobodyさん:2005/11/01(火) 08:57:02 ID:???
>>975
Apacheの送出が全てでは無いがな

977 :nobodyさん:2005/11/01(火) 09:03:24 ID:???
>>975
そんなこと言ってたら.phpや.cgiで画像の出力できないしな。

978 :nobodyさん:2005/11/01(火) 12:30:46 ID:???
PHP(abc.php)が表示したXML文書をサーバにabc.xmlと
いう風に残したいんですが、どのようにしたらいいですか?
教えてください。
require(abc.php)とか使うんですかね?

979 :nobodyさん:2005/11/01(火) 12:33:52 ID:???
>>978
ob_startとかどうよ?

980 :975:2005/11/01(火) 12:38:00 ID:???
俺はApacheのmime.typesファイルのことを言ってるだけです。
これでcontent-typeと拡張子を関連付けてるよってことです。


981 :nobodyさん:2005/11/01(火) 12:40:15 ID:???
>>980
言い訳〜

982 :nobodyさん:2005/11/01(火) 12:56:38 ID:???
>>979 下記のようにしたのですがうまくいきませんでした。
間違いを指摘していただけるとありがたいのですが。
<?php

ob_start();

require("abc.php");

$buffer = ob_get_contents();
ob_end_clean();

$fp = fopen("abc.xml","w");
fputs($fp,$buffer);
fclose($fp);

?>

983 :nobodyさん:2005/11/01(火) 13:00:57 ID:???
>>982
echo $buffer;
も加えてやってくれ。

ちなみに、$bufferがあまりにもデカイ場合はob_startでcallback関数を指定して、その中で標準出力+ファイル出力したほうがいいかもね。

984 :nobodyさん:2005/11/01(火) 13:19:15 ID:???
>>972
http://jp.php.net/manual/ja/function.mime-content-type.php

985 :nobodyさん:2005/11/01(火) 13:23:00 ID:???
>>980
mime.typesファイルでの割り当ても偽装されている可能性には言及せんのか?

986 :980:2005/11/01(火) 14:13:31 ID:???
>>985
すいません
>>973が拡張子偽装してもHTTPヘッダでわかるような書きかたしてたので
ヘッダ見てもわからないよといいたかっただけです

結局拡張子やヘッダーからは判断できないということで
mime magicも偽装できるし完璧な方法はないということですね
GIF8で始まるテキストはgifにされるし

987 :nobodyさん:2005/11/01(火) 14:34:17 ID:???
<?php
// セッションの開始
session_start();
?>
<html>
<head>
<title>session_start1.php</title>
<!-- セッションの開始:セッションIDの確認 -->
</head>
<body>
<?php
print "session_id = " . session_id() . "<br>";// セッションIDの確認
print "session_name = " . session_name() . "<br>";// セッション名の確認
print "session_save_path = " . session_save_path() . "<br>";// セッション情報格納ディレクトリの確認
?>
</body>
</html>


これを自鯖で実行してみたら↓


session_id = 39899d30896bb687e6f4e8f3d1511ccf
session_name = PHPSESSID
session_save_path =


session_save_pathだけ空欄になった。
この環境で問題なくセッションの操作ってできるんだろうか?

988 :nobodyさん:2005/11/01(火) 14:53:26 ID:???
>>987
空の場合、テンポラリディレクトリ(UNIX系なら/tmpや/var/tmpなど)が
指定されたものとして扱われるので大丈夫。
一度、これらのディレクトリを覗いてみそ。多分 sess_xxx ってファイルがいるはず。

989 :nobodyさん:2005/11/01(火) 14:56:47 ID:???
>>987
問題ない。勝手に一時ディレクトリに保存される。
気になるならsession_save_path()で引数指定するなり、php.iniのsession.save_pathを指定するなりすればよい。

990 :nobodyさん:2005/11/01(火) 14:59:37 ID:???
>>988-989
( ´∀`)ノ

991 :nobodyさん:2005/11/01(火) 14:59:52 ID:???
>>987
自鯖ならphp.iniで設定すればいい

992 :nobodyさん:2005/11/01(火) 15:12:45 ID:???
>>988-989
あ、あともうひとつtmpフォルダがらみで質問をば。
一時ディレクトリにsession関係のファイルがたまっていくとのことだけど
こちらで消さない限りsessionが貼られるたびにファイルはたまっていく一方?

993 :nobodyさん:2005/11/01(火) 15:18:55 ID:???
>>992
session.gc_probability/session.gc_divisorの確率でsession.gc_maxlifetime秒経過したファイルが削除される。

994 :nobodyさん:2005/11/01(火) 15:22:57 ID:???
>>993
( ´∀`)ノ

995 :nobodyさん:2005/11/01(火) 16:39:53 ID:???
セッションをURLに埋め込みたいんだが

<a href="./ahya.php?<?= SID ?>">リンク</a>

なぜかahya.phpへのURLにセッションIDが付与されない。
何か書きミスでもある?

996 :nobodyさん:2005/11/01(火) 16:45:35 ID:9QgZWF8q
foreach ($arr as $val) {
 …
}

で $arr が空の時 warning が出てしまうんですが
みなさんどう対処していますか?
empty()とかで最初に調べるのはあまりしたくないんですが。

997 :nobodyさん:2005/11/01(火) 16:46:08 ID:???
>>995
$SIDじゃなくて?

998 :nobodyさん:2005/11/01(火) 16:52:25 ID:???
>>995
SIDが未定義とかエラーはでてないのけ
session_start()してる?

999 :nobodyさん:2005/11/01(火) 16:59:51 ID:???
待て待て、セッションの渡し方がおかしい。

1000 :nobodyさん:2005/11/01(火) 17:00:52 ID:???
げと1000

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

248 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)