※注意1 4.2.0以降はデフォルトでregister_globalsがoffになっています。 POST, GET等で渡される値には グローバル連想配列 $HTTP_ENV_VARS $HTTP_GET_VARS $HTTP_POST_VARS $HTTP_COOKIE_VARS $HTTP_SERVER_VARS でアクセスしてください。 つーか、マニュアルとか読んでください。おながいします。
※注意2 header()でContent-Typeを出力すると、mb_output_handlerが無効になります。 ini_set('default_mimetype', 'text/html'); とすることで回避できます。
スレ立てしゅ〜りょ〜
8 :
前スレ980 :02/12/04 17:14 ID:XOwW5my4
前スレ980です。
>>1 乙
前スレで教えて下さった方、ありがとうございます。
原因が判明しました。hoge.datファイルになぜかタブが入っていて、別の文字列に
したところ正常に読み込んでくれました。お騒がせしました〜。
ていうかタブごと読み込む時どうすんでしょ・・・?
前スレ
>>995 Win2k鯖のApacheなのでrootではないです。
この場合Administratorになるのかな?
一応管理者権限もってます。
11 :
nobodyさん :02/12/04 19:56 ID:n0UUzFMu
PHPでパス掛かってるサイトみたいんだけど、 パス(とID)が無いから見られないんだけどこれって絶対無理?
13 :
nobodyさん :02/12/04 20:08 ID:n0UUzFMu
あ、ちなみにここ来たの初めて。無理なの?
15 :
nobodyさん :02/12/04 20:16 ID:n0UUzFMu
って事はやっぱ会員にならないと無理って事なのかー。
無理。 可能だったらパスの意味が無い。
みなさん、、、助けてください。。 Notice: Undefined variable: mode in a.php on line *** が大量に発生しました。。。 PHP 4.1.2から4.2.3にバージョンアップした直後です。。
register_globals
EclipseってPHP対応してませんか?pluginとかあります?
ZENDSTUDIOは死ぬほど重かったなあ。 軽いのでお勧めとかないっすか。 EmEditorより軽かったら最高。
24 :
nobodyさん :02/12/05 08:57 ID:pB8o5ii5
25 :
bloom :02/12/05 09:11 ID:p2inGaxo
>>15 要するにのけ者にされたのが気に入らない訳なんだろ。
諦めろ。
諦めきれないんだったら管理者にお願いでもするんだな。
>>19 にあるHPどおりApacheの設定をしてApacheモジュールとして
動作するようにしたはずなんですが、どうしてもモジュールがみつかり
ませんといわれます。
PHP 4.2.3 で、php4apache.dll はちゃんと指定したフォルダにあります。
なぜなんでしょうか。。教えてください。
おれんちのhttpd.conf LoadModule php4_module c:/php/php-4.2.2/sapi/php4apache.dll AddType application/x-httpd-php .php 参考にせよ
>>28 パスは違うものの、ちゃんとそうなってるのですが。。。
30 :
nobodyさん :02/12/06 01:19 ID:0kWlEY+M
PHP って、 JAVA 見たいにオブジェクトのプロパティをとってきたり できないの? textfieldaのvalueの内容とか変数に入れられないの?
31 :
test :02/12/06 01:21 ID:XhiqrzO7
test
32 :
nobodyさん :02/12/06 01:27 ID:XhiqrzO7
質問の内容:PHPをつかっての、MS ACCESSのクエリーへの接続 環境: PHP & MS ACCESS MS ACCESSをデータベースにしてます。 PHPをつかって、MS ACCESS内の「テーブル」を読み込むことはしてるんですけれど、 「クエリー」を直接読み込むことはできるんでしょうか? PHP内にSQL文を書き込めば、用は同じことなんですけど、 もしクエリー直接続ができるのならば、方法を教えていただきたいです。 お願いします。
無理じゃない?
34 :
nobodyさん :02/12/06 08:32 ID:4Yq235x3
みつからないモジュールってphp4ts.dllだったりして。
ちゃんとc:\WINNT\System32にコピったの?
>>29
>30 貴様の言っているJAVAはjavascriptのことだな。 頓珍漢な質問だが回答はNOだ。
36 :
bloom :02/12/06 08:53 ID:7xw6gZYB
37 :
nobodyさん :02/12/06 13:36 ID:yo3lajGk
>>38 俺のPCではphp4ts.dllがc:\WINNT\System32に入ってるyo
40 :
39 :02/12/06 16:41 ID:???
つーかinstall.txtに | Now that version 4.1 introduces a safer sapi module, we recommend | that you configure PHP as a module in Apache. | | To do this, you should move php4ts.dll to the windows/system (for Windows 9x/Me) | or winnt/system32 (for Windows NT/2000/XP) directory, overwriting any | older file. Then you should add the following three lines to your Apache | conf file: (swap c:/php/ for your PHP install path) って書いてるし。
41 :
Goodbody :02/12/06 19:32 ID:vnttzjDA
>>27 使ってるApacheは1.3.xですか?
Apache2の場合はphp4apache2.dllじゃないといかんざき。
バイナリリリースのApache使ってる場合は、本家以外のディストリビューション
使ってると設定に問題がないのに「ファイルがねぇYO」なんて言われる。
またPHPもdevやRCリリース品を使おうと思ったときにも発生しまふ。
漏れ過去に何度も経験あり。
ビルド環境や条件が変わってくるからだとおもう。
>>39 漏れのPCではphp4ts.dllがc:\WINNTに入ってるyo
C:\WINDOWS\system32\
43 :
nobodyさん :02/12/08 09:59 ID:10AoHjdc
極端な話、php4ts.dllはパスが通っている所であれば、どこに置こうと問題ないと思うのだが如何に?
いや、その前にinstall.txtぐらい読めよって思うのだが如何に?
いや、しっかりインスコテキストは読んだんだが、パスが通った別の場所にあえて置いているのだが如何に?
ん?、IDが???になってしまったんだがこれ如何に?
47 :
:02/12/08 13:34 ID:???
!ななななんと。そうでつか。 ・・・ハ、ハズカスィ。 インドの山奥にでも修行に逝ってきまつ。
49 :
nobodyさん :02/12/08 18:21 ID:HNF+imSV
PHPでXMLを扱うにはどうすりゃいいの? PHPINFOだと全部enableになってるけど、命令がまったく使えないし。
あの、ヒントっぽいことでもいいんで教えてください。 PHPのテキストカウンタなんですけど、カンマ表示しないものを表示させるように 改造するのって簡単にできますか? 例えばカンマ表示用ルーチンを挿入すればいいとか。 おねがいします。
$format_count = number_format($count);
>>50 日本語を勉強し終わったらマニュアル読んでください
55 :
nobodyさん :02/12/08 19:13 ID:10AoHjdc
>>51 さん
>>52 さん
>>53 さんありがとうございます。
PHPって1行だけの簡単な追加でカンマ付きカウンタになってしまうんですね。
パールだと数行書かないとだめなのに。PHPってやっぱりすごいです。
皆さんありがとうございます。今からスクリプトに追加してみようと思います。
56 :
☆☆☆☆☆ :02/12/08 19:24 ID:mpITnhtZ
57 :
55 :02/12/08 19:59 ID:???
スクリプト中のどこに挿入してどう修正するのか解らないので諦めました。 情けないけど。許してください。
COBOL風の書式指定で数値と文字列を相互変換するようなモジュールが無いでしょうか? toFix("9(3)V9(3)", 1.25) → "001250" toFloat(9(3)V9(3)", "001250") → 1.25 みたいなかんじ。
59 :
58 :02/12/09 00:16 ID:???
スマソ。Perlスレと間違えた。PHPにあるわけないよな。
60 :
nobodyさん :02/12/09 00:53 ID:M7JYJnX6
CGI版PHPって普通のPHPに比べて重い/負荷増大なわけ?
61 :
nobodyさん :02/12/09 03:27 ID:vvvONNMO
いくつかの文字列を","などで繋げて DBに格納して、 取り出した時にまた分割する処理をしたいと思っています。 問題は、対象となる文字列の中に","が入っている可能性があるという ことなんですが、 こういう場合はどうすればいいでしょうか? エスケープとは違う気がするし…
62 :
61 :02/12/09 03:35 ID:vvvONNMO
自己レスですが思いつきました。 ">"をエスケープしてから、 "<>"で接続する、というものです。
63 :
北の名無しさん@FreeBSD :02/12/09 06:01 ID:ZtAy/Suh
>60 普通のPHPってなんだ? CGI版だろうとモジュール版だろうとPHPはPHPだろう. と煽っておいて. モジュール版の方がやっぱり速いね.余計なプロセス(CGIの呼び出しコスト含めて)が無いし.
cgi版はメモリを節約したい場合に使ってまつ。 phpが起動する頻度が少ないならcgi版という選択肢もあり。 但し4.2.x以降じゃないとバグがあるよ。
65 :
超初心者より :02/12/09 14:40 ID:gTWBzcks
<html> <body> <?php /* ファイル名:test.php3 名前を入れて送信1を押す 名前が表示される。 そのままで送信2を押す。 名前を表示したいが、表示されない。 どこがおかしいかな? 教えてください。 */ if($sbm == "送信1"){ $name1 = $name; echo "1"; echo $name1; }elseif($sbm == "送信2"){ $name2 = $tmp; echo "2"; echo $name2; } ?> <form method="POST" action="test.php3"> <input type="text" name="name"> <input type="submit" name="sbm" value="送信1"> <input type="submit" name="sbm" value="送信2"> <input type="hidden" name="tmp" value="<?php $name1; ?>"> </form> </body> </html>
66 :
nobodyさん :02/12/09 17:05 ID:khHp+mfU
ここ<?php $name1; ?>
>>67 <input type="hidden" name="tmp" value="<?php echo $name1; ?>">
何がしたいか判らんがこういう事か?
69 :
68 :02/12/09 23:13 ID:???
>>68 <input type="hidden" name="tmp" value="<?php=$name1?>">
というのもできるね
>>68 >>70 じゃあ、これも。
<input type="hidden" name="tmp" value="<?php print $name1; ?>">
72 :
nobodyさん :02/12/10 01:54 ID:PFVCJpVI
RedHatLinux8.0と、それについてきたPHP4.2.2+Apache2.0を使っています。ファイルのアップロードをしようとすると、
約500Mを越すとアップロードできなくなります。500M未満であればアップロードは問題ありません。なぜでしょう?
以下は/var/log/httpd/error_logの抜粋です。
[Tue Dec 10 00:56:46 2002] [error] [client 150.xx.xx.xxx]
Requested content-length of 897669 is larger than the configured
limit of 524288, referer:
http://hogehoge.fugafuga.ac.jp/~nanasi/gonbe.html 以下は送信側htmlの抜粋です。
<FORM ENCTYPE="multipart/form-data" ACTION="keizi_input_pdf3.php" METHOD="POST">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000">
<INPUT NAME="userfile" TYPE="file"><INPUT TYPE="submit" VALUE="Send File"> (ファイルを指定してください)</FORM>
以下はphpinfoの抜粋です。
'./configure' '--host=i686-pc-linux-gnu' '--build=i686-pc-linux-gnu' '--target=i386-redhat-linux-gnu'
'--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin'
'--sysconfdir=/etc' <略> '--enable-memory-limit' <略>
memory_limit 16M 16M
open_basedir no value no value
output_buffering no value no value
output_handler no value no value
post_max_size 8M 8M
upload_max_filesize 10M 10M
upload_tmp_dir no value no value
以下はphp.iniの抜粋です。
register_globals = On / post_max_size = 8M / memory_limit = 16M /
file_uploads = On / upload_max_filesize = 10M
長くてウザくてスマソ。
73 :
72 :02/12/10 03:35 ID:PFVCJpVI
解決しました。 /etc/httpd/conf.d/php.confに <Files *.php> SetOutputFilter PHP SetInputFilter PHP LimitRequestBody 524288 </Files> とあったのが原因でした。 よーしパパ過労死しちゃうぞー
74 :
nobodyさん :02/12/10 06:45 ID:GKZUy/S1
EUC←→SJIS変換する時に、 絵文字はどうすればいいのでしょうか? mb_convert_variablesだと?になっちまいます。
75 :
nobodyさん :02/12/10 08:17 ID:nfrh3Eto
>>72 post_max_size 8M で upload_max_filesize 10M の設定アーンドビルド環境で
500MBまでうp出来るって。。。マジデスカッ
78 :
nobodyさん :02/12/10 15:25 ID:7Remseme
何方か教えて下さい。 構成は以下になります。 フレーム集約ページ ↓ ↓ フレーム左 フレーム右 そこで質問なのですが、この様な場合にフレーム左と右 はフレーム集約ページからのみの受け付け (フレーム右、左に直接URLを叩かれた場合は弾く) にする場合の設定を教えて頂けると助かります。
79 :
nobodyさん :02/12/10 16:15 ID:7Remseme
↑書き忘れました。 環境はRedhat7.2、postgresql最新、php4になります。 後、.htaccessは使わずに行いたいです。
>>78 HTTP_REFERERでチェックかな。
ただblocked by nortonな人は見られなくなる。
81 :
質問 :02/12/10 17:03 ID:TshJXHnV
yomi-search以外でサブカテゴリの階層が無制限に作成できるcgiスクリプトってあります?
82 :
nobodyさん :02/12/10 17:04 ID:nfrh3Eto
そぎゃんドキュソクライアントやドキュソアドミン雇ってる会社のクライアントなんぞアウトオブ眼中でいいやん? と漏れは思う。
>>77 そうっすよね。ケタ間違えてますよねきっと。
>>78 Refereがダメなら、フレーム集約ページが適当な引数をつけてフレーム左右を呼び出せばよい。
時間がいいんじゃないかな。フレーム左右は時間をチェックして表示する。
そこまでして何を守りたいのか分かんないが(w
85 :
78 :02/12/11 09:44 ID:T69cuDrR
>>80 サンクスです。試してみます。
>>84 スキルが足りなくて、申し訳ないです。
もう少し詳細を教えて頂けないでしょうか?
check=time()とか付けて呼び出す。 呼び出された側は、time()+5秒以内だったら表示を許可する。 time()は現在時間の数字を返す関数ね。 referer渡さないやつにはこれで対応できそう。 でも、ほんとなんでこんなことしたいんだろう。
>>87 なるほど、面白いやり方ですねえ。
で、ちと思いついたんですけど
index.phpとあって
<?if($_GET[f]==1)ほにゃらら?>
<frame src=index.php?f=1>
みたいなのでもいいんじゃないのかな。
index.phpだけでの管理ができるし。
?(゜Д゜)ハァ? セッション使え、セッション
ブックマークや検索エンジン対策じゃないの? index..php?f=1だったらヤバそう。 セッションだったら良さそうだね
レッツPHPの管理人むかつく… 質問には、全然答えてくれないし…
>>91 レッツPHPより良いサイト作って、
レッツPHPより良い管理人になってよ。
サイトの名前は、Shall We PHP? だな
94 :
nobodyさん :02/12/12 19:38 ID:3A+LJ+A4
じゃー漏れは May I PHP? にしよ。 ところでモジュール版 PHP で suexec ってのはやっぱり無理なもんですか? 無理ですよね。モジュールだもんな。。。
モジュールということはApache(httpd)と一心同体ということですか。
96 :
nobodyさん :02/12/12 20:34 ID:yx2kh8Ik
その通り。運命共同体とも言う。
>>91 というか、そぎゃん事はレッツPHPさん所で言えよ。
さらに、レッツPHPさんには質問に答える義務はないと思われ。
それよかあんさん、聞き方が悪いんとちゃうですか?
擁護するとぁゃιまれますよ。
ちと、質問だけど 複数行あるテキストファイルの最終行を読むのに、いい方法ってないかな? 俺が思いついたのは、 aとかa+でopenしてftell()でファイルポイントの位置を取得後、 その値の1つ前をfgetc()で読んで、一文字取得してそれを繰り返して 改行文字を読んだら終わり。 もっといいやり方あります?
100 :
94 :02/12/12 21:46 ID:???
そうですよね。フォークするときにuidとか変えれたらいいのになぁ。 ということは現在のuidを得る関数とかありますよね? あれってCGI版でしか意味をなさないということでよろしいか?
PHPアイコン掲示板で昇格機能ついてるのを見かけたことありませんか?
103 :
nobodyさん :02/12/12 23:25 ID:ASfbipmG
>
>>99 file()で読み込んでend()使う。
104 :
nobodyさん :02/12/12 23:32 ID:JBmqcDKb
105 :
99 :02/12/13 00:17 ID:???
>>103 すまん、情報が足りなかった。
テキストファイルのサイズはかなりでかい。
確かに、その方法はお手軽だが
でかいサイズのファイルを一気に読み込むとメモリが気になる。
そういう理由で、最終行のみを読みたかった訳。
$fp=fopen("filename","r"); for($i=0;"\n" != fgetc($fp);fseek($fp,$i--,SEEK_END))echo fgets($fp); fclose($fp); fseekでもいけるね。
107 :
nobodyさん :02/12/13 14:43 ID:ujPL5g/b
mb_send_mailで、ヘッダのFromに日本語の名前を使いたいんですが、 どうすればいいのでしょうか?
まず日本語ドメインを取って下さい
110 :
nobodyさん :02/12/13 20:56 ID:PeXGDKnU
PHP4.3.0RC3 Win32 バイナリ リリース!
112 :
nobodyさん :02/12/14 03:45 ID:qhx5KqhA
"h" を抜かす奴の気が知れない。
115 :
nobodyさん :02/12/14 12:56 ID:3c9e7HPU
PHPで、行数を調べる関数ってありませんか?
>>115 $gyosu=count(explode("\n",$text));
バイナリがswfファイルかどうか判定したいのだが、 GetImageSize()だと圧縮形式のswfフォーマット(ヘッダがCWS)を判定できない。 どうも'FWS'で決め打ちしてるらしくてT-T どうしたものか。
118 :
nobodyさん :02/12/14 13:39 ID:3c9e7HPU
$file = @file("xxx.txt"); fputs($fp, join("", $file)); のような感じにすると、 データ\nデータ\n・・・・・ となっていたものが データ\n\nデータ\n\n・・・・ と一行おきになってしまうのですが、なぜなのでしょうか?
最近似たような質問を見たな。。
>>119 試してみたら、データ\nデータ\nになった。
fileが改行を残したまま取り込んでるのを忘れてるか、
joinで\nを自分で入れたりしてない?
>>121 fileの段階では\nは配列の各要素の最後に1つ入っている
と思うのですが、どの段階でもう一つの\nが入り込んでしまって
いるのでしょうか?
やっていることは
>>119 の通りで途中で\nを付加したりしていません。
>>119 PHPじゃなくて、FTPの際に余計な改行が入っている場合があるよ。
文字コードの問題かなとか思ってるんだけど、俺の場合は特に実害も
ないので原因の特定はしてない。
file()する元のファイルをFTPで一度確認してみては?
125 :
nobodyさん :02/12/14 23:39 ID:Zh6KqPUJ
126 :
124 :02/12/15 02:47 ID:???
X軸が日時のグラフを描くときはどうすればいいのでしょうか 日時は "2002-10-11 22:23:34" という文字列の形式です。 一定間隔で並んでいるわけではないので、 Scatterlinkで描く必要があるのですが SetScaleでどう指定すればいいのでしょうか? それとも一度データを編集し無理やり一定間隔のデータに 整形してからグラフ描いた方がいいのでしょうか?
127 :
nobodyさん :02/12/15 12:56 ID:o+TSJNFG
以下のプログラムを作りました。 もちろんroot権限でしかチェックできません。 web上でこのプログラムを動かす必要が出てきました。 セキュリティの面はよくないのですが、root権限で動かしたいと思います。 setuseridで chwon root test.php chmod 4755 test.php としてWEB状から実行しても Permission denied がでます。 cgiでは上記のようなやり方でできましたが、phpではできないのでしょうか? passwd_check($data[userid],$data[password]); function passwd_check($userid,$password){ $file = file("/etc/shadow"); foreach($file as $value){ $psarray = split(":",$value); if($psarray[0] == $userid){ // パスワードチェック if(crypt($password,$psarray[1]) == $psarray[1]){ print "OK"; }else{ print "NG"; } break; } } }
128 :
nobodyさん :02/12/15 13:18 ID:UwocQ4Wo
>>127 PHPをsuEXECのCGIで動かせば出来るかも。
普通のモジュールでは出来ん
日時の演算ってどうすればいいですか? $30分前 = $今の時間 - 30分 ってやりたいんだけど、やはり一旦 秒 に落としてから 30*60秒引いて また日時に戻すのがセオリー?
130 :
127 :02/12/15 15:56 ID:o+TSJNFG
>>128 やはりそれしかないですか…。
ありがとうございました。
もうすこしほかにないか考えて見ます。
131 :
nobodyさん :02/12/15 17:50 ID:J7rWpeWU
>>129 $30分前 = date("日時の書式", time()-30*60);
がセオリーですね。
現在の時間でなくて、ある日時の30分前を取得するなら
まず日時を分解して
$time = mktime($hour, $min, $sec, $month, $day, $year);
$30分前 = date("日時の書式", $time-30*60);
かな?
132 :
nobodyさん :02/12/16 13:21 ID:aWxB0A5K
ローカルのマシン上では普通にphpでメール送信できていたのですが、 レンタル鯖に移すと、 メール送信ができませんでした。 特別な設定が必要なのでしょうか?
レンタル鯖に聞いた方が早い。 mail()使ってるなら、PHPの設定で鯖側が許可していない場合もある。
>>132 鯖屋に聞いた方が早いってのは
>>133 とおなじ。
ただ、mail()はsendmailコマンドに渡すだけだから、httpdを動かしている
ユーザではsendmailを実行できないように設定されてあるのではないか?
135 :
あうあう :02/12/16 22:25 ID:+h2c5f9C
>>mail() 何!!使えないだと!!!!! じゃあ、どうすればsendmailコマンドが送れるんだ? phpからメールが使えないならphpを使う意味がなくなる!!
136 :
nobodyさん :02/12/16 22:49 ID:SwLc0C7V
>135 なんかおめーさん怖いよ
137 :
nobodyさん :02/12/16 22:55 ID:tRYffWrM
139 :
127 :02/12/16 23:09 ID:7TgH+v0E
>>135 $mail = `which mail`;
で調べて、`$mail -s $subject $to < $messagefile`
でいってみれば。
140 :
yani ◆saNSktNEdQ :02/12/16 23:59 ID:/GE+8J7v
>>139 うちのmail(1)は内部でsendmailを起動してるからなあ。
141 :
132 :02/12/17 08:21 ID:/cJ6LV5I
>133 >134 まるごと一台借りるタイプなので全部自力でやらなきゃダメなんですよ。 sendmailから直接送信しても外に出てないっぽいので sendmailを再インストしてみることにしますた。 初期状態なら、送信できる設定だと思うので…
142 :
nobodyさん :02/12/17 09:01 ID:jQ8oYKFy
教えて下さい。 A.phpで登録した変数をB.phpで使用する時は どうしたら良いでしょうか?
143 :
bloom :02/12/17 09:21 ID:5WoIS+WS
145 :
nobodyさん :02/12/17 13:44 ID:YvvMBAWL
PHP4.1.2なんですが、 普通にページを表示するときは問題なくすぐに表示されるんですが、 なぜかPHPがエラーを吐き出すときに3分くらい返ってきません。 恐らく、設定の問題かと思うんですが、経験された方いませんか?
>>145 バグで無限ループに陥っていたときがあった。
そのときはサーバが落ちた。
147 :
nobodyさん :02/12/17 14:04 ID:YvvMBAWL
>>146 それが、単に、
<?
phpinf();//phpinfoの間違い
?>
としても、返ってこないんです。
その間、サーバーのCPUやメモリにも負荷がかかっている様子もないし・・・
148 :
nobodyさん :02/12/17 14:44 ID:ZPLFVQ52
149 :
142 :02/12/17 16:37 ID:jQ8oYKFy
>>144 サンクスです。
質問の仕方が悪くてスマソ
その方法だとA.php内のすべての結果がB.php
に入ってしまいます。
A.phpで登録した一つだけの変数を取り出したいです。
150 :
nobodyさん :02/12/17 19:04 ID:liA7N7iX
今日になっていきなり Warning: Only 0 bytes were written, expected to write 14039 となってファイルのアップロードができなくなりますた。 0byteファイルは出来てるんだけど・・・なぜ?
>>149 暇があれば小一時間問い詰めたいと思っている住人が大勢入ると思われ。
>>150 スレ違い。
152 :
nobodyさん :02/12/17 23:52 ID:nyJZsq/S
ユーザー定義関数を使うスクリプトと使わないスクリプト、 全く同じ処理をするなら、ユーザー定義関数を使う方が遅くなると聞いたんですが、 だとすると、自作クラスを作って、 オブジェクト指向なスクリプトと、そうでないスクリプトなら、 オブジェクト指向なスクリプトの方が遅くなるって事かな? まぁ、微々たるもんだろうけど
153 :
nobodyさん :02/12/17 23:56 ID:fUS3M6wj
前スレでハッピーマンデーのロジックの質問をしたものです。 その節はありがとうございました。 今日、来年から「海の日」と「敬老の日」もハッピーマンデーになると知りました。 無知な自分が恥ずかしかったです・・・。 前回教えていただいたロジックがそのまま使えますので感謝です。 で、質問なのですが、「春分の日」と「秋分の日」は何か規則的な取り決めが あるのでしょうか?「国で定めた〜」と言うのは分かってるのですけど、 「国で定めた〜」ってのが「国の発表を待つのか?」と疑問でして、探してみたところ どこかで(どこか忘れてしまいました)一定の規則があるのを見かけました。 2度とそのURLにたどり着けないです(泣 もし、法則があるようでしたらご教授 願えませんでしょうか。 今は他の祝日と同様に固定で持っています。 教えてクンでスンマソ。。。情けない(泣
154 :
nobodyさん :02/12/18 00:05 ID:A8pgwwHJ
>>149 一つだけの変数でいいなら
A.php
<?
function unko(){
$tinko="登録した一つだけの変数";
retrun $tinko;
}
?>
B.php
<?
require("A.php");
$manko=unko();
?>
てな風にすればいいんじゃないの?
156 :
nobodyさん :02/12/18 02:11 ID:bkCF953j
157 :
nobodyさん :02/12/18 02:12 ID:bkCF953j
海の日 七月二十日 海の恩恵に感謝するとともに、海洋国日本の繁栄を願う。 敬老の日 九月十五日 多年にわたり社会につくしてきた老人を敬愛し、長寿を祝う。 秋分の日 秋分日 祖先をうやまい、なくなつた人々をしのぶ。 体育の日 十月の第二月曜日 スポーツにしたしみ、健康な心身をつちかう。 文化の日 十一月三日 自由と平和を愛し、文化をすすめる。 勤労感謝の日 十一月二十三日 勤労をたつとび、生産を祝い、国民たがいに感謝しあう。 天皇誕生日 十二月二十三日 天皇の誕生日を祝う。 第三条 「国民の祝日」は、休日とする。 2 「国民の祝日」が日曜日にあたるときは、その翌日を休日とする。 3 その前日及び翌日が「国民の祝日」である日(日曜日にあたる日及び前項に規定する休日にあたる日を除く。)は、休日とする。
158 :
nobodyさん :02/12/18 02:12 ID:bkCF953j
※ それから、来年から施行されるのもあるので注意してね 国民の祝日に関する法律及び老人福祉法の一部を改正する法律 (国民の祝日に関する法律の一部改正) 第一条 国民の祝日に関する法律(昭和二十三年法律第百七十八号)の一部を次のように改正する。 第二条海の日の項中「七月二十日」を「七月の第三月曜日」に改め、同条敬老の日の項中「九月十五日」を「九月の第三月曜日」に改める。 附 則 この法律は、平成十五年一月一日から施行する。
159 :
nobodyさん :02/12/18 02:16 ID:bkCF953j
>>153 これだけ教えたのだから、今年と来年くらいの対応でいいから、
UNIX Timestamを与えるとその日が休日かどうかをチェックして、
休日なら何の祝日なのか(日曜もふくむ)を返すfunctionをつくって
カキコしてください。
あるいは、年を与えると、日付と祝日の配列を返すのでもいいです。
暇だったらハッピーマンデー法施行前のぶんも対応したのも作ってくれるとうれしい。
160 :
nobodyさん :02/12/18 02:28 ID:bkCF953j
ちなみに
>>156-157 は以下の改正を織り込み済み
(昭和四一年六月二五日法律第八六号) 抄
(昭和四八年四月一二日法律第一〇号) 抄
(昭和六〇年一二月二七日法律第一〇三号)
(平成元年二月一七日法律第五号)
(平成七年三月八日法律第二二号)
(平成一〇年一〇月二一日法律第一四一号)
(平成一三年六月二二日法律第五九号)
激しく既出だったらスマヌ。 www.php.net DNS引けんだけど俺だけ?
>>162 今朝はphp.net全滅状態だったんではないでしょうか?
pear.php.netやjp.php.netもだめだったよ。
今は回復しているみたいっすけどね。
よ〜しパパpear勉強しちゃうぞ〜と思ってたらHost Unknown。 仕方ないからローカルでPhpUnitしちゃうぞーって思ったら入ってない罠(w
春分秋分は天文計算だけどそんなに複雑じゃないよ。 ある春分の時刻からの通日を1年(365.242194日)で割れば春分の日かどうか判る。 "秋分 春分 計算"で検索してごらん。
169 :
167 :02/12/19 20:23 ID:???
>>168 サンクス。
総務省あたりがネット上でComputer Readerbleな祝日のテーブルを
毎年発行してほしいものですね。
170 :
153 :02/12/19 22:27 ID:isXMWHFb
153(前スレ966)です。
私の目的は自分用に携帯電話からアクセスする電車の時刻表を作ってまして、
平日ダイヤか休日ダイヤかを判定したい。と言うのが目的です。
(前スレの966(dat落ち)の内容です。)
>>159 さん
前作ったものを参考にして祝日名を返すものを作ってみました。
恥ずかしいプログラムですが、ご参考になればと思います。実行環境がないのでバグってたらすみません。
tp://cgi.io-websight.com/index2/uploarder/img/hare0767.txt
>>161 さん
PGありがとうございます。うるう年の計算もされているようで参考になります。
「祝日にはさまれた日は国民の祝日」ってのが良く分からないのですけど、色々自分で考えてみます。
>>165 さん
私は「祝日」とか、「春分の日」で検索していたのでうまく検索できませんでした。
「計算」もキーワードに含めたらよい情報が得られました。
>>168 さん
この情報を先に見て、その後に計算式があるというのを見たので自分の中でよく分からなくなった次第です。
何か計算できるのか?国の発表もあいまいだしなぁ・・・。と。
その他(まとめてすみません)関連する情報を色々ありがとうございます。
ここを参考にして(
>>168 さんの情報が前提ですが)自分でいろいろ勉強してみたいと思います。
tp://koyomi.vis.ne.jp/mainindex.htm
皆さんどうもありがとうございました。
171 :
nobodyさん :02/12/20 00:12 ID:HYngYsNs
CGIが許可されていなくて、PHPも使えないサーバに置いたサイトのログを
取得したいと思っています。
<img src="
http://hoge.org/log_get.php ">とかって感じでやりたいんですが、
log_get.phpからブラウザには何を返せばいいんでしょう?何も返さなかったら
IEの場合、×が表示されてしまいます。
ご存知の方がいましたらよろしくお願いします。
>>171 ヘッダー(image/gif);
ファイルリード(icon.gif);
とかそんなの?
173 :
nobodyさん :02/12/20 07:39 ID:F6W4EvAD
>>170 160じゃあないが
祝日と祝日の間にはさまれた日は休日
たとえば
文化の日(5月3日)と子どもの日(5月5日)にはさまれた
5月4日は「国民の休日」となり休み
あと詳しく知られてないのですが、
9月の敬老の日が9月の第3月曜日になることに伴い、
2009年の敬老の日(9月21日)と秋分の日(9月23日)なるので
9月22日は休みとなります。
これは変則的で 2100年までは2009年、2015年、2026年
、2032年、2037年、2043年、2049年が
9月22日が休みとなり3連休もしくは土日を含めると5連休になります。
また、特例の休日の話をしますと
昭和天皇の大喪の礼、1989年2月24日
皇太子明仁親王の結婚の儀、1959年4月10日
皇太子徳仁親王の結婚の儀、1993年6月9日
即位の礼正殿の儀、1990年11月12日
は祝日です。
あと祝日法制定前1948年7月20日以前と以後の判定
海の日(7月20日)は1996年からです。
2003年からは第3月曜日となります。
1989年以前の天皇誕生日と1990年からの
「みどりの日」と天皇誕生日の判定。
これぐらいだと思います。
間違いやぬけがあれば指摘してください。
174 :
167 :02/12/20 07:42 ID:???
175 :
nobodyさん :02/12/20 07:46 ID:F6W4EvAD
間違えました。 5月3日は 憲法記念日でした。 抜けがありました。 振替休日の制定、施行は 1973年4月12日からですので 1972年2月11日(日)は振替休日なしです。 あと成人の日、体育の日が第2月曜日に移るのは2000年からです。 敬老の日は2003年から第3月曜日なります。
176 :
nobodyさん :02/12/20 07:49 ID:F6W4EvAD
第2時世界大戦前の 祝日はどーするんでしょーねえ
177 :
nobodyさん :02/12/20 07:50 ID:F6W4EvAD
178 :
nobodyさん :02/12/20 08:03 ID:dWOp6x6c
PHPがあまりできないので、 <?include("cgi-bin/test.cgi");?> このようにしてCGIを挿入したいのですが、ローカルではソースが表示されてしまいます。 CGIを実行させて出力された内容だけを表示することってできませんかね? ヒントだけでもいいのでよろしくお願いします。 検索しても見つからなかったので。。
>>178 PHPのincludeでは、CGIを実行できません。
SSIでやるかPHPをincludeしましょう。
180 :
bloom :02/12/20 09:31 ID:V4mJQRW4
182 :
127 :02/12/20 18:30 ID:SfH5ROC+
htmlメール送信で、
<img src="
http://www.mag2.com/faq/imgn/toolmag_bgnr.gif ">
こんな感じのを送ると
<img src"
http://www.mag2.com/faq/imgn/toolmag_bgnr.gif ">
=が消えて届くんですけど、どうしてですか?
以下送信部分
$headers = "Mime-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=iso-2022-jp\r\n";
$headers .= "Content-Transfer-Encoding: quoted-printable\r\n";
$headers .= sprintf("From: %s\nReply-To: %s\n", $from, $replyto);
$subject = mb_encode_mimeheader($data[subject]);
$message = JcodeConvert($data[message],1,3);
mail($data[to], $subject, $message, $headers);
183 :
nobodyさん :02/12/20 18:37 ID:Rb62D1dw
>>182 quoted-printableにしてるからじゃないの。
184 :
182 :02/12/20 18:43 ID:SfH5ROC+
>>183 ただ単にそれでした。
ぼけぼけでした。
でも、Beckyだと文字化けするし。
これってしょうがないですよね?
185 :
nobodyさん :02/12/20 18:43 ID:ehxtG+cI
quoted-printableかよ。
187 :
nobodyさん :02/12/21 04:15 ID:axy/C0P3
"もじ文字$hoge文字もじ" でokな時とでない時があるような気がするんですけど。バグ?
${hoge}
190 :
nobodyさん :02/12/22 04:13 ID:OHSuBG2h
■ ログイン 前払ユーザーIDとパスワードを入力して 「ログイン」ボタンを押してください。 前払ユーザー登録を未だお済ませでない方は、 ユーザー登録ページで承っております。 前払ユーザーID パスワード
( ´_ゝ`)フーン
特定のWEBページからデータを取得、加工して表示するってのを作ってるんですが Warning: php_network_getaddresses: getaddrinfo failed: Name or service not known となってしまうので取得できないのです。仕方なくIPで今は取得していますが IPが定期的に変わるようでしばらくするとまたエラーが出てしまいます。 何かよい解決策はありませんか?
194 :
192 :02/12/22 17:51 ID:???
>>193 レスありがとうございます。
hostで取得しようとするとエラーになりますが
IPドメインLOOKUPでIPを調べてそのIPで取得してみるとエラーはでません。
ですのでfopenの鯖設定は問題ないように思われます。
195 :
!(゜∀゜)ゆう16歳 :02/12/22 19:37 ID:KmftV4B7
携帯(ドコモ)のHPを作っているのですが、 メールフォーム入力の時自動的に、かな・カナ・ABC・123など その時の条件にあった選択が自動にすることはできるのですか? ご存知の方いらっしゃいましたら教えてください。 ソースとか(w
∧∧ ミ ._ サクッ ( ,,)┌─┴┴─┐ / つ.釣り注意報| 〜′ /´ └─┬┬─┘ ∪ ∪ ││ _ε3 ゛゛゛'゛゛'゛゛'゛'゛゛'゛'゛゛゛゛'゛゛゛'゛゛
197 :
nobodyさん :02/12/22 19:55 ID:ux+25EaV
全てのフォーム要素に対してタグを排除したいので こんな書き方を考えたのですがバッチグーъ( ゚ー^)でしょうか? あまり見ない書き方だから心配。 if($_SERVER['REQUEST_METHOD'] == "POST") { if($_SERVER['CONTENT_LENGTH'] > 51200) { error("投稿量が大きすぎます"); } $_POST = array_map("htmlspecialchars", $_POST); $_POST = array_map("trim", $_POST); } else { $_GET = array_map("htmlspecialchars", $_GET); $_GET = array_map("trim", $_GET); }
198 :
nobodyさん :02/12/22 20:04 ID:9dxCZgOh
$_REQUEST
200 :
X :02/12/23 01:32 ID:2rrXmMYY
こんばんは、最近PHPをやり始めたものです。 ファイルアップロードに関して質問させて頂きます。 1ファイル20〜30M位のものを"POST"でアップロードしたいのですが、 8M位のファイルで「ページが表示できません」というエラーになってしまいます。 ※7Mまでのファイルでしたらアップロードは出来ました。 RedHat Linux 7.2 PHP Version 4.1.2 設定は以下の通りです。 ・フォーム内 <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value=30000000> ・.htaccess内 php_value upload_max_filesize "30M" php_value max_execution_time "3600" phpinfo() で設定値を見ると post_max_size が "8M" となっていて、 ココが怪しいと思っております。 memory_limit は設定値が見れなかったので、判りません。 社用で有料のレンタルサーバを使っているため、 直接 php.ini 等の設定ファイルをイジる事ができないのです。 なので、設定を変える為にはサーバ会社にメールでお願いしなければならなく、 あれやってこれやってと何回もメールを出すのは失礼だと思いまして、 ココで確実な情報を掴んでおこうと思いまして書き込みさせて頂きました。 果たして、post_max_size の設定値を40M位に高く設定してもらうだけで 大丈夫でしょうか? 判る方居られましたら、アドバイス頂けると嬉しいです。 宜しくお願い致します<(_ _)>
201 :
nobodyさん :02/12/23 02:40 ID:4+moOPcW
>>200 "post_max_size" を日本語ページOnlyでググって5番目
202 :
nobodyさん :02/12/23 05:03 ID:e9FFpfhW
phpでhttpd(apache)と通信してステータスコードを取得したいのですが、 簡単にステータスコードを取得できる方法はないですかね? 何か参考になるページとかあったら教えてください。
203 :
X :02/12/23 05:28 ID:MMM+OpDh
200です。 >201 ? もちろん調べてますよ。 調べてもポンポン試す事が出来ないので、 やった事ある人いるかなと思って聞いたのです。
>>203 とりあえず同じようなケースでPHP.iniを変更したら動いたことはあったよ。
ただ共用だったらやってもらえるかどうかは微妙じゃない?
うちのはなんでもアリアリの専用サーバだから自分で直接書換えて
Apacheリスタートしたけど。
メモリとポストMAXとアップロードMAXの書換え。
>>202 自前でソケット張ってもそうめんどくさくないような....
curl使ってもいいのかな。
>>203 memory_limitも関係するよ。
memory_limit >= post_max_size >= upload_max_filesize って感じ。
手元に試せる環境が無いって信じられないけど、どうしても分かんなければ、
サーバ会社に「30Mのアップロードをしたい」って頼んだ方がいいんじゃない?
206 :
202 :02/12/23 06:49 ID:e9FFpfhW
202です。
>>205 curl使ってもいいと思います。使うためにPHPとかコンパイルするのも可能です。
curlに何かヒントでもありますか?
207 :
X :02/12/23 08:22 ID:MMM+OpDh
200,203です。 >204 レス有難う御座います(^_^) >とりあえず同じようなケースでPHP.iniを変更したら動いたことはあったよ。 おぉ!なるほど!! >ただ共用だったらやってもらえるかどうかは微妙じゃない? >Apacheリスタートしたけど。 >メモリとポストMAXとアップロードMAXの書換え。 そうなんですよね、共用なんですよ。しかもApacheのリスタートが必要なのかぁ〜。 設定は難しいかもしれませんね・・・。 でも、メモリとポストMAXとアップロードMAXの書き換えで出来たんですね。 メモメモ。 大変勉強になりました、本当に有難う御座います<(_ _)>
208 :
X :02/12/23 08:23 ID:MMM+OpDh
200,203,207です。 >205 レス有難う御座います(^_^) やはりmemory_limitも関係しますよね。ただphpinfo()では見れなかったので、 今、いくつに設定されているのか?、そしていくつに設定すれば大丈夫か?なんですよね。 >memory_limit >= post_max_size >= upload_max_filesize って感じ。 この式でいきますと、 50M >= 40M >= 30M でOKですよね? >手元に試せる環境が無いって信じられないけど、どうしても分かんなければ、 >サーバ会社に「30Mのアップロードをしたい」って頼んだ方がいいんじゃない? ディレクティブ値をローカルから変えれる事を知らない時に、 「30Mのアップロードがしたいから設定して」とメールを出したんです。 で、「設定しましたよ」って返信があったんですが、結局出来なかったんですよ。 phpinfo()で改めて見てもアップロードに関係してる所はまったく変わってなかったですし。 ほんで、自分でさらに色々調べたら ローカルから.htaccessを使って設定できる事を知ったのです。 ただ、post_max_size (memory_limitもかな?)が .htaccessでは設定できないみたいなので、ちょっと困ってました。 設定が上手くされて無いって事は、サーバ会社の人間もよく判ってない、 ならばこちらから指示を出すしかないと思い、 このようなお手数をかけてしまう質問をさせて頂きました。 大変勉強になりました、本当に有難う御座います<(_ _)> とりあえず、post_max_size を"40M"に、memory_limit を"50M"に 設定してもらうようにお願いしてみます。 非常に有益な情報を教えて頂き、大変勉強になりました。 皆様、本当に有難う御座いました!!
210 :
202 :02/12/23 16:55 ID:e9FFpfhW
>>209 上のURL見ましたが、何も表示されませんでした。
sausp::submit_request()について調べてみます。
ちょっとしたアクセス解析を使っていたのですが、ある日を境に突然 特定の環境変数が取れなくなってしまいました。 取れなくなった環境変数はHTTP_REFERERとHTTP_USER_AGENTです。 スクリプト、サーバー設定共に変更はしていないはずです。 考えられる原因はなんでしょうか。 ちなみに、同環境からアクセスした場合でもugtopの確認君あたりでは ちゃんと取得できているのでクライアントの問題ではないと思います。 以下ソースです。 $access_time = date("YmdHis"); if($HTTP_REFERER == null) $HTTP_REFERER = "none"; //ホストとアドレス名を取得。ホスト取得出来なければ逆引き $host = getenv("REMOTE_HOST"); $addr = getenv("REMOTE_ADDR"); if($host=="" or $host==$addr) $host = @gethostbyaddr($addr); $accesslog = $access_time . "," . $host . "," . $addr . "," . $HTTP_REFERER . "," . $HTTP_USER_AGENT . "\n";
ていうかGoogleで調べれば5分もかかんないって。 "PHP 環境変数 $HTTP_USER_AGENT"とか。
未だこんな質問をする香具師が居るのか。 情けない。
209っす。
>>210 すまそ、最後を .php じゃなくて .phps にしてくれ。
216 :
211 :02/12/24 10:28 ID:???
>>212-214 本当だ・・・
知らない間にPHPのバージョン変わってたみたいです。
すいません(´・ω・`)ショボーン
217 :
nobodyさん :02/12/25 05:25 ID:GkYMdUPP
EclipseでPHP使っている人いませんか?
私はperlとphpをエディタでシコシコ書いているのですが、
こういうのを使ったことがないのでオープンということもあり、
是非使ってみたいのですが全然わかりません。
とりあえずイントールしたのですが、PHPのコード書くためのプラグインが
ちゃんとインストールできたかどうかもわかりません。
検索してみましたが全然情報がありません。出てくるのはjava。
どなたか一からご教授ください。
それと、みなさんどんな環境で開発されているんでしょうか?
http://www.xored.com/products.php
218 :
nobodyさん :02/12/25 05:31 ID:knoP/iY6
PHPはEUCで書くべきですか? PerlもEUCで書くべきですか?
221 :
nobodyさん :02/12/25 12:34 ID:5bevcro7
普通にsjisで書いてる
222 :
217 :02/12/25 14:20 ID:GkYMdUPP
試してみたけど、質問していい? webstudioは、 日本語化けの解消はできないの? エンコードの変換はできないの? テキスト表示に乱れがある。 教えてよ。
224 :
217 :02/12/25 15:38 ID:GkYMdUPP
僕も少し試した位なのですが、phpはEUC-JPで書いているのですが、 SJIS、EUC-JPの表示は出来ました。あと、LFでの改行保存、表示。 でも、EUC-JPでの保存の仕方がわからないです。出来るのかもわかりません。 行番号の表示も出来ました。タブ表示はわかりません。 あと、フォントをMSゴシックにしてるのに微妙に等幅にならないところがでる。 なんでだろう?EUC-JPでの保存ができればかなりつかえそうですが・・。 デバッグもできるそうですが全然わかりません。 現在、こんな感じです。 とりあえずWin版を使ってます。
225 :
217 :02/12/25 18:17 ID:GkYMdUPP
>>229 つうかsjisで不都合起きるようなサーバ設定だったら他のエンコードに変えるっしょ。
sjisで充分だ。
>>217 ありがとう。でも日本語ばけるなー。
また2,3ヶ月して使ってみる。
232 :
nobodyさん :02/12/26 02:44 ID:pSLGdpDk
う〜ん、あくまで個人的な感想なんだけど、SJISでスクリプト書くのは請けた人間の 自由かもしれないけど、後で、その尻拭いさせられるほうはたまったもんじゃないよなぁ。 そういう「スクリプトで自己実現」してる人に限って、mysql_connect文をincファイルに 3つ並列に書いて、DBへのアクセスがないようなスクリプトにincludeしたりとか、わけの わからんことしがちだし。
234 :
nobodyさん :02/12/26 11:01 ID:dmkbemFI
君の尻ぬぐいは誰がするの?
235 :
nobodyさん :02/12/26 11:10 ID:4kVLKqFJ
俺様の作ったものに尻ぬぐいは必要無し。 俺様の作ったものを見て皆が学べば良い。 俺様こそが完璧。唯一の存在である。
236 :
nobodyさん :02/12/26 11:21 ID:GrPI/fyg
>>233 SJISで書くときはmySQLとの連携で注意が必要だな
EUCでもなんでもいいんだけど
多バイト文字を扱ってる自覚のあるスクリプトであれば
何でもいいと思うよ。
君のその例はほんとにただの感想だな。文字コード関係ないし。
238 :
俺様 :02/12/26 11:39 ID:Vnmq5CiR
何ゆえ、俺様のコードを無料で見れると思う。 俺様のコードは唯一無二。簡単に見れると思うな。 自ずとそのときが来る。それまで待て。
>>233 sjisだと、HTMLでフレーム分割したとき便利だよ。
文字セット宣言してないHTMLがフレームで混在すると文字化けするブラウザもあるし、
文字セット宣言してない人なんていくらでもいるからね。
日本語のHTMLなら、ほとんどSJISだから。
>234 もっぱら尻拭いばかり・・・。 >237 同感、とにかくスクリプティング環境内での一貫性を保ってほしいんよ、ほんまに(涙 >239 そのあたりは立場の違いかもしれませんが、デザイナーに予めのガイドラインとして きちんと通告しておく必要があるでしょなぁ。 んで、HTML作らせた上で、いっぺんスクリプト(シェルスクリプトでもsedでもperlでも 何でもいいですが)で<META>タグとかコードとかがきちんと統一とれているか、きれいに 洗濯した上でスクリプト貼り付け、というかんじですが。
241 :
202 :02/12/26 16:28 ID:VmunUktx
もれはスクリプト、DBのエンコーディングをEUC-JP(もしくはUTF-8)に、
そして生成されるhtmlのエンコーディングをShift_JISにしている。
なので、
>>239 のような文字化け問題で困ったことはないよ
PHPで小さなSOAPサーバを実装しようと思っています。 そこで質問なのですが、 valiable=value;valiable=value 形式になっていないPOSTデータを受け取った場合、PHPではどう解釈されるのでしょうか? $HTTP_POST_VARSは連想配列にならずただの変数になるのでしょうか?
246 :
nobodyさん :02/12/27 14:34 ID:2rcfNVWT
php-4.2.3でセッションを使いたいのですが上手く行きません。 php.iniとかはそのままです。 apacheはsuexecです。 最初の書き込み?はできてるようですが更新?ができません。 どうすればいいのか教えていただけると嬉しいです。
>>246 [php.ini]
session.save_path = /tmp
↓
session.save_path = C:/WINNT/Temp(NT,2000)
session.save_path = C:/WINDOWS/Temp(上記以外のWindows)
>>247 ありがとうございます。
でもOSはFreeBSDなんです・・・
>>249 お返事ありがとう御座います。
言葉足らずでした。
/tmp内には正常に?ファイルが作成されており、中身も入っています。
それの読み込みもできているので、最初の書き込みは問題ないのかな?と思います。
そこで、公式にあった「何回訪問しました」みたいなやつをやったときにカウントアップされないんです。
251 :
nobodyさん :02/12/27 15:04 ID:yKyIdM9Y
>>250 セッションが途中で終了されてるんじゃないの。
>>251 お返事ありがとう御座います。
ブラウザのクッキー取得時にダイアログを出るようにしてテストしたら、
食べますか?とでたので食べました。
で、インターネットオプションからクッキーファイルをみたら、該当ドメインのクッキーファイルがありませんでした。
たぶん、おっしゃるとおりかと思います。
その場合はどのへんをいじればいいのでしょうか?
ブラウザ閉じた時点でセッション終了だけど
>>253 nochacheだかにしていればブラウザを開いているうちは有効ですよね?
であれば、なぜ
>>251 のようになるのかをお聞きしたかったのです。
パーミッションの問題でしょうか・・・
; Lifetime in seconds of cookie or, if 0, until browser is restarted. session.cookie_lifetime = 0
<?php session_start(); はありますか。
>>255 session.cookie_lifetime = 0
になっています
>>256 <?
session_start();
if (!isset($count)) $count=0;
session_register("count");
$count++;
?>
こんな感じになっています。
258 :
257 :02/12/27 16:38 ID:???
あ・・・
>>257 みたらわかっちゃいました・・・
逝ってきます・・・
ご迷惑をおかけしました・・・(鬱
>>257 そのソースじゃ俺もカウントアップされません。
register_globalsがOnじゃないとそれ無理だと思います。
だから
session_start();
// PHP 4.0.6以前の場合は$HTTP_SESSION_VARSを使用して下さい
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
}
else {
$_SESSION['count']++;
}
とやればできるんでないかな。
マニュアル読んだ?
260 :
257 :02/12/27 17:09 ID:???
>>259 お返事ありがとう御座います。
マニュアルを読んで、自分のPHPのバージョンと照らし合わせたら分かったんです・・・
最近のは「$_SESSION」になってるんですね・・・
勉強になりました。
色々と教えてくださった方、ありがとうございました。
261 :
nobodyさん :02/12/27 18:45 ID:+bTXDMqa
web上のphpから自分のパソコンにあるファイルを読み込むことってできますか?
>>261 ソケットでも使ってコネクション張ればできないことはない。
鯖立てれば?
264 :
nobodyさん :02/12/27 21:58 ID:+bTXDMqa
そんなことできたら 大変なことになると きづいた 無理なんですね (((( ;゚Д゚)))ガクガクブルブル
何をしたかったのか言ってごらん。 代案がでるかも知れん。
266 :
TOPEAK :02/12/27 22:57 ID:+bTXDMqa
php製の2ちゃんねるビューアーが作りたかったんです 特定のスレだけみられればいいので、 datファイルをアップすれば解決なんですが 著作権的に微妙みたいなので 閲覧者のHDDの中身にdatファイルをおいてそれを読み込むように できればいいかなあとおもったんですが。。 閲覧者さんにphp環境をインストールしてもらうのもちょっとつらいかなと。
>>266 取りあえず問題を解決するために最適な言語や環境を選ぶのもプログラマとしての素質だと思う。
268 :
nobodyさん :02/12/27 23:49 ID:9tHzH/DU
/php/a.php <?php require_once("b.php"); ?> /php/b.php <?php print("hello world"); ?> /index.php <?php require_once("/php/a.php"); ?> と言う3つのファイルがあるとして、index.phpを実行するとa.phpのrequire_onceでファイルが見つからないエラーが発生します。 requireしたときにカレントディレクトリとしてindex.phpのそれが採用されてしまうのが原因だとは思うのですが、絶対パスでrequireを指定する以外に回避する方法はないでしょうか?
>>266 curl で取ってくるってのは?
読売相手はダメだが(w
>268 require_once("./php/a.php");
>>270 ダメでした。
>requireしたときにカレントディレクトリとしてindex.phpのそれが採用されてしまうのが原因だとは思うのですが
にばっちり引っかかります。
272 :
nobodyさん :02/12/28 03:07 ID:XqDY5D7t
>>271 php.ini
include_path = ".:/php"
>>272 管理者ではないので書き換えられないのが現状です。
.htaccessが使えればinclude_pathを設定できる可能性がある。 (あくまで可能性な。) ini_setを調べてみれ。
276 :
nobodyさん :02/12/28 16:16 ID:XqDY5D7t
>>276 わーい。確か4.3からincludepathの問題大解決〜
279 :
nobodyさん :02/12/28 22:04 ID:/HF7iTjl
出たか。試してみるべ。
当方のWin2000+Apache2自宅鯖にてISAPIで早速試しますた。PHP4.3.1-devですが・・・。 fsockopen()を使ったスクリプトは軒並みWarning頻出。 PHPエラーは出ないが、まともに走らなくなったスクリプトが一点。
4.3.0を入れてバンドル版GDを検証。 ImageCreateFromPNGで24bit以外のpngが読めない。 ImageJPEGで画像が減色される。 ImageCreateFromGifでgifが読めない(?) GD2逝ってよしヽ( ´ー`)ノ
>>282 >ImageCreateFromGifでgifが読めない(?)
取りあえずこれは明記してある仕様。
284 :
nobodyさん :02/12/29 23:36 ID:i0dEEJS5
<a href="ここ1" target="right">ここ2</a>(ここ3)<br> <a href="ここ4">ここ5</a><br> <a href="ここ6">ここ7</a><b>(ここ8)</b><br> 上記のここの部分を取得したいのですが、 preg_match_all("/<[^>]*?a[^>]+?href=\"([^\">]+?)\"[^>]*?>(.+?)<\/[^>]*?a[^>]*?>[^(]*?(?!<a)(\([^)]+?\))?/i", $string, $match) など色々試しても ・二回目のマッチで二行目と三行目にわたってマッチしてしまうため ここ6とここ7が取得できない など、この文字列に対して上手く取得をすることができないのですが、 何か良い方法はないでしょうか?
<? $string=" <a href=\"ここ1\" target=\"right\">ここ2</a>(ここ3)<br> <a href=\"ここ4\">ここ5</a><br> <a href=\"ここ6\">ここ7</a><b>(ここ8)</b><br> "; preg_match_all("/<a href=\"?([^\"]*)[^>]*>([^<]*)<[^>]*>(?:\(([^\)]*)\)|<b>)*/i",$string,$match); print_r($match); ?> てきとうにやったら出来たよハハー
PHPファイルをhtmlかshtmlの拡張子のページで 表示させるには iframe タグを使用する以外に方法はないでしょうか? トップページが shtml なんですが、天気予報をphpで取得したものを ここに表示させたいのです。 iframe でもいいのですが、ネスケの人も少しはいるので・・・。
>>287 mata refreshとか言ってみる。
もしくはSSIのinclude使うとか。
>>287 .htaccess
----------
DirectoryIndex index.php index.html index.dqn
<IfModule mod_php4.c>
AddType application/x-httpd-php .html
</IfModule>
290 :
285 :02/12/30 11:08 ID:wr7PH1WC
291 :
285 :02/12/30 11:35 ID:???
293 :
285 :02/12/30 12:36 ID:???
294 :
nobodyさん :03/01/01 17:34 ID:sG5AbHws
webstudio.junbi.net が、webstudio.japansite.org に変更になったね。 まだ、不安定だけど、日本語化もすすんでいて、将来に期待
リボンネットワーク(
http://ribbon.to/ )で、レッツPHPさんの掲示板(p-bbs)を設置しようとしたのですが動きません。
パーミッション変更が、リボンではできないのですが、これが関係してますか?
リボンでPHP掲示板を設置されているかたがおられましたら、ちゃんと設置できたかどうか教えてくださいませんか。
一応、レッツPHPさんの「動かないときは」のページ(
http://php.s3.to/off.txt )のとおりにはしたのですが。
宣伝でもいいからあのページもうちょっと見やすくしてほしいな。 年越しながらeclipseとwebstudio入れてみたけど、情報がまとまってるところが無くて、 結局あちこちのページを参考にしながらインストールした。 ブツはなかなか軽くて良さげ。総合開発環境じゃないと駄目って人にはいいかもね。
PEARを使いたく思ってます。 で、PEARのcoreパートはPHPをインストールすると、 「./configureにフラグ'-- without-pear'を指定していない限り」 自動でインストールされるとのことですが・・・ ところが自分の場合、rapidのバーチャルサーバを使ってることもあって、 「vinstall」という対話的コマンドで、インストールしてます。 で、その対話的コマンドのなかには、PEARをインストールするか否かという選択しはありません。 でも、インストール後のphpinfoをみたら、-- without-pear'が含まれてました。 この状態から、PEARを入れるには、どうすればいいのでしょうか? #ソースからPHPをインストールしようとすると、 #バーチャルサーバ特殊な事情?により、 #どうやらmakefileをいじらなきゃいけないようでして・・・
299 :
298 :03/01/02 01:37 ID:???
>>296 ribbon.toはfopenで新規作成できないようになってます。
ログファイル等は事前にファイルを作っておかないとだめ。
ちなみに、
パーミッションの変更はできます。
ffftpだと何故か変わったように見えないだけみたいです。
他のクライアント試してないのでよくわからんですが、
とりあえず試しにフォルダを作って777にしてみてください。
index丸見えになりますから。
と、うろ覚えで言ってみるテスト。
つうかレッツphpで聞けよ
PHPを勉強しようと思っているのですが、 現在、私はperlもほとんど満足に出来ない状態です。 まずperlから覚えたほうがいいでしょうか? いきなりPHPにいっても問題ありませんか?
303 :
301 :03/01/02 14:25 ID:???
>>302 そうですか。ありがとうございます。
これから本でも買って勉強致します。
304 :
296 :03/01/02 15:20 ID:???
>>300 回答ありがとうございます。
>つうかレッツphpで聞けよ
おっしゃるとおりでした。
こちらの方が人口が多いので、レスがつきやすいかと
思いましたので。申しわけありませんでした。
>>301 まだ買うな。
マニュアルとレッツphpのチュートリアル読んで
レッツphpの掲示板のソース眺めて、
少し理解してから買ったほうがいい。
わけもわからず買うと損するよ・・・。
>>304 よくよく考えたらあそこ排他的な雰囲気なんだよな・・・。
すっげー聞きにくい。
いままでも国際化パッチ当てれば出来たけど4.3.0では標準でmbstringの設定を変えれば ShiftJISでもスクリプト記述出来るようになったって本当ですか?
307 :
306 :03/01/02 16:55 ID:???
自己レスです。 4.3.0からは--enable-zend-multibyteを付ければShiftJISで書けるみたいですね
<?php echo ”はろーわーるど”; ?> こういうこと?
309 :
301 :03/01/02 17:34 ID:???
>>305 レスありがとうございます。
おっしゃられた通り行ってみます。
310 :
298 :03/01/02 19:00 ID:???
>>298 の質問は、厨房すぎたのか?あるいは特殊すぎたのか。それとも・・・?
>>310 PHPのincludeパスにPearをDLしてきて入れれば良いだけじゃないの?
312 :
通りすがり :03/01/02 21:08 ID:pUT48HjR
よくチャットとかにあるROM人数表示はどうやるんですか?
313 :
通りすがり :03/01/02 21:11 ID:pUT48HjR
おしえてください!
314 :
通りすがり :03/01/02 21:18 ID:pUT48HjR
無視しないでください
せっかちだなぁ。ネタくさいが.... そのチャットのソースを見ないとなんとも言えないぞ。 つかPHPのチャットじゃねえ気がするな(w
316 :
通りすがり :03/01/02 21:38 ID:pUT48HjR
せっかちですみません PHPってソース読み取れないんですよね・・・
317 :
nobodyさん :03/01/02 21:52 ID:XrNf/Ijk
レッツPHPに人数表示機能付きの チャットがあったからそれ使えば良いよ。
318 :
通りすがり :03/01/02 21:54 ID:pUT48HjR
ありがとうございます!!!
319 :
nobodyさん :03/01/03 00:58 ID:UNfhx84V
はまりました。 preg_match_all('/<.*?a.*?href=\s*?[\'"]?(.+)[\'"].*?>(.*?)<\/.*?a.*?>/i', $str, $matches) この正規表現だとURLを抽出した場合に <a href="URL">test</a> みたいなパターンだと抽出できるけど、 <a href=URL>test</a>のパターンだとURLの部分が抽出できない・・ どっちもに対応する正規表現ってないですか?助けてください。
あるよ
322 :
319 :03/01/03 01:12 ID:UNfhx84V
>>320 教えて君で申し訳ないです・・
知ってたら教えてください。
323 :
nobodyさん :03/01/03 10:42 ID:ipKn3g2R
あれやろ、ユーザーオンライン的スクリプトを埋め込めばよろし。 そうすればチャットに何人アクセスしているかが分るから目的は 達成できるでしょう。 つかROM表示ってもろユーザーオンラインじゃん。
↑ でもチャット中の人数で引き算が必要だよね
>>324 引き算ごときでなぜマクローリン展開を解く様な言い方をするのか。
>>320 おまえがな
>>319 おはよう
preg_match_all('/<.*?a.*?href=(?:\s*?[\'\"]?(.+)[\'\"]|(.+)).*?>(.*?)<\/.*?a.*?>/i', $str, $matches);
329 :
通りすがり :03/01/03 17:22 ID:ZDyvXF3T
ユーザーオンライン的スクリプトというと どんなのがありますか?
xoopsの左下に出てることが多いような....
やってることは単純だと思うよ。
session_idをそれぞれに振って、誰かがページを読み込む度にタイムアウトしている人がいないかチェック。
後はsession_idをカウントするだけ。
簡単なので
>>331 がスクリプトを書いてくれる予定。
てか規制にひっかかって書き込めねえYO!
同じ板だと他のヤシが書き込むまで無理とかあるのかな。
331 :
通りすがり :03/01/03 21:09 ID:ZDyvXF3T
お手数かけてすみません。
333 :
nobodyさん :03/01/03 22:58 ID:lfozDre+
>>332 しかし、そういうサイト見ると
いかに日本のPHPの普及が遅れているかがわかるな。
やはりアメリカではもうPerlの数<PHPの数なのだ!
334 :
通りすがり :03/01/03 23:26 ID:ZDyvXF3T
Perlは何言語が元になって出来たんですか? Cだったりします?
>>334 どっちかというとシェルスクリプトじゃないの?shとか。
Perlの元はハングル語ニダ
337 :
296 :03/01/03 23:45 ID:???
>300 すいません、かなりもうレスが進んでいて場違いかもしれませんが 、お礼にうかがいました。 ribbon.toでの掲示板設置ですが、パーミッション変更して、ちゃんと動くようになりました。 ありがとうございました。
339 :
通りすがり :03/01/04 02:32 ID:2/crGhUf
nobodyさんはいくつWebプログラミング言語知ってますか?
こういうのはsageたほうがいいんですか?
Perl、PHP、Java、JavaScriptデスo 質問はageた方がいいでスょo
おやおや、リント☆はWeb制作板だけかと思ってた。どうもっす。 ここはPHP質問スレなので、スレ違いクサイ。 nobodyはデフォルトHNなので勘違いクサイ。
344 :
319 :03/01/04 06:46 ID:???
>>341 広告なし=厨が殺到する→重い
CGI=厨がチャット置く→重い
PHP=厨は存在を知らない→○
50MBもある=厨が重いもの置きやがる→重い
>>345 ワラタ。でも、CGIとPHPは同じサーバ上で動いてることが多いわけで。
347 :
nobodyさん :03/01/04 15:08 ID:xUf1/US0
すいません、ちょっとすれ違いですが質問(もしくは誘導)お願いします。 PHPのテスト環境を作ろうと、AN HTTPをインストールしました。 いつもファイルをアップする際はFTPソフトでファイルのパーミッションを 変更しているのでローカルでファイルをアップできてしまうAN HTTPの場合、 どうやってパーミッションを変えればいいのかわかりません。 よろしくお願いします
>>347 そもそもWindowsにはパーミッションの概念がない(語弊あるか)ので設定しなくて良いです。
そもそもWin鯖にパーミッションとかあんのか?
つぅかPHPってパーミッションいじる必要あるか? 実行権限は少なくともいらないだろうし。
351 :
347 :03/01/04 15:17 ID:xUf1/US0
たくさんの即レスありがとうございます。 たとえばカウンタなど作る場合、外部テキストファイルなどが必要になってくると思うので 設定もしなければならないと思い込んでいました。 アドバイスありがとうございます。
すいません、簡単なカウンタで試したらパーミッションなしでいけました。 パーミッションについてまるで知識がないことがわかりました。 スレ違い失礼しました。
353 :
nobodyさん :03/01/04 20:42 ID:MmVjw9qc
質問なんですけど、PHPでメールの自動返信機能とかネットワーク系の プログラムも作れるのでしょうか?
355 :
しつもんくん :03/01/04 22:02 ID:qfRv42FP
windows2000+Apache+PHPで$_SERVER['PHP_SELF']を返さないのは当たり前ですか? IISのときは返ってきたのだけど。
パーミッションいらないはずのPHPで パーミッション設定しないとエラー起きるのはなぜ? パーミッション設定したらもち正常に動作するよ
357 :
nobodyさん :03/01/04 22:29 ID:/STct/nN
>>356 >パーミッションいらないはずのPHP
(・ω・ )モニュ?
1回しか試してないの? 1人しか試してないの?
>>361 返ってこないんならもっと大勢がかえってこねーって言うだろ。
>>347 このテの質問も定期的にagaるよね。
まーWinの場合はアクセス権を駆使するっきゃないよね。もし貴殿がNT系ではないWin使いならそれこそお手上げ。
落ち着いて考えてみれば理解できるよ。
つまりこういうコト。
日本中のNT系Win使いの殆どがAdministratorでログオンしているんだけど、そういう状態で動くアプリは全て
Administrator権限を持つよね。つまりアドミンログオンでApacheを動かしていたとすれば当然Apacheもアドミン
権限を持って動作するってコト。WinNT系+Apacheで自鯖運用している殆ど全ての人はこのタイプ。
こうなるとファイルアクセス権を変更しても意味がなくなるのよ。
だからこの場合、Apacheのサービスの設定を弄るのね。ようはApacheサービスをAdministratorより低い権限で
スタートさせればいいってコト。これはサービスのログイン権限の変更って言うんだ。
こうすればApacheおよび付随するアプリ(CGIやPHP)が扱うディレクトリやファイルなどのアクセス権をApache
サービスがログオンした権限と同じにしてあげれば、Administratorでログインしなければ扱えないファイルは
しっかり保護されますってコト。
でも弊害も出るかも。例えば画像掲示板なんかで自分がうpしたファイルを消す時に他の人がダウソちうだったら
消せなくなってディスクに残ったままになるとかね。
この辺はウェブ検索すれば見つかると思うので後はご自身で探してみると面白いと思います。
>>347 スンマソン。
>>363 なんですが、AnHTTPdがサービスで稼動しなければ意味のない
レスでした。漏れってAnHTTPd使った事がないもので。どうかお許しを。
365 :
しつもんくん :03/01/05 02:16 ID:HdSH+6nK
>>360 ありがとうございました。
なんで同じスクリプトなのに返ってこないのだろうか・・・?
もう少し調べてきます。
366 :
nobodyさん :03/01/05 05:16 ID:r91WhBjC
>>365 PHPのバージョンとか動作モードとか関係あったようななかったような気がしまふ。
>>366 リファでチェック&htaccessでmod_aliasとかを駆使で可能じゃないかな。
試してないからできんかもしれんけど。
370 :
366 :03/01/05 14:23 ID:r91WhBjC
>>369 ありがとうございます。
しかしながら、なにぶん英語は苦手なので、
ダウンロードまでは出来たのですが、
設置の仕方が良くわかっておりません。
どこにどう設置すればいいのか、
中のどこら辺を変更すればいいのか、
質問ばかりですが、
よろしければご教示お願いします。
371 :
nobodyさん :03/01/05 16:57 ID:LhQ0NrhB
>>368 mod_setenvifでやると簡単だよー。
SetEnvIfNoCase Referer "^(shttp|https?)://自分のサイト" local_referal
SetEnvIf Referer "^$" local_referal
<Files *>
Order Deny,Allow
Deny from all
Allow from env=local_referal
</Files>
373 :
366 :03/01/05 20:21 ID:4H2ggv8P
>>374 それ、次スレでテンプレに欲しいな。
>>370 スレ違いだろ。さしずめCGI系のスレいったら?
376 :
366 :03/01/05 21:13 ID:7lpHYwH/
>>374 ならこの質問はどこで?
スレタイは
【PHP】質問スレッド Part6
って有ますから、質問してるんですが・・・?
>作る奴用の板
>>1 も
>>2 も
>>3 も
>>4 も
>>5 にもそんな注意書き無かったですよ。
>>375 cgi系のスレで
phpスクリプトの掲示板に、
phpスクリプトの
>>369 のことについて判るのですか?
不思議です。
>cgi系のスレで
>phpスクリプトの掲示板に、
>phpスクリプトの
>>369 のことについて判るのですか?
cgiとphpについて自分で調べられるだけ調べてから出なおせ。
設置の質問はおろか、ここに書き込むレベルじゃないようだ。
ついでに言うと、人に質問する姿勢じゃない。
>質問してるんですが・・・? 質問する人の方がえらい国から来たんですか? とりあえず帰ってください。
381 :
nobodyさん :03/01/05 21:22 ID:CZ/CcyUx
aki.adam.ne.jp/index.php このサイトで聞いたらいいでしょ。ちなみに質問するときのタイトルは 「質問です」「初心者です」はやめようね。本文がわかりにくいから。
失礼、くだらないことであげてしまった。
>>383 板自体がそうなんだからローカルルールにそう明記すべき。
vine linux2.6のphp-4.2.3-0vl1.i386.rpm をインストールしたんですけど'--enable-calendar' を指定しないでコンパイルされてるみたいです。 カレンダー関係の関数が入ってるモジュールって ありませんか?
でも設置は微妙だよね。Web制作板で質問したら 「サーバーサイドだろぅが!氏ね」とか言われそうだし。 この板にそれ用スレを作るか WebProg初心者スレを使ってもらうかってとこかな。
>>386 設置スレなくなったの?昔あったけど。
滞在3日で自治しようとか考えてるんなら一昨日来やがれ。
388 :
nobodyさん :03/01/06 00:09 ID:Vf9rP4l2
先日、PHP4.3.0にバージョンアップしました。 phpinfo()の出力に"Virtual Directory Support"なる項目があるのですが、 これって一体どんな機能なのですか? ドキュメントにも書いてないみたいなんですが…
389 :
365 :03/01/06 00:35 ID:YMUOqc9Y
$_SERVER['PHP_SELF']について質問したものです。
いろいろやってみると、$PHP_SELFは正常に返ってきました。
>>367 さんありがとうございます。引き続き調査します。
391 :
nobodyさん :03/01/06 03:59 ID:jW8J9DPb
readfile等で、別サーバーのファイルを読もうとすると、 Warning: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in〜 というエラーが出て読めません。 別サーバーのファイルを読むには何らかの設定が必要なのでしょうか?
392 :
391 :03/01/06 04:08 ID:jW8J9DPb
自宅のテスト用鯖で試したら、ちゃんと読めました。 動かしたいのはさくらのレンタルサーバーです。
>>392 外へのコネクション禁止されてんじゃないの?
話はちょっとずれるけどreadfileで外部ファイル読むときってHTTP/1.0なんだ。 これって名前ベースのバーチャルホストだと使えないってこと?
>>394 HTTP1.0の仕様に激しく準拠。と言うことだね。
>>396 あなたは製作者でしょうか?
違うならば、厨房以下です。
スレタイ変えたら? そうしないといつまでだってもねぇ。 とりあえず質問スレッドを製作者用と使用者用と。 あとテンプレに誘導先もかいとかないと。
>>396 初心者にとってphpは
「こんなに簡単にプログラム組めていいのかよ!」と叫んでしまうほど
易しくできているんですよ。
N88Basicを中学校の授業でかじり、Cを独学で舐め、
VC++を買ったはいいがわけがわからず投げ出した、
そんな低脳でもできる仕様なんですよ。
コンパイル不要でテキストエディタでサクッと書いてサクッとブラウザで反映、
エラーがあったら速攻行番号を教えてくれ、echoとprint_rでサクサクッと原因特定できてしまう。
公式マニュアルには例題までついているしチュートリアルまで書かれている。
わからない用語もあるけれど、使ってみるとああなんだこういうことかとすぐわかる。
人様のソース見ても簡単に流れ図が頭にイメージできてしまう。
perlのkentの掲示板のソースを見ても手の出しようが無かったおれでもちょちょいと弄ることができてしまう。
こんなおれでもプログラマぶることできてしまうんだ。
・・・いいか、
>>396 。
厨でもDQNでもできるんだよphpは。
難しいことやろうと思わなければある程度のことできちゃうんだよ。
>>396 の質問は、ちょっと勉強するだけでわかるんだよ。
する気が無いなら、親切丁寧に解説があるperlのアップローダを使ったらどう?
わざわざphpでやる必要はあるまい。スクリプト製作者に頼りまくればいいさ。
能書きは要らんからとっとと解答しろ、チンカス
402 :
nobodyさん :03/01/06 17:53 ID:nZ7mEtub
下記のトラブルに付いて質問させてください。 PHPでMySQLを使用しているのですが、 設定ファイルの「ini.h」に記述した「putenv("TZ=Japan");」(318行目) が突然エラーとなってしまいました。 ▼エラー文 Warning: Safe Mode: Cannot set environment variable 'TZ' - it's not in the allowed list in /home/xxx/public_html/ini.h on line 318 PHPや設定ファイルに誤りはないので、 これはデーターベース側のエラーでしょうか? それともサーバー側のエラーでしょうか? 環境はkagoyaにてサーバーをレンタルしています。 対策や治し方があれば教えていただければと思います。
403 :
StudioMX ◆dgiVczz0lc :03/01/06 18:10 ID:48v1EupQ
ファイルの行数を調べるにはどうしたらいいんですか?
404 :
葵 :03/01/06 18:26 ID:???
でも、結局スレタイ変えるとか等の対策する気が無い方々の集まりみたいですね。 一人よがりばっかりで、 自分の気に入らない奴がいれば文句をいう。 製作者の板とはいっても、 そんなこと初心者にはわからないですし、 本当に葬なのかもわからない。 そういうことも説明なしにいきなり厨房だの何だのって・・・ もしかしたら暗黙の了解なのかもしれないが、 そんなこと普通初めてきた人にはわからない。 スレッドにしてもスレタイ見たらちゃんとPHP質問スレッドって書いてますし、 製作者用とはどこにも書いていない。 それでそんな偉そうにされて持って感じがしますた。 以上。
406 :
nobodyさん :03/01/06 18:33 ID:XULigBT1
407 :
葵 :03/01/06 18:45 ID:???
>>405 ほら、其の程度の罵倒しか出来ない(藁
現状をちゃんと解決する気はありますか?
そんな気が無いから、ちゃんとした筋の通った説明や説得を人に出来ない。
頭は生きてるうちに使いましょうね。
409 :
葵 :03/01/06 19:06 ID:???
>>408 貴方もね(藁
で、説得力のある回答はできないのですね(藁藁
>>400 若いね
>>401 能書き垂れてるのは答えたくないからだろ。
>>403 最大行数なら
$tinko=file("unko.dat");で読み込んでecho count($tinko)+1;か。
>>404 >自分の気に入らない奴がいれば文句をいう。
じゃあお前が答えてやれよ。
>そういうことも説明なしにいきなり厨房だの何だのって・・・
スレ読んでないってこと明白だろ。そんな香具師に説明する気になるか。
>製作者用とはどこにも書いていない。
雰囲気が製作者用になってるだろ。
>>407 >現状をちゃんと解決する気はありますか?
うだうだ言ってねーで利用者用スレ立てろって。
413 :
葵 :03/01/06 19:21 ID:???
>>410 ( ´,_ゝ`)プッ
>>411 >じゃあお前が答えてやれよ。
知識があればね。
>スレ読んでないってこと明白だろ。そんな香具師に説明する気になるか。
なりますよ。
どこどこ読めって言いますが何か?
>雰囲気が製作者用になってるだろ。
( ´,_ゝ`)プッ
雰囲気だけで・・・話になりませんね。
其れだと何も解決しませんよ。
身内だけわかればいいならイイですけどね〜〜。それ以外の方も来るでしょ?
特にこういう掲示板ですと。
入ってくることがわかっていながら、其れについて何にも対処しようとしていない、
其ればかりか文句をいう。
もうバカかとアフォかと。
ですから明示することが必要だといってるんですよ。
>うだうだ言ってねーで利用者用スレ立てろって。
立てる事ができるなら立てますが何か?
>>412 してますが何か?
414 :
StudioMX ◆dgiVczz0lc :03/01/06 19:21 ID:48v1EupQ
415 :
nobodyさん :03/01/06 19:26 ID:HuVx5y+O
416 :
葵 :03/01/06 19:29 ID:???
>>415 ☆ チン マチクタビレタ〜
マチクタビレタ〜
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < 回答まだ〜?頭使ってます?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| 愛媛みかん |/
>>416 モニター見て、顔真っ赤にしてるんじゃないの?www
>>416 痛い奴は自分が痛いことを分かってない
って本当のことだったんだねぇ。
あとなんで俺に回答ねだる?
レス先間違えてるぞ。
419 :
葵 :03/01/06 19:35 ID:???
>>417 真っ赤?
私にはそんなことになる必要が無いのですが・・・
脳内妄想?
>>416 ここまで真性のアホは久しぶりに見た。
もっとガンガレ!!
421 :
葵 :03/01/06 19:37 ID:???
>>418 皆さんに聞いてるから。
このスレを別にちゃんとする気が無いならいいんですけどね。
無いならないで文句言わなければいいことですし。
422 :
420 :03/01/06 19:39 ID:???
藻前等餅搗け! /\⌒ヽペタン / /⌒)ノ ペタン ∧_∧ \ (( ∧_∧ (; ´Д`))' ))(・∀・ ;) / ⌒ノ ( ⌒ヽ⊂⌒ヽ .(O ノ ) ̄ ̄ ̄()__ ) )_)_) (;;;;;;;;;;;;;;;;;;;)(_(
424 :
葵 :03/01/06 19:41 ID:???
>>420 貴方もね。
>>422 やっぱり脳内妄想?
どうして涙が出ているということが貴方にわかるのでしょうか?
其れが不思議でなりません。
もうちょっと現実的な会話をして下さいね。
このスレには現状打開しようとする方はほとんどいないと見える・・・
其のほうこそただのバカかと。
貴方は現状のままでいいですか?
>>413 >知識があればね。
答えられないなら他の人の答えたくないよって態度にケチつけんでもいいだろうが。
>雰囲気だけで・・・話になりませんね。
なりますが。
>入ってくることがわかっていながら、其れについて何にも対処しようとしていない、
次のスレタイ変えて利用者スレにリンク張るだけで十分対処できますが。
他に何を求めている?
>>414 頑張れyo
>>416 煽りたいだけなら帰ってくれよもう
414のように頑張ってる香具師に迷惑だ
>>402 突然エラーってどういうこと?
弄ったらエラーになったっていうこと?
なら一旦元に戻してみたら如何か。
>>421 まあ俺は君が主張したいことは分かる。
しかし
>>413 はアホだ。
>雰囲気だけで・・・話になりませんね。
雰囲気読めない方がよっぽど話にならない。
俺の仲間内にも空気読めないバカがいるがそいつと同じだな。
取り敢えず君が痛い奴だということは間違いない。
>>411 そのやり方ってファイルサイズが小さい場合は良いけど、
ファイルサイズが大きい場合はメモリ食うんじゃないか?
俺は、ファイルの最後までカウントしながら読ませる方を勧めるが。
ついでに質問。
お前らがファイルの一気読みさせる場合の許容できる最大サイズはどのくらいだ?
1GB
100MB
100k
まもなくここは 乂1000取り合戦場乂 となります。 \∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,, /三√ ゚Д゚) / \____________ ,,、,、,,, /三/| ゚U゚|\ ,,、,、,,, ,,、,、,,, ,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/ //三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ ∪ ∪ ( ) ( ) ( ) ) ,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ ,,、,、,,, ( ) ( ) ( ) ( )
100B
>>402 デフォルトのputenv()関数では、PHP_の付いた変数のみ宣言出来たんじゃ?
php.ini内の safe_mode_allowed_env_vars = PHP_ ←この部分。
437 :
kenji :03/01/07 02:44 ID:m9fjDMlX
Linux+C言語CGIなんですけど、ID認証でクッキーを使ってるんですが、年が明けてから「MAC」の「IE5.1」でクッキーが書き込めないトラブルに見舞われています。 プログラム自体は去年とまったく同じで変更していないのに、年が明けたとたん、ほとんどすべてのMACユーザーのクッキーが書き込めていないようです。 クッキーは、ヘッダでSet-Cookieで送っていて、以下のような感じです。 Set-Cookie: ID=39; expires=Thu, 6-Fev-2003 23:59:59 GMT;path=/ 状況から考えると、マックのIEの不具合としか思えないのですが、何か情報をお持ちの方はいませんでしょうか?
2003年問題。詳しくはマック板行って見て。結構えらい騒ぎになってる。
439 :
kenji :03/01/07 03:33 ID:m9fjDMlX
どうもありがとうございました。やはり不具合なんですね。 ...だけど、Mac板にそれらしい記事が見つからない....。 奥深くに眠るくらいの不具合って事は、やっぱ手を入れて対応しなきゃかな...。 とりあえず、根性で記事捜してみます。 どうもありがとうございました。
441 :
kenji :03/01/07 03:50 ID:m9fjDMlX
あらら、すいませんPHPのスレッドでした。完全にスレ違い。 まあ、とりあえず乾杯。 こんなこと確か前もやったような気がする...,、なれない書き込みはするもんじゃないな。 ちなみにやっぱり見つからない....。2003年問題なんて本当にあるの?
後ろの方に結構あるな・・・ てかなんで最初の方に出てこないんだろ やっぱ知名度?
ていうかな。 まだレスが400代な訳だよ。 で、すでにPHP初心者スレが立っている状態でどうやってこれ以上の対策をしろと? 次スレが立った後に「対策してねぇ」言うならまだ聞けるが現状で言われても 新年早々から自分の頭がおめでてぇ事を晒すだけだぞ? で、ここで書いたからこれから「対策しる」言う厨は過去logすら見ねぇおめでてぇ奴って事で。
445 :
ss :03/01/07 16:23 ID:???
imap_mime_header_decode関数を使ってsubjectを取得すると subjectが削られるのは使用なの? mb_mime_decode関数で取ると削られないですべて取れるんだけど、 mb_mime_decodeだと文字化けがおこるので…。 どなたかご教授ください。
446 :
bloom :03/01/07 16:28 ID:sLiluwJf
php初心者スレでも 「製作者用のスレですよ」 「製作者用の板ですよ」 って言われれば・・・意味ないかも。
age
450 :
nobodyさん :03/01/07 22:07 ID:XTASAo+L
掲示板の過去ログ表示で、次のようなフォームを使っています。 [ ]年[ ]月の書き込みを表示 このとき、 method="get" でフォーム送信させると、 どうしてもaction先のURLでは "?y=2003&m=1" のように 変数がふたつにならざるを得ません。 できれば、 "?d=2003-01" のようにひとつの変数で表したいのですが、 何か手だてがあれば教えてください。 JavaScriptでしたらスレ違いすみません。
>>450 javascriptだろう。
で、何でそんな訳のわからんことにこだわるわけ?
>>450 >ひとつの変数で表したい
理由がわからんが・・・
$_GET['y']、$_GET['m']と$_GET['d']でy,mの場合とdの場合でif使ってなんとかするとか。
453 :
nobodyさん :03/01/08 04:51 ID:hAY0g5Se
y,mのボックスをsubmit buttonと別のフォームに置いて onsubmit="form2.d.value=form1.y.value + "-" + form1.m.value;" こんな感じでいいんじゃないかな。
454 :
450 :03/01/08 06:41 ID:2tzeq/rG
>453 なるほどそんな発想が…。みなさまありがとうございました。スレ違いスマソ。
ここのスレでいいのかな…。 CGIダウンロードセンターで配布してた レス付き画像掲示板 imgboard v1.22.Rev6k、 配布中止になってたんですね… 素人がcgiいじってぶっこわしちゃって、DLし直しに逝ったら配布中止。 無理矢理サイズ小さくしようと思って、#が頭にある行削除とかしてたら動かなくなってしまいました。 それともテキストエディタで上書きした時の書体情報?の未保存がよくなかったのか。 imgboad.cgiだけ修理すればまた使えると思うのですが、 他のフリーcgiに乗り換えたほうが早いでしょうか?
>>455 imgboardはPHPじゃないのでこのスレは違うよ。
ダウンロードしたソースは残しとけよ。
KENTのJoyfulnoteでも使え。
>>454 >なるほどそんな発想が…。
それ、JavaScript
Windowsで「HTTPd+PHP+自分で作ったもの」ってな感じで配布して、
バッチファイル一つで実行できてしまうようなパッケージを作りたいんですが、
なんかうまい方法ないっすか。
P2(
http://akid.s17.xrea.com/ )の短所、
>・PHP環境が必須なので、インストールがちょっと難しい。
これの解消をしたいわけで。
>>461 どっちにしろ好きなhttpサーバ選ばせてくれないパッケージなんて鼻くそぽい。
WindowsでわざわざPHPで作った2chビュワーなんて使う奴いるの?
>>463 つぅか根本的にPHPの使い方間違ってる節も。
何事も可能性の追求だよ
>>465 初心者にまでそんなもん押しつけんなよ。
467 :
455 :03/01/08 15:44 ID:???
>>456 スマソ。アリガトン。
イゴキヲツケマス。
>>468 Webサーバまで立てないと使えないクライアントサイドアプリケーション。
コマンドラインPHPならまだ納得も行くけれど。
>>469 サーバなら、WinとMac、家と外でログデータやお気に入りの共有ができる利点があるわけで。
Mac OS Xは標準で、ボタン一つでサーバが動くから。
>>470 発想は面白いんだけど結局GUIがHTMLに頼らざるを得ない罠。
バックエンドとしてPHPを使ってHTTPで通信するユーザエージェントを作るぐらいの気合が必要なような。
# 殆どの2ちゃんブラウザの機能はlogの保存と容易に2chをブラウズすることだと思うが。
# そしてIE等のユーザエージェントは使い勝手が悪い。
それに家の中だけでlogを共有したいならファイルサーバでも立てればよい罠
あーでもHTMLでもやりようによってはかちゅーしゃ張りのUAにはできるかもしれないな。
473 :
nobodyさん :03/01/08 18:32 ID:WDQd9yu2
PHP+MySQLを使用しているのですが、 下記の様なエラー文がでてしまいます。 Warning: Safe Mode: Cannot set environment variable 'TZ' - it's not in the allowed list in /home/xxx/ini.h on line 305 この問題はサーバー側にあるのでしょうか? サーバーはkagoyaを使用しています。
(゚Д゚)∩<先生! RedHat8.0 Apache1.3.27 国際化版PHP 4.2.3 #DSOで使用 環境下で if ($_POST["hoge"]) $hoge = $_POST["hoge"]; else $hoge = ""; print $hoge; としたスクリプトを起動したら最初の$_POST["hoge"]で Notice: Undefined index: mode in /usr/local/apache/htdocs/wakaba/fileupload.inc と怒られますた! 不確定のインデックスとか言われてもそれがあるかどうか判断して処理したいわけで。 助けて下さいおながいします。
475 :
461 :03/01/08 22:25 ID:???
ああなんか書き方まずった。
VBにせよVCにせよ実行するにはexe単体とは行かない場合ありますよね。
なんちゃらDLL入れやがれ、と。
で、これら一個添付するだけで動いてしまう仕様になってたりしますよね。
となるとこの添付するやつがApache+PHPでもいいじゃねかあ、ってことにもなるわけで。
>>469 のを少し変えて言って見れば、、、DLL添付しないと使えない・・・となるわけですよ。
だけどVBやらVCやらの方がそんなもん使うより高速に処理できるだろ、てなわけです。
もともとPHPはそげな用途を目的としてないだろ、てなわけです。
でもよく考えてちょうだい。
PHPとVBを比べると、ちょっとしたプログラムの開発、どっちが楽?
断然PHPの方が楽だよ(と俺は思う)。
効率の面から言えばPHPの方がいい(と俺は思う)。
無料ダシナ。
またこうも考えることが出来る。PHP+HTTPdはVMだと。
PHP+HTTPdの使える環境ならどこでもインストールできるソフトが作れるわけだ。
Javaよりサクッと立ち上げられてサクッと書けてサクッと処理できるわけ。
・・・こう考えてみると何かPHP、すげえことできるじゃんって思うわけでして。
>>475 .NETスレに行ってHTTPサーバを.NETフレームワークに置き換えてしゃべってみ。
失笑を買うと思う。
>>475 >PHPとVBを比べると、ちょっとしたプログラムの開発、どっちが楽?
VBだろう。
>>475 ApacheとPHPで一体何MBになると思ってるんだよ
VBやVCのdllをDLしてくるのとは大違いだと思うけど
>>474 >if ($_POST["hoge"]) $hoge = $_POST["hoge"];
最初にifで比較している $_POST['hoge'] 自体が空だから怒られるんじゃねーのn?
もしやるなら、
if (@$_POST["hoge"]) $hoge = $_POST["hoge"];
else $hoge = "";
print $hoge;
又は
@$_POST["hoge"] ? $hoge = $_POST["hoge"] : $hoge = "";
echo $hoge;
こんな風が宜しいかと。
$hoge = @$_POST["hoge"] or die("変数\"hoge\"が定義されていませn。");
とかも。
>>479 スマソ。
入ってないって前提書くの忘れてた。
無理やり無かったことにするしかないのか・・・
# 2項のorって:だったか。サンクス!
>>480 >2項のorって
or違う。else。
>>481 突っ込みありがとうございます。
ずっと勘違いしておりました。
m(_ _)m
>>482 俺も同じ箇所で躓いた事が有ったのれす。ガンガって下さい。
$hoge = (@$_POST['hoge'] ? $_POST['hoge'] : "");
//やっぱコレかな。
>>483 3項演算子って=より優先度低かったっけ?
疑問に思ったから即実行 <? $hoge = ($hoge ? $hoge : ""); print "$hoge<BR>\n": $hoge = "hoge"; $hoge = ($hoge ? $hoge : ""); ?> 結果 Parse error: parse error in /usr/local/apache/htdocs/test.php on line 3 リベジンしてきま
>>484 今、取り敢えず動くものでやってみました。
<?php
$hoge = (@$_REQUEST['hoge'] ? $_REQUEST['hoge'] : "Empty!");
echo $hoge;
exit();
?>
<? $hoge = (@$hoge ? $hoge : ""); print "$hoge<BR>\n"; $hoge = "hoge"; $hoge = (@$hoge ? $hoge : ""); print "$hoge<BR>\n"; exit; ?> 結果 hoge 申し訳無いです。;と:の見分けをつけられなかった・・・(恥 404.HDMLさん484さんありがとうございました。 精進してきます。
エラー抑止って一般的なの?
>>489 一般的かはさて置き、”@”一個付けて収まる程度のエラーならコレ使います。
php.ini設定やerror_reporting関数での抑制だと、エラー自体が表示されなくなるし。
491 :
nobodyさん :03/01/09 02:08 ID:cIxtWFlQ
>>474 $hoge = isset( $_POST["hoge"] ) ? $_POST["hoge"] : "";
では駄目?
>>491 変数が初期化されているか否かを判断するならまだしも、
仮に$hogeの値が空だった場合は如何に?
× $hoge ○ $_POST['hoge']
494 :
491 :03/01/09 06:59 ID:???
isset は @ をつけなくてもエラーはでませんが? そういう話でないのならすみません。
ノータリンがしゃべんな!
>>494 @一つ付けるの嫌ってisset()かいな?
つーか、if(isset($hoge))だと値が空でも0でも通してしまうやん。
if(isset($hoge) && $hoge!="" && $hoge!=0 && $hoge!=null)とでもするの?
少なくとも値として成立している事を判断するなら、if($hoge)で良いんじゃないかと。
それで、必ずしも初期化しない変数を評価式に組み込む場合などに@をと。
hoge!ってなんか強そう ヌルなんじゃホゲェ!って感じ 否定の!、変数の頭につけてるけど $hoge!ってのが正しいの? それとも否定の!じゃない!なの?
499 :
nobodyさん :03/01/09 15:48 ID:7uAkXKIJ
500 :
nobodyさん :03/01/09 16:22 ID:HHa/0KfJ
501 :
nobodyさん :03/01/09 18:19 ID:yD7vCyjS
>>497 ああ、単に間違えてたみたいやね。hogeに$記号付いてないや。
っつーか、一々空白開けて書かなあかん訳?
if ( $hoge != "" )
if($hoge!="")
俺、&&や||以外なら詰めて書くんだけど。
>>502 >>497 は勘違いしていると思われ。
ただ、比較演算子は空けておいたほうがわかりやすくない?
ま、好みの問題だが。
505 :
の :03/01/10 00:06 ID:+vBxzfrX
>>496 > if(isset($hoge) && $hoge!="" && $hoge!=0 && $hoge!=null)とでもするの?
この条件なら if (!empty($hoge)) と等価です。
>少なくとも値として成立している事を判断するなら、if($hoge)で良いんじゃないかと。
未定義参照は警告レベルになります。致命的なエラーに波及する前に異常を
発見するためにもこういう使い方はお勧めできません。
--
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
バカをいじめるなよバカ
>>497 >hoge!ってなんか強そう
なんて云われたものだから、携帯で再度
>>496 観たら、
>if(isset($hoge) && hoge!="" && hoge!=0 && hoge!=null)とでもするの?
と、確かに$記号が空白になってやがる。
ミスったなこりゃ、と思わず
>ああ、単に間違えてたみたいやね。hogeに$記号付いてないや。
などとレスしちゃったが、今PCから観たらちゃんと表示されとるやn。
何じゃこりゃ。r.i若しくはezwebのバグか?
あと、何故貴方が
>ヌルなんじゃホゲェ!って感じ
>否定の!、変数の頭につけてるけど $hoge!ってのが正しいの?
>それとも否定の!じゃない!なの?
と思ったのか益々解らなくなりますた。
>>504 個人的には、空白開ける=”散開”してるとコードが読み辛いんす。
だから他人の配布コードも読む気が興りません(w
>>505 >> if(isset($hoge) && $hoge!="" && $hoge!=0 && $hoge!=null)とでもするの?
>この条件なら if (!empty($hoge)) と等価です。
>>491 がisset()なんか持ち出すもんだから、物の例えのつもりで書いたんだけど。
結局 if(@$hoge) で良いんじゃんか。ぶー。
>未定義参照は警告レベルになります。致命的なエラーに波及する前に異常を
>発見するためにもこういう使い方はお勧めできません。
そんな使い方した憶えは御座いません。つーか話が
>>474 に逆戻りじゃn。
>>506 うるせー馬鹿
もしかして、SSIはPHPよりも負荷高い?
512 :
nobodyさん :03/01/10 01:19 ID:DVeg0i57
PHP4はEUC-JPなら特になにもしなくても日本語を使えるって 聞いたんですけど print ("テスト"); なんてやると Warning: Unexpected character in input: '' (ASCII=27) state=2 in って怒られます。 define("charset","EUC-JP"); と書いてみたんだけどダメです。 vineのrpmでインストールしました。
>>512 >define("charset","EUC-JP");
少なくともコレは違う。定数をあてはめるだけに過ぎない。
っつーか、
>print ("テスト");
ウチのOS、WinXP Homeでは怒られませんけど。
514 :
nobodyさん :03/01/10 01:54 ID:PcXmephI
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> 上かいて <?php print"テスト"; ?> でいいんじゃない?
HTMLしらないならWeb制作いてら
ファイルが更新されているか調べること出来ますか?
>>514 主旨違い。文字化けが問題じゃないでしょ。
そもそもLinuxの基本(日本語)文字コードはShift_JISじゃなくEUC-JPだろうし。
ヘッダ吐くだけならheader()関数が有るし。”<meta 〜”は別問題。
>>516 filemtime()
>>517 あ、先越された。
>>520 ( ゚д゚)ポカーン
馬鹿にしてるわけでも煽ってるわけでもないが
初めてマニュアル見たのかい、君は。
それとも本に頼りきってたのかな?
右側にfilemtime関数の説明あるじゃん・・・ 前に修正したときのデータを保存しておいて、比較すればいいだけのよーな。 それとも、if_modified()とかいう関数を期待してるのかな。
>>513 そうなのか。なんで怒られるんだろう。
Linux上でEmacsでEUC-JPでかいてる。
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
を追加してみたけどだめ。php.iniって関係ありますか?
EUC-JPじゃなくてShift_JISだっつのぅ 騙されたと思ってやってみぃ
あの〜何度も質問してすみません こんどは音なんですけど鳴らすことは出来るんでしょうか? CGI(ZooChat広場)では出来るみたいなんでPHPでは?と思いました。
ZooChat広場ってのを知らないが、それもCGIで音を出してるわけじゃない。 つかここってWebProg板だよな・・・レベルが・・・
皆、自分のPCに環境作って色々と試したりして遊んだりせんのか? 関数を理解するのにまずやってみるのが一番だと思うんだが。
PostgreSQLのpostmasterが動いてるマシンを nmapでポートスキャンしてもサービス検出され ないんだけどそんなもん?
>>528 スレ違いだがな。
外向きにサービスを提供してなけりゃそうだろうよ。
>>528 間違えてマルチポストしてしまったのに答えてくれて
ありがとう。その通りでした。
なんでpsqlに-hオプション指定すると接続できないのか
と疑問に思ってたのに一気に解決しますた。
>>526 どっちかというとDQNなWeb制作に属するジャンルだな。CGIは関係ない。
まぁ、WebProgする奴がWeb制作の知識無いのは確かにいたい。
>>527 同意。試せばいいのにな。
532 :
nobodyさん :03/01/10 11:10 ID:raMkIhOj
PHPでうpローダ作りたいのですが、 cgiの様に公開ソースを見つけられませんでした。 その辺の事が書いてあるスクリプト有ったら提供お願いします。
534 :
532 :03/01/10 11:54 ID:???
>>527 インスピレーションを受ける度に、存分に遊びまくってますよ。
/etc/php.iniの extension=pgsql.so のコメントを外して、PostgreSQL関係の 関数は使えるようになったんですが、pg_connect は使えるけどpg_selectが使えないというように 全ての関数が使えない状況です。このことはPHPの マニュアルにも書かれていたので分かっていたこと なんですが、何をバージョンアップさせれば使える ようになるんでしょうか。pg_selectが使えないと 何も出来ないので困ってます。インストールしたものは VineLinux2.6のrpmで php-pgsql-4.2.3-0vl1 php-4.2.3-0vl1 php-devel-4.2.3-0vl1 php-manual-4.2.3-0vl1 postgresql-odbc-7.2.3-0vl1 postgresql-jdbc-7.2.3-0vl1 postgresql-tcl-7.2.3-0vl1 postgresql-python-7.2.3-0vl1 postgresql-perl-7.2.3-0vl1 postgresql-libs-7.2.3-0vl1 postgresql-server-7.2.3-0vl1 postgresql-7.2.3-0vl1 postgresql-tk-7.2.3-0vl1 postgresql-devel-7.2.3-0vl1 です。Postgresql-libsのような気がするんですけど とりあえず現時点のrpmの中では最新のものです。
マニュアルには pg_select (PHP 4 >= 4.3.0) ってなってるから バージョンの問題かな。
>>537 ありがとう。じゃあPHPの最新版ソースから導入してみます。
クリックしたときに処理をさせたいのですが如何すればいいのでしょうか? Javascriptでいうと onClick="処理" みたいなやつです。
無理なんですね・・・ わかりました
>>539 もっと 具体的に 言わないと 誰も 答えられないよ
バーかヲタ共死ねよ :p
:-Dヒャァァァァァァッハッハッハッハ!
(´・ω・`)ショボンヌ
546 :
nobodyさん :03/01/11 00:10 ID:R4zzjvhm
DQNってなんすか?
>>541 良くあるじゃないですか!
ボタンを押したらブラクラが・・・(マテ
548 :
nobodyさん :03/01/11 00:16 ID:R4zzjvhm
そういうのをDQNっていうんですか?
Dragon Quest IV ドラクエ4の略だよ!チンカス共
>>539 サーバサイドとクライアントサイドの処理の違いを考えて下ちい。
どうしてもというなら<form>で送信ボタンとか。
「一定時間ごとにスクリプトを実行するには?」 「クリックしたら〜するには?」 などの質問は減らないなぁ。 テンプレに簡単なFAQ付けたほうがいいんじゃないかな?
Q1. 「一定時間ごとにスクリプトを実行するには?」 A1. 目覚まし時計買ってください。音が大きいほどよいです Q2. 「クリックしたら〜するには?」 A2. onClick="<? include '実行したいPHPファイル'; ?>" て感じだな。
>>538 うわーんできたYO!
簡単GUIなPHP最高だ。Black Bookって
本かったんだけど分かりずらい上にあんまり
役にたたない感じで(´・ω・`)ショボーン
>>553 >簡単GUIなPHP最高だ。
?VBとかの方が楽ちんだと思うけれど。
すみません、webstudio使ってる人に質問なんですが webstudioってメソッド補完機能って付いてないんですか? ずっとjava+eclipse使ってたんですが、それには付いていました。
557 :
nobodyさん :03/01/11 18:50 ID:R4zzjvhm
onClick="<? include '実行したいPHPファイル'; ?>" ↑これやると怒られませんか?
ファイルを作成することは出来ますか?
関数を教えてください!
>>560 fopenとか。
後はCのファイル操作関数と一緒。
MLに釣り師登場! はたしてMLメンバーの対応は?
てかfopenじゃファイル作れねーよチンカスが
>>564 寝言はよそで頼む。素人じゃあるまいし。
テンプレ追加キボン Reference or manual 嫁。 人生の初心者が集まるスレじゃないんだからさぁ。
>>566 リファレンスってリファレンスマニュアルの略なんだけれど・・・。
569 :
nobodyさん :03/01/12 01:06 ID:CRDOZqUg
>>556 ないでしょう。Java+ecripse,VisualStudio.NETとかに慣れると
webstudioはげしく使えねぇ!とか思うけど現状では
フリーのデバッガがあるだけ感謝しないとってとこですかね。
PHPに関してはコード補完の必要性はあんまり感じないなぁ。 関数名ってそんなに長くないしかなりC言語と同名の関数があるし。
関数自体が少ないし、型をあまり気にしないでもいいしな。
>>571 前は賛同しかねるwリファレンス見るとうんざりする数はある。いつも使うのがかなり限られた数って感じですな。
後ろはメリットでもありデメリットでもあるね。
秀丸のマクロに関数名を補完しくれる奴があって、一応入れてますが... あんまりつかわねぇなぁ。よく使っている関数とか直前使った関数の候補 順位を上げてくれりゃいいんだけどな。
ZendStudio使え。
>>572 おれJavaとPHPを勉強してる厨ですが、
Javaと比べるとPHPはメソッド、関数が少ないと思います。
あの程度の数でうんざりするほど多いってとてもじゃないが信じられないんですが・・・
>>576 似たような機能が無秩序にあるから多く感じる
Javaは・・・無駄な機能が無秩序に放置されてるな
欲しい関数があればパッチ作ってコミットs(ry
javaのクラス構造は綺麗だと思うよ。 どこを探せばいいかすぐわかるし。 MFCやVBには参ったな(w PHPはそこそこ綺麗だと思うな。
>>579 ゴミメソッドやゴミプロパティが多いよね。
Dateとか
581 :
576 :03/01/12 06:13 ID:???
ううむ。 PHPの配列関係の関数を見てみると ほんの一工夫で同様の関数が簡単に作れてしまうものばかりですねぇ。 存在してるがために自作とどちらを使えばよいか迷う場面がある。 あれば便利だけれど増えれば増えるほど逆に困ってしまう。 ただそれら無駄に思える部分を排除すると結構使う関数は限定されてくるかと思います。 で、javaはぼくもクラス構造がとても綺麗だと思います。 当たりをつけて辿っていけば大概目的のものが得られたりします。 ただ・・・似ているけれど違うもの、っていうのがあまりに多すぎる。 たとえばawtとswingのButton、JButtonって、まとめちまえばいいじゃんかよと思うわけで。 こっちにもあるしあっちにもある、ケースバイケースで選ばないといけない。 でも機能的には似たようなもの。ならまとめてくれよと思うわけで。 でもまとめられない。 素人考えでそう思ってるだけでしょうけれど・・・うーん。 以上、厨な感想スマソ。
>>581 >ほんの一工夫で同様の関数が簡単に作れてしまうものばかりですねぇ。
そのほんのの一工夫を毎回繰り返すのがばからしいからあるんですよ。関数。
>存在してるがために自作とどちらを使えばよいか迷う場面がある。
つぅか標準であるもの何でわざわざ自作してんのさ?
ウン万人にテストされてその信頼性が確認されているarray_pushとお前がアルゴリズムの本
読みながら作ったmypusharray。どちらの信頼性が高いかは自明だと思われ。
それに、他人がお前のコードを読むとき、混乱すると思うぞ。
「あれ?array_pushじゃないのか?何か特別な処理してんのか?」
してませんでした。と。
>たとえばawtとswingのButton、JButtonって、まとめちまえばいいじゃんかよと思うわけで。
なんだい?java.gui.button.JButtonとかjava.gui.button.Buttonが君にとって綺麗なクラス構造なのかい?
総評:バカ丸出し
JavaのDate→Calendar,awt→swingには過去の資産を残すために捨てられなかった経緯がある。 PHPの配列関数もPHP4で増えたしな。 てかJavaの話はここではどうでもいいよ。PHPの話しようぜ。といってもPHP出版の話は勘弁な。
これからPHPをはじめようとしてるんですけど PHPって <? 〜〜〜〜 〜〜〜〜 みたいに<?があると見た目がわるくなんですがいい書き方ないでしょうか?
<?php /* アクセスカウンタ v1.0 */ 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 /* アクセスカウンタ v1.0 */?> こういう書き方でも動きますか?
>>586 動かない理由は無いと思いますがダサいです。
/* */の間に * を含めることもできるから、 <?php /** * アクセスカウンタ β0.9 * * カウンタです * @keyword キーワードパラメータ */ ... ?> て感じでいいんじゃない? てかPHPDocの書式そのものだが。
うーんどうも一番上と一番下が<?や?>の2文字でちょこっととびでてるのは どうも気持ち悪い・・終わるなら終わるでスパッと終わって欲しい 要は あいうえおかきくけこ さしすせそたちつてと がいいんだけど あ いうえおかきくけこ さしすせそたちつて と ってな感じの書き方がつっかかるわけで・・
それとなんで'?'で始まって'?'で終わるのかな・・
じゃーどうしろと? いい案があるのなら開発チームに提案してみれば?
どーでもいいじゃん どーしてもヤなら <?php $str = "これでも"; echo $str."動くから";?>
いや、多分こいつは === hoge.php === $str = "hoge"; echo $str; ================ みたいに書きたいんだろ。 恐らく HTML も全部 echo とかで書くつもりなんだろう。
594 :
nobodyさん :03/01/12 16:58 ID:K7TSWLD8
<script language="php"> echo("これでも動く"); </script>
>>593 近からずも遠からずって所です・・
>>594 そーいう書き方がしたかったんです。ありがとう
<?php echo"モナウンチ"; ?> <script language="php"> echo"モナウンチ"; </script> <? echo"モナウンチ"; ?> <% echo"モナウンチ"; %> の四つ
左側のフレームで ○先月 ○今月 ○来月 の結果を表示する |表示| というフォームを作って、表示したい月にチェックをいれて 表示ボタンをクリックすると右側のフレームに今月のカレン ダーを表示させることをPHPだけでできますか? _GET["hoge"]でカレンダーの表示を分岐させるまでは できたんですが、別のフレームにフォームの結果を渡す 方法がわからんのです。
<form method="post" action="あて先のPHPファイル" target="あて先のフレーム名"> 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 </form>
わかるかな?変な説明で っていうかWeb制作のほうだよねw
文字列を検索する関数ってありますか?
600ゲットだw ごめんなさい駄文打って
いいじゃん答えを参照して書いてあげればw
>>603 [(ereg)(preg)]_match
[(ereg)(preg)]_match ↑で検索するんですか?
そろそろリファレンスくらい読めハゲ。でいいだろうか?
607 :
nobodyさん :03/01/12 20:21 ID:K7TSWLD8
ごめんなさい・・・。 リファレンスってどこにあるんでしょうか 無知でごめんなさい
ぐーぐる逝って PHP リファレンス 大抵のものはグーぐるで見つけられる。 疑問に思ったらgoogle逝って検索しろ。 で、判らなかったら才能無いと思ってあきらめれ。
610 :
nobodyさん :03/01/12 21:57 ID:K7TSWLD8
Winつかってます。 ありがとうございます!
>>598 そんな技があったとは ガ━━(゚Д゚;)━━ソ!
劇的にバリエーションが増えました。
サンクス。
>>611 WebProgにくる前にWeb制作で修行すべきだと思われ。
ASPのMLとか見てても思うんだけど サーバとクライアントの区別がついてない香具師って多いよな。 まぁ既出すぎる話だが。。。 何がサーバー(PHP)で出来て、何がクライアント(HTML+JavaScript)で出来るのかくらい勉強しとけよ。
615 :
615 :03/01/14 08:52 ID:???
あるファイルに adfj<!-- ks -->kjdfakd<!-- ke -->kadjf というデータがあります。 この<!-- ks -->から<!-- ke -->までの内容を取るにはどうすればいいですか?
616 :
nobodyさん :03/01/14 09:21 ID:oqnSA8Kg
PHPでUnixのuseraddと同じ処理をしたいと思っています。 (アカウントとパスワード発行) 色々探したのですが、よさげなサンプルが見つからず困っています。 どなたか知恵をお貸し下さい。お願いします。
617 :
615 :03/01/14 09:41 ID:???
618 :
bloom :03/01/14 09:44 ID:v8uSSEWr
619 :
615 :03/01/14 09:46 ID:???
linxなら cat /etc/sudoers User_Alias FULLTIMERS = nobody Cmnd_Alias ADD = /usr/sbin/useradd,/usr/bin/passwd,/usr/sbin/userdel FULLTIMERS ALL = NOPASSWD: ADD ってしてあげて、 $new_password = crypt($data[password]); $err = `/usr/bin/sudo /usr/sbin/useradd -c testuser -g testgroup -d /dev/null -s /dev/null -p '$new_password' -m $data[userid]`; だな。 パスワードの変更は /etc/shadowのcryptされたやつをcrypt($data[password]);に 置換してあげればよいと思う。 CLIでPHP動かすんだけど、/var/tmp/php でも作ってセットユーザね。 それか有名なCGI使うか。
621 :
nobodyさん :03/01/14 10:56 ID:gMRBp+il
>>556 webstudioのダメなところ。
・PHPの関数の補完がない。
・HTMLやCSSの補完がない。
・new と打ってもクラス名を補完しない。
・$インスタンス名->と打ってもメソッド名を補完しない。
・クラス名::と打ってもメソッド名を補完しない。
・ソースの複数行を選択してTabまたはShift+Tabを押しても
インデントが増減されない(ことがある)
・文字列内の任意の位置でダブルクリックしても
文字列が選択されない。
まぁコンセプト=デバッガみたいだししょうがないかー
622 :
616 :03/01/14 11:43 ID:oqnSA8Kg
OSはRedHatです。
623 :
615 :03/01/14 12:07 ID:???
だったら619でいけるよ。
624 :
616 :03/01/14 12:50 ID:???
625 :
616 :03/01/14 12:54 ID:???
厚かましいですがもうひとつ質問を・・・ パスワードとユーザIDをDBに取り込ませたいんですが、その場合は どのような処理になるんでしょうか。
626 :
615 :03/01/14 13:30 ID:???
トランザクション処理でしょ。 postgresqlだったら begin insert useradd ともにOKなら commit ORACLEならbeginいらないけど。
627 :
615 :03/01/14 13:31 ID:???
NGならrollback
628 :
616 :03/01/14 13:48 ID:???
>>615 たびたび何度もありがとうございます。
Postgresqlなので、その方法でやってみます。
629 :
616 :03/01/14 17:08 ID:oqnSA8Kg
再びすみません。。
>>619 の処理を別サーバ間(www.xxxx.comでadduser処理をしてwww.yyyy.comに
アカウントが発生するような感じ)で行うことはできるのでしょうか。
普通はできない。てか、できたらマズい。 最初からyyyy.comでできない理由があるの?
631 :
616 :03/01/14 20:08 ID:???
ID変わっちゃったけど616です。
>>630 yyyy.comはFTP専用サーバにしたいのです。
できないのですね、了解しました。ありがとうございます。
616の問いにそれだけ答えられるのに、なぜ
>>615 の解の正規表現をしらねぇんだ?
と思うのは俺だけ?
>>631 スクリプトやコマンドで連携させてやれば出来ないわけでもないだろうが、
なんだか板違いだな。
633 :
616 :03/01/15 07:28 ID:???
>>633 どこに逃げても一緒だと思うが。根性腐ってる奴相手にする板はない。
635 :
山崎渉 :03/01/15 13:31 ID:???
(^^)
>>621 補完機能はホスィね。
>・文字列内の任意の位置でダブルクリックしても文字列が選択されない。
は、おいらのとこではOkなんだけど、だめすか?
637 :
615 :03/01/15 14:26 ID:???
>>632 すいません。
できないことはないのですが、他の人のやり方を知りたかったんです。
みんなはどんな感じでやるのかなぁと思って。
638 :
615 :03/01/15 14:27 ID:???
>>629 NISしかないと思ったけど、rshがあった。
あとは思い浮かばない。
アクセス数とか INSERT の頻度とか
641 :
nobodyさん :03/01/15 22:42 ID:qiPPHrKB
セキュリティ対策のためphp4.0.6からphp4.1.2へバージョンアップしたいと思っています しかし多くのphpプログラムが動いているため互換性の点で心配です。 この関数使ってるなら注意とか、何かそういうのってありますか?
>>641 安定を求めるのであればバージョンアップしないのも手。
643 :
nobodyさん :03/01/16 00:17 ID:UedxavWJ
>>636 俺のところでは大丈夫だよ。eclipse2.0.2+webstudio0.3.3だけど。
645 :
621 :03/01/16 01:44 ID:???
>>636 >・ソースの複数行を選択してTabまたはShift+Tabを押しても
>インデントが増減されない(ことがある)
>・文字列内の任意の位置でダブルクリックしても
>文字列が選択されない。
これやっぱOKでした。
できたりできなかったりするなーと思ったら
自分がphpeclipseとwebstudioを混同してただけでした。
646 :
名無しさん@7周年 :03/01/16 10:54 ID:hfjAQa15
現在4.1を使ってます。 4.3へアップデートしようと考えてるのですが、 4.1時代のプログラムが動かなくなる可能性はありますか?
647 :
age :03/01/16 13:42 ID:???
ないとはいえない。 試してみれば良いんじゃない?
648 :
age :03/01/16 14:52 ID:???
下記文字列から(鼻糞太郎)だけ抜き出したいのですが、どうすればいいですか? そしてわれわれは…。■関連サイト・内緒よね。(鼻糞太郎)
(゚Д゚)ハァ?
650 :
649 :03/01/16 16:28 ID:???
age
( ´_ゝ`)フーン
652 :
nobodyさん :03/01/16 18:46 ID:7wf7qS9O
ソケットを使ってファイル転送したいのですが、50kバイト中 135バイトしか転送されません。 アドバイスお願いします <? $fp = fsockopen ("localhost", 1919, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)ahoaho<br>\n"; } else { fputs($fp,"command_test"); $file_name = "test.jpg"; $file = fopen($file_name,"r")or die("OPEN error"); $img = fread($file,filesize($file_name)); fputs($fp,$img); fputs($fp,"command_test_end"); fclose ($fp); } ?>
Windows?
>>652 localhostの1919ポートは何が使ってるの。
655 :
652 :03/01/16 19:32 ID:7wf7qS9O
クライアントプログラムです windowsです
Windowsなら fopen($file_name,"rb") でしょう
657 :
652 :03/01/16 20:06 ID:7wf7qS9O
修正しました 1バイト単位で送信するようなものがあればいいのですが ありがとうございあました
658 :
nobodyさん :03/01/16 21:07 ID:joswhVyG
fsockopenでURLを開いてHTML文書を読み込んだ時、 htmlの隙間に変な数字みたいのがまぎれていたりするんですが、 これはなんでしょうか? この数字を出さないようにする方法はありますか?
659 :
615 :03/01/16 21:38 ID:???
だれか
>>648 に答えてあげて、俺正規表現不得意。
俺が教えてほしいくらい。
660 :
Koyoko :03/01/16 21:56 ID:g+9EqmVr
社内イントラネット導入を実現中です。
PHPでのコーディングを終え、ローカルのPCからはApacheを介して
http://localhost/ でアクセスできるのですが、社内の他のPCからLANアクセスすると
Forbidden
You don't have permission to access /localhost/ on this server
とエラーになります。
何か設定してやらないとネットワークPCからはアクセスできないのでしょうか?
ご教示宜しくお願いいたします。
>>659 吊じゃないのか?
推測できないわけではないのだが、本当はどういう規則で抜き出すのか
書かないとダメ。
(目糞花子)を抜くのなら、"(\(目糞花子\))"なんだが...(w
ごめん。あんまり読まずにカキコした。
アクセスはできてるのね。
>>663 は忘れてすまそ
665 :
648 :03/01/16 22:26 ID:???
>>661 よろしくお願いします。
■から始まって、その分の最後までを抜き出す。
その後、■******(鼻糞太郎)****とぬきだしたのから
()でくくられたものを取り出したいのです。
666 :
Koyoko :03/01/16 22:28 ID:g+9EqmVr
667 :
Koyoko :03/01/16 22:29 ID:g+9EqmVr
668 :
615 :03/01/16 22:46 ID:???
>>666 localhost = 127.0.0.1
ラストチャンス。
671 :
Koyoko :03/01/16 23:05 ID:g+9EqmVr
672 :
615 :03/01/16 23:07 ID:???
ぜっだいネタだと思う。
>>665 mb_ereg("(■.*\(([^\)]*)\)[^$]*)",$text,$regs);
print_r($regs);
ちったー自分で考えろよ。
>>673 preg派の俺としてはむっつりすることにするよ。
スケベ!
>>671 「ネットワーク」の「ネ」ぐらい勉強しても全然損は無い。
>>674 先ほどなぜか書き込めなかったYO.
で、pregで書き直してみてホスィ
preg挫折派
678 :
fhghfdks :03/01/17 11:50 ID:szj2pZT/
>>645 phpeclipseとwebstudioとどっちが使いやすいですか?
683 :
nobodyさん :03/01/17 18:20 ID:SplxkkhX
>>679 両方使ってみたけどまだあまり変わらない
どちらも未完成。かろうじてPHPEclipseが私好みだが
WEBStudioは日本語で情報が手に入るのが魅力
Dev-PHPたまに使う。 これが貧弱すぎて、PHPEclipseに戻るととてつもなく快適に感じる。 コード補完とプロジェクト管理がつけば、 それなりに使えるようになるような、ならないような。
>>686 今使えるツールでコード補完をやってくれるものって何があるの?
ZendStudioは補完してくれますか?
apache2で動かす場合は preforkを使用しろ、となっていますが、 Windows版 apache2では workerも preforkもないんです。 .Windowsでは apache2+phpは無理なの?
>690 俺はどうがんがってもだめだった 成功した人の報告きぼんぬ
>>690 ドキュメントを読む限りでは拡張モジュールを使わなければOKみたいだが
拡張モジュールつかわないと何もできないので意味なし。
693 :
nobodyさん :03/01/18 20:06 ID:vMMrJZAr
<body>タグを削除したいのですが、 $str = eregi_replace("<body[^>]*?>","",$str); でやってみたんですが、 Warning: REG_BADRPT in 〜〜〜〜〜 と出ます。 どうすれば良いでしょうか?
eregi_replace("<body[^>]*>","",$str) だとダメなの?
697 :
693 :03/01/18 21:11 ID:vMMrJZAr
>>964 それでいけました!
有り難うございました。
でもなんで、<body[^>]*?>だとエラーが出るんだろう?
正規表現としてはおかしくないよね?
>>697 >以外の文字の0個以上の繰り返しの中で最小のもの=0個
>>697 「">"以外の文字の0個以上の繰り返し」の中で最小のもの=0個
>>695 [^>]で抑止される範囲内で最大マッチするんじゃないかな。
>>693 REG_BADRPT ってのは、演算子が繰り返してでてきてるから。
ここでいうと、* と ? が連続してるため。
webstudioは0.5.0以降に期待。 それまではZendStudioPersonalかねぇ…。 ライセンス的に仕事では使えないが。
カブっちまったよ... ついでに訂正。 演算子が繰り返して -> 繰り返し演算子が連続して
>>703 あの書き方だと0回か1回の意味じゃない気もする。
705 :
nobodyさん :03/01/18 22:47 ID:vo7T25Ww
Emacsでphp-modeってないですかね?ないですよねぇ。
(゚Д゚)∩<先生!PHPを使ってwgetの真似事をさせることできませんか? FTPでファイルを落とさせたいんですがセッションが切れたら処理が終わってしまいます。 回避方法をご教授頂けましたら幸いです。
セッションが切れることに反逆する
>>707 トリーズナーの時代は終わりました。
>>708 それでも結局UAのセッションが切れたらFTP通信が強制終了されてしまうわけなのです。
一応 クライアント:UAでFTPのURIをスクリプトに送る サーバ :スクリプトが当該URIからファイルダウンロード開始 クライアント:UAを終了させる サーバ :ダウン終了 or ダウン失敗でクライアントにメール送信 クライアント:メールを受信して結果確認 なんて事考えてまつ。 3番目の「UAを終了させる」でダウンロードが止まってしまうのが問題でして・・・ 忘れてましたが一応マニュアルを読んでセッションが切れてもスクリプトの実行が続く設定 とやらは試しました。が、ダメでした。
>>711 ダメでしょう。って言うかこの前来てた子?
>>706 do{
system("wget $OPTION $URL ...",$rv);
}while($rv);
wgetの真似事はwgetにやらすのがいいかと。
>>713 諸般の事情によりsystem関数は使えませんのですはい。
よってfopen関数やらに頼りたい訳でして・・・
715 :
sage :03/01/19 00:28 ID:ldTggDO0
>>705 オレ xemacs しか使ってないけど php-mode 有るよ。
716 :
nobodyさん :03/01/19 00:35 ID:zNFAiho/
>706 セッションがダメなら関白をめざせ
>>714 713ではちょっと勘違いしていた。
バッククォートなんかもダメ?
>>717 はい。バッククォートもダメなんです・・・
>>718 ちょうど俺も自動巡回なスプリクトを書いていて、Webから指示入力が
OKならバックグラウンドで巡回スクリプトを動かす感じ。
>>711 に書いてあったようにブラウザを閉じられてもスプリクト実行が続くような
設定は確かにどっかあったね。試さなかったけど。
今回はsystem()で済ましているのだが、バックで何かを実行するのって、
これもナニかと妖しいところがあって、すんなりと動いてくれない場合がある。
どちらにしろ、バックで動いてくれない事にはどしようもなさそうなんだが、
cronは使えないかい。(レンタル鯖なら使わせてくれんだろうな))
720 :
718 :03/01/19 04:31 ID:???
>>719 やりたいことは自動巡回じゃないのでつ。
我が大学は情報系大学を謳っているのですが公式にはPort80でHTTPとHTTPS以外使ってはいけない事になっているのです。
ですが講義を円滑に進めるために某島とかのパッチを自力で落として来いなんて素敵発言をかましてくれるのでつ。
# とある開発系のソフトはFTPでしかパッチを公開していません。
ですので
UAでURIを鯖に送ってそのURIを元にデータを鯖にダウン。その後そのデータを'
HTTP://80 'でダウン。
# 規約は破ってませんが何か?ニヤ(゚∀゚)ニヤ
なんて事をしたいわけでして・・・
そこでセッションが切れてもバックグラウンドでUAを走らせられるScriptを開発しようと思い立ったのです。
ちなみに、上記の問題以外は今の所解決済みです。
なお、このスクリプトはレンタル鯖でも動作する事が理想ですのでsystem関数とかは考慮外になってしまっています・・・
// ただ、苦しんでる同胞の為に・・・
# FTPが使えない情報系なんて馬鹿げた話ですけどね(^_^)
721 :
nobodyさん :03/01/19 05:09 ID:kym38lvg
724 :
718 :03/01/19 10:47 ID:???
>>718 ignore_user_abort(true)でブラウザの中止ボタンを押しても最後まで動くようになったよ。
スクリプト完了後にアクション起こすにはregister_shutdown_function()を
使えばいいみたいだけど、うちだとうまく動かなかった。
727 :
nobodyさん :03/01/19 14:14 ID:RzCw/20z
makeでインストールしたphpの削除のやり方はどうすればいいのでしょうか? もしくはバージョンアップのやり方をご教授下さいませんか。お願いします。
>727 新しいPHPをそのままmake installすればいいと思うけど。 ついでに言うなら、apacheのrestartも忘れずにな。
PHPでもっと簡単にインターフェース使えんのか?
インターフェースというのがHTMLのフォームだとしたらPHPのせいじゃないわけだが・・・ 最近いいなと思ってるのがFlash。勉強中だけどね。
>>731 インターフェースとユーザインタフェースってのはこの業界別物として区別されるから違うんじゃない?
733 :
730 :03/01/19 22:22 ID:???
>731 あー、その、なんだ 機能を抽象的に実装する方ね
734 :
nobodyさん :03/01/19 23:42 ID:SKQ7ttZ3
すみません、 PHPを使ってブラウザからアクセスできるIRCクライアントを 紹介してるとこないですか?
>>733 たしかに使いたいときあるなあ。
めんどくさいからそのまま組み込んじゃうけど(w
>>734 自分側からの送信はいいとして相手からのを受信する部分がめんどくさいと思われ。
あ。既存で無いって前提で言ってるけどね。
736 :
718 :03/01/20 03:35 ID:???
>>729 っと忘れてました。
Port80のみ空いている訳ですがそれはProxy鯖を通さなければならないわけでして。
セッション確立型のプロトコルはそこで全滅です。
FTPもパッシブモードでやれば良いんですが、パケット全部見られてるんで。
737 :
nobodyさん :03/01/20 04:41 ID:lit0KY8w
738 :
質問です :03/01/20 07:26 ID:Jsrsz2dA
当方ある学校の中で生活しており、インターネットはすべて学校の サーバーを通した状態で使用しております。先月ほどから学校側が superscoutというfirewall program(?あちらはそう説明しております) を導入し、ファイルシェアリングソフト(WINMX等)はもとより ONLINE GAMEが接続できない状況になりました。どうにかして この壁を突破する方法はないでしょうか?おねがいします。
>>738 PHPではできないんじゃないかな。諦めてください。
741 :
nobodyさん :03/01/20 11:03 ID:0jHRxKsy
>738 板違いかもしれんが sshとかでトンネルはってつなぐとか icmp over tcp とかのトンネル作るプログラムをかいて 無理やらない方法もないわけではないな。
>>738 スーパーFAQです。ここか php-users-jp MLの過去ログを調べてください。
google でも「PHP superscout ONLINE GAME」で検索かけると
山のように引っ掛かりますよ。
もう少し調べることをご自分でなさってはいかがでしょうか?
ぐらいは書きたいものだね。
744 :
nobodyさん :03/01/20 12:54 ID:FaosBqJb
あのさ、PHPで関数エクスプローラついたエディタない?
質問です。PHP4.3+postgres7.3で運営しているんですが 今回、IMP3.1を入れようと思ってるんですけど 上手くインストールできません・・・ 参考になるサイトってないでしょうか? IMP日本語版は結構見つかるんですけど・・・
インポ・・・
>>747 ありがとうございます
日本語版ですと、設定が
% cd horde
% ./install.sh
上記だけで終わるようなんですけど
本家からモロモロ持ってきて解凍したんですが install.sh 無いので
どうすればよいのかなぁと・・・
750 :
麻奈 :03/01/21 01:02 ID:NyHOjw8F
PHP Analyzerを設置しました。
EUC対応のエディタで開いてユーザ名とパスワードを変更してアップロードしました。
が、何度正しいユーザ名&パスワードを入力しても認識されません。
サーバはxreaです。
パーミッションなども変更しましたが、どこか間違ったところがあるのでしょうか?
http://php.s3.to/data/
>>750 >どこか間違ったところがあるのでしょうか?
あえて言うならば、ここは作る側のスレだということかな?
752 :
麻奈 :03/01/21 01:35 ID:???
すみませんでした。移動します
754 :
751 :03/01/21 12:13 ID:???
あうちっ
PHP4.3.0(win)を使おうとしているのですが、PEARが見当たりませんでした。 pear.php.netを見渡しても入手先が見つかりません。 何処から手に入れられるのでしょうか。
756 :
nobodyさん :03/01/21 13:00 ID:PC/WMbRD
php 4.0.6 Win2000 です。 入力した text の値(value)を POST送信しないで取得する方法をご教示ください。
757 :
615 :03/01/21 13:14 ID:???
$_SESSION $_GET $_COOKIE 第一textの値が何で送られてるのかが…疑問。
759 :
DFDSA :03/01/21 16:18 ID:sqfIj4cT
いんぷっとしてDATAを蓄えていく けんさく画面で、けさんくをかけて複数あれば、ふくすう件 表示する。 このなかの一部のデータをくりっくすると、入力フォームにそのデータがよび だされるって のはPHPでは簡単にできますでしょうか? Accessなら簡単にできます
760 :
nobodyさん :03/01/21 16:20 ID:sqfIj4cT
PHPでのAccess、VBでいうサブフォームの実装は どうしていますか?
761 :
ccc :03/01/21 16:30 ID:J9G9/vsQ
>>755 PHPのインストールディレクトリ配下を見ました?
え?それぢゃない?
うーん、困ったぢょ。
ついこの間まで普通に動作していたのに、さっき急に以下のような文章が出てきて動かなくなりました。 ***************** Security Alert! The PHP CGI cannot be accessed directly. This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive. For more information as to why this behaviour exists, see the manual page for CGI security. For more information about changing this behaviour or re-enabling this webserver, consult the installation file that came with this distribution, or visit the manual page. ************** 特に設定をいじったりしていないんですが。 何で急にこんな風になっちゃったんでしょうか?
767 :
765 :03/01/21 22:56 ID:???
php.ini がどうなったんでしょうか? 実は昨日からおかしくなったもんで、今日フォーマットしてリカバリしたんです。 それで最初からインストールし直したんですけど、直りませんでした。
>>767 お願いですからインストールを優しく解説しているサイトを見てください。
名前は忘れたがphp.iniにCGIでの使用を許可するオプションあり。デフォルトでオフ。
>755
初心者にはお勧めしない方法だけど。
・
http://snaps.php.net/ からWin版PHP4.3.1devをゲット。
・解凍してc:\phpに
・c:\php\cli\php.exeをc:\php\php-cli.exeに名前を変えつつコピー
・c:\php\php.ini-recommendedをc:\php\php-cli.iniに名前変更
・c:\php\dllsの中の*.dllをc:\winnt\system32 (Win2000の場合)にコピー
・c:\php\php-cli.iniを開き、適切に設定(とりあえずinclude_pathとextension_dirかな)
・c:\php\go-pear.batを開き2行目を「set PHP_BIN=c:\php\php-cli.exe」に変更して保存
・DOS窓を開きc:\phpに移動後go_pear.batを実行
これで質問に答えていけば必要最低限のPEARをダウンロードしていれてくれるはず。
ディレクトリ名は適当に読み替えて下さい。
770 :
765 :03/01/21 23:24 ID:???
>>768 まじでありがとう。
何とか動きました。
一応僕みたいなところで躓くだろう人のために直し方残しておきます。
PHP 4.1.2 以降では php.ini で、cgi.force_redirect = 1 -> 0 と変更し、行頭の ; を削除してアンコメントする
771 :
765 :03/01/21 23:25 ID:???
じゃあ、何ですかよ、私がフォーマットした意味なかったんですかよ、何だよ 畜生このやろっ
PHPごときが動かないだけで OS再インストールですか((( ;゜Д゜)))
>>763 ディレクトリは
cli,dlls,extensions,mibs,openssl,pdf-related,sapi
のみでした。
ファイルもPEARに関係ありそうなものはありませんでしたし…。
>>764 ,769
試してみます。
>774 PHP4.3.0からWin版はgo-pear.batを使ってインストールするようになったらしいんだけど、 結局4.3.0リリースに間に合わなかったらしい。 で、PHP4.3.0は最初から入っているpearもなく、 pearをインストールするためのgo-pearもなく・・・という状態みたい。 上のは先日会社で入れたときのを思い出しながら書いたけど、 うまくいかなかったら教えてほしいです。
776 :
nobodyさん :03/01/22 12:10 ID:v+V+DH0N
セッション変数に、配列を入れたい時はどうすればいいですか?
>>776 普通にセッション変数に代入すればよいです。
$hoge = array(1,2,3);
$_SESSION[ses_hoge] = $hoge;
778 :
777 :03/01/22 16:53 ID:???
いけね。 $_SESSION["ses_hoge"]だ。 せっかくのラッキーナンバー汚してスマソ。
スナップショットにあるPHP4とPHP5を解凍するとPEARディレクトリが 掘られ、その下にファイルとサブディレクトリがちゃんと存在するのだが。。。 漏れの錯覚か? 病院に逝ってきまつ。
781 :
教えてください :03/01/22 21:07 ID:RVXbgG4k
ある時間が来ると自動的にスクリプトを実行するようなものを作りたいんですができますか? 言語はphp4です。 例えば、「夜3時になったらabc.phpを実行」みたいな感じで。 よろしくお願いします
783 :
nobodyさん :03/01/22 21:14 ID:RVXbgG4k
?
784 :
nobodyさん :03/01/22 21:52 ID:NkPjRdCp
cron
目覚し時計
786 :
nobodyさん :03/01/22 22:13 ID:1B1I37n0
javaでいうstrutsのようなフレームワークをPHPで実現しているものって ありますでしょうか? 思想が違うといえばそれまでですが。
>>786 俺はMVCを意識してPHPを書いてます。
としか。
会社から帰宅中なのでトリップなしで。 >780 げ、マジですか。 確認不足すみません。 頑張ってgo-pear.bat使おうとしていた自分っていったい・・・。 まあ、今後役に立つこともあるかもしれないし、と逃避。
789 :
776 :03/01/23 00:37 ID:???
790 :
nobodyさん :03/01/23 20:50 ID:cctEkiJv
ob_get_level() が返す値がなんか違うってのはがいしゅつですか? Winバイナリのだと0から、Linuxでコンパイルしたのだと1から始まるんですが。 バグだとは思うけど、ならどっちが正しいんでしょうか。 while( ob_get_level() ) ob_end_clear(); がテスト環境のWinで動いてたのに本番環境のLinuxで動かなかったので。 つかWinだと空の時にob_end_clear()やってもきちんと帰ってくるし(4.3.0の話です)。 よくわかりません。
xxxx Nov 2002 xxxx xxxx Dec 2002 xxxx xxxx Jan 2003 xxxx ってのを xxxx 2002年 11月 xxxx xxxx 2002年 12月 xxxx xxxx 2003年 01月 xxxx って変換するにはどうすればいい? xxxxの部分は毎回変わるんで、決め打ち出来なくって困ってまし。 変わらないのは 月の英単語、西暦だけなんですわ。 俺的にはこのままでいいんだが、上司が日本語表記に直せ!ってなって・・・
その上司に聞け
>>792 それが・・・・俺が課内のサポートやってて、その件の上司はパソコンはでんて駄目な香具師。
PHPを使って毎日2回吐き出される英語テキストファイルをWinの予定されたタスク機能で日本語化してるんですわ。
殆どの部分は日本語化出来たんですが、
>>791 の部分でつまづいて・・・・
おまけに、その上司がそのテキストファイルを見て伝票処理するようになってるんで。
JanってJANコードの事か?って聞くような上司なので回答は期待出来ないっす。
>>791 <?
$log ="xxxx Nov 2002 xxxx";
$month = array("Jan" => "01",....,"Nov" => "11","Dec" => "12");
preg_match("/(.*\s)(Jan|....|Nov|Dec)\s(\d{4})(\s.*)/",$log,$date);
print $date[1].$date[3].'年 '.$month[$date[2]].'月 '.$date[4];
?>
あえてPHPでする必要性はどこにあるんだろうね。
多人数に配布するスクリプトを作成しているのですが テンプレートをどうしようか迷っています。 どんな形式がおすすめでしょうか? ・旧XOOPみたく、ソースに埋め込む ・現XOOPのようにSmarty同梱 ・phpBBのような独自形式 etc...
798 :
nobodyさん :03/01/24 08:54 ID:nJxMRNdQ
基本的なことですが、 入力された文字列が指定した範囲の数字かどうかのチェックはどうすればいいですか? if (!($a>=0 && 100>=$a)) echo "エラー" みたいに書いたのですが、 $aが数字じゃない場合もエラーになりません。
>>798 安直だが、条件式にis_numeric($a)も付け加えるとか。
>>799 そんな便利な関数があったんですね。
うまく動作しました。ありがとうございました。
801 :
nobodyさん :03/01/24 14:11 ID:XiTO8RxS
PHPからDBに問い合わせて結果を表示する場合、 a) PHPスクリプト内にSQL文を記述 b) DB内にストアトを作成して、PHPからはそのストアトを記述 同じ問い合わせをする場合、どちらがレスポンス良いですか?
>>801 環境(テーブル設計、SQL、ストアド、PHP内の処理)による。
というかPHPの最初と最後で時間取得して
ブラウザに表示したほうが
ここで訊くよりはるかに早いと思うのですが。
4.2.3から4.3.0へのアップデートは上書きで良いのでしょうか?
changesを見てきたけどfixやaddがほとんどでmodifyはほとんど無かったから上書きしてもいいんじゃない? 本家には英語しかなかったけど日本語訳して公開してた人いなかった? いなかったらやってみてもいいけど。
806 :
nobodyさん :03/01/25 17:53 ID:0e7Y0sPn
自動リンクでリンク先はURLエンコードしたやつを指定したいのですが
$message = preg_replace ("/
http:\/\/ ([\x21-\x7E]+)/","<a href=\"
http://ime.nu/ ".urlencode($1)."\" target=\"_blank\"></b>$1<b></a>", $message);
こんな感じだとurlencode($1)がおかしいらしくエラーしちゃいます
どうすればいいんでしょうか?
807 :
nobodyさん :03/01/25 17:55 ID:sN7lT7kp
リダイレクトで悩んでます。助けてください。 あるページからheader関数でリダイレクトをすると、なかなかレスポンスがなく最後には 「ページが表示できません。・・・・サーバーが見つからないか、DNS エラーです。Internet Explorer 」 と表示されてしまします。 ところが別のページから全く同じコードを使ってリダイレクトすると普通に飛びます。 原因となりそうなことって何かありますか? ちなみに、元のページも飛び先のページも階層は同じです。 リダイレクトには絶対URLを使っていますが、ホスト名が間違っていないことは確認しています。
808 :
806 :03/01/25 17:56 ID:0e7Y0sPn
$message = preg_replace ("/
http:\/\/ ([\x21-\x7E]+)/","<a href=\"
http://ime.nu/ ".urlencode($1)."\" target=\"_blank\">
http://$1</a >", $message);
urlencode($1)以外にurlencode(ほげほげ)とか試して見たんですが
問題なくエンコードされた文字列が入ってます
イメヌ反対ヽ(`Д´)ノ
>>807 もう一度見直してごらん。動いている方をコピペするのが望ましい。
>>808 preg_replaceの中でurlencodeを文字列連結してるのがマズイんじゃないかな。
貼ってあるのを実行してみたら、
parse error, unexpected T_DNUMBER, expecting T_VARIABLE or '$' って出たから。
T_DNUMBERってのは浮動小数点のことだから . を小数点と思ってるらしい。
811 :
806 :03/01/25 18:34 ID:0e7Y0sPn
>>810 urlencode(ほげほげ) OK
urlencode($1) NG
なんですよ
どうしてなんでしょう?
812 :
nobodyさん :03/01/25 19:02 ID:J+PAIJA/
> replacementでは、 \\n形式または (PHP 4.0.4 以降) $n 形式で参照を指定することができます。 らしいので、4.0.4以前なら、\\1を書かないといけない
810っす。いつもマニュアル嫁って言ってるのに自分が・・・ ソースDLしてきて確認しますた。\\nになってますた。
814 :
nobodyさん :03/01/26 01:41 ID:ocSHdA01
webstudioで HogeClass::staticMethod( $this->classhoge ); HogeClass::staticMethod( $this->classahoaho ); だと大丈夫なのに HogeClass::staticMethod( $this->classname ); だとデバッグエラー・・・。 でもPHPは問題なく実行できる。 webstudioのバグかなぁ。 エディタのためになんて ソース書き直したくないよー!ヽ(`Д´)ノウワァァン
>>806 $message = preg_replace_callback("/
http:\/\/ ([\x21-\x7E]+)/",'a',$message);
function a($b) { return '<a href=\"
http://ime.nu/ "'.urlencode($b[1])."\" target=\"_blank\">
http://$1</a >"; }
と preg_replace_callback を使ってみるとか。
>>807 header の後に exit を入れ忘れているのでは?
>814 DBGのバグかも? 確認しないで言ってるけど。 >エディタのためになんて >ソース書き直したくないよー!ヽ(`Д´)ノウワァァン バグ対応待った方が賢いかと。
ビデオチャットってどうやってつくるの?
818 :
nobodyさん :03/01/26 12:09 ID:sMLM3DXM
無能ほどライブラリのせいにしたがるぞ。と。
半角英数字を漢数字に変換する良い方法はありますか?
あるよ
>>821 文字コード表を手元に用意しておくと便利だよ
(A)ファイルハンドルから1行ずつ配列に読み込み @array = <FILE>; (B)配列をファイルハンドルに書き込み print FILE @array; (C)ソケットから1行ずつ配列に読み込み while (<$socket>) {push(@array,$_);} PHPで(A)(B)(C)それぞれできるだけシンプルにやるにはどうすればいい?
>>824 (A)
system("perl -e '@array = <FILE>'");
(B)
system("perl -e 'print FILE @array'");
(C)
system("perl -e 'while (<$socket>) {push(@array,$_);}'");
827 :
807 :03/01/26 23:31 ID:sz9i/LMG
>>810 >>815 レスありがとうございます。
ソースを貼ろうにも、どこまで貼って良いのやら悩んでます。
exit を付けてみたのですが変わらないですね。もともと全ての処理が終わった後に
リダイレクトかけてるので、関係ないといえばないのでしょうが。。
あれからもう少し試していたのですが、ますます分からない状況に・・・
場合によってはリダイレクトが効くことを見つけたのですが、条件がよく分かりません。
現在、こうなっています。
aaa.php →[POST]→ bbb.php →[リダイレクト]→ ccc.php or ddd.php
1) aaa.phpのフォームから値を受けとって、bbb.phpで処理。
2) その後、処理分岐で ccc.php または ddd.php にリダイレクト。
ところが、aaa.php のフォームに入力する値によってリダイレクトできたりできなかったりするようなんです。
どなたか分かる方いらっしゃいませんか?
bbb.php の構造は以下のようなものです。
828 :
807 :03/01/26 23:31 ID:sz9i/LMG
-------------------------------
<?php
if (isset($_GET['btn_save'])) {
// 保存ボタンが押されていれば
// TEXTAREAの内容をファイルに書込む
(省略)
// 今入力したデータの参照画面へリダイレクト
header("Location:
http://xxxxx/xxx/display.php?id= " . $id);
} else {
// そうでなければ何もせず元画面へリダイレクト
header("Location:
http://xxxxx/xxx/index.php ");
}
?>
-------------------------------
>>814 そういうときは phpEclipse を試してみましょう。
漏れも使ってないから、レポートきぼんぬ(w
>830 スレ違いでは、、。
834 :
nobodyさん :03/01/27 02:38 ID:0+jZJ41u
>>830 ヒントだけ。
<form action="redirect.php" method="POST" target="_blank">
header( "Location:
http://www. ".$_POST[color].".aa/".$_POST[date] );
JavaScriptでやるのが一番スムーズだけど板違いなので(w
UTF-8もマルチバイト文字列だけど mbstring とかで何か設定しないでも使えるの?
webstudioの次のバージョンいつでるか知ってる人いる? コード解析がよくなるって聞いたんで楽しみにしてるんだけど。
現在、 Windows2000 + PHP4.3.0 + Apache2.0.44 の環境で動かしているのですが、 Apache起動時(PHPモジュール読込時)に、 Unknown(): Unable to load dynamic library 'C:\usr\php\extensions\php_*.dll' - 指定されたモジュールが見つかりません。 とエラーが出て、DLLが読み込まれてくれません。 # *の部分は使おうとした(php.iniのコメント指定を外した)DLL全ての意味で、実際はimap等の文字が入ります。 PHPのインストール先は"C:\usr\php"で"C:\usr\php\extensions\"以下に該当するDLLは間違いなく存在しています。 php.ini内の記述は extension_dir = "C:\usr\php\extensions" となっています。 他に"/usr/php/extensions/"や、"C:/usr/php/extensions/"という指定も 試しましたがエラーメッセージのパス部分が置き換わるだけで全て駄目でした。 googleで検索したところ、同様のトラブルをいくつか(国内外問わず)発見しましたが 全て未解決のままのようでした。 この"PHP質問スレッド Part2"の743にも似たような記述があります。 # 提示する情報が少なすぎて、相手にされなかったようですが。 同様のトラブルに見舞われ、 その後こうしたら解決したという方がおられましたら、 対処法をお教え頂けないでしょうか。 よろしくお願いします。
840 :
839 :03/01/27 15:45 ID:???
補足です。
php.iniは"C:\WINNT"内にあります。
また設定の変更は有効になるので、php.iniは読み込まれているようです。
>>839 の書き込みが長くなっているので要約すると、
extension_dirの設定は間違いなくあっているのに、
DLLが読み込まれないという状態です。
>>839 php.exeからの相対パスにしてみたらどう?
extension_dir = ./extensions/
>>841 PHP実行時のカレントが本当にそこかどうかってのは不安だけどね。
843 :
nobodyさん :03/01/27 16:14 ID:uLZ+Nd5N
+ とか ? とか URLとして特別な意味を持つ文字を %2b とか %3f とかに置換する関数ってどれだっけ?
Options -ExecCGI -Includes みたいなかんじで .htaccessで php 使用の許可/不許可を制御するには どうしたらよいのですか?
847 :
nobodyさん :03/01/27 16:59 ID:FKaVhwP2
>>839 Winでこういう書き方できるんだけっけ?>php_*.dll
きちんと並べて書いたらできたりしない?
WEB上に公開されてる画像をローカルに保存するってのを 作りたいんですけど、どんな風にやればいいんですか? 「テキストみたいに一行読み取っては書き込むってのを繰り返す」でいいんですか?
>>848 バイナリファイルなら行なんて概念はないだろ。
バッファに全て取り込んでから書き出したり、1バイト読んでは書き出したり。
850 :
849 :03/01/27 17:14 ID:???
s/1バイト/一定のバイト数/
ちっ。先に訂正があったか。 一バイトだけって読み込めないんだよね。最初知ったときびっくりした。 利用方法思いつかないから別にいいんだけど。
852 :
848 :03/01/27 17:46 ID:???
>>849-851 レスありがとうございます。
それってfreadで読んで適当なファイルにfputsでいいんですか?
どうもうまくいかないのですが全然間違ったことやってます?
>>852 それでいいはずだけど。
バイナリモードで読み書きしている?(UNIX系OSの場合は必要ない)
854 :
853 :03/01/27 17:51 ID:???
もちろんHTTP(だよね?)のヘッダーは取り外しているよね?
SSIの <!-- #include "foo" -->を php に変換するとどうなりますか。
856 :
848 :03/01/27 18:00 ID:???
winXPにphpdevインストしてやってます。 保存のときにwでfopenすると崩れた画像になって bでfopenするとエラーになります。 ブラウザに表示させるときれいに表示されます。 >もちろんHTTP(だよね?)のヘッダーは取り外しているよね? 何度も質問すいません。それってどうやるんですか?
>>846 AddType text/html .php
にしたら普通のhtmlとして表示される。
ソース丸見えだけど。
>>855 <? include ("foo.php"); ?><? include ("foo.txt"); ?>
<? require ("foo.php"); ?><? require ("foo.txt"); ?>
<? virtual ("foo.cgi"); ?>
<? readfile ("foo.txt"); ?>
>>856 $fp = fopen("hoge.jpg",wb);
859 :
858 :03/01/27 18:23 ID:???
$fp = fopen("hoge.jpg","wb"); (´・ω・`)ショボーン
860 :
853 :03/01/27 18:30 ID:???
>>856 > 何度も質問すいません。それってどうやるんですか?
fopenでURLを開いている場合は必要ないよ
保存するときに
>>859 のようにモードを指定して開く。
そうしないとLFがCRLFに変換されてしまう。
<?xml version="1.0" encoding="UTF-8"?> がはじめの行にあるとphpが動かないんだが。 やっぱフリーウェアじゃ駄目なのかな。
>>861 <?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
863 :
848 :03/01/27 18:35 ID:???
なんで間違えたんだろう、wbですよね(w 無事保存できるようになりました。 どうもありがとうございました。
そういや、うちじゃ virtual()がうまく動かないうごかない (長文の途中でvirtualを入れると, virtualをいれた位置よりも遥か前に書き出される)んですが、おなじ現象の人います? XP+Apache2.0.44+php4.3.0なんですが。
865 :
nobodyさん :03/01/27 18:51 ID:137vpvvh
PHPを使った.phtmlのファイルでSSIカウンタを使いたいんですが、 <!-- exec cmd="hoge" --> って使えないんですか? <? echo("<!-- exec cmd=\"uptime\" -->") ?>ってな感じで 試してみたんですけど、ダメでした。 .htaccess で Options Includes AddType text/html .phtml AddHandler server-parsed .phtml って書いて .phtml でSSIを実行させたら、今度はPHP動かないし・・・
PHPのカウンタ使えばいいだろ なんでわざわざPHPでSSI使うの?
>>865 CGIの出力によるSSI命令は解釈されない(Apacheの本より)のと同じじゃない?
# それにしてはhypermartではできたんだよな・・・Apache 1.3.9よりも後のバージョンならできるのかしら。
868 :
839 :03/01/27 21:29 ID:???
>>847 "php-*.dll"はここで説明する時に、
どのDLLでも同じという意味でそう書いただけで、
php.iniの中では、extension=php_pgsql.dll というように実際のファイル名で書いています。
(まぎらわしい書き方で済みません)
>>841 相対指定にしても、エラーメッセージが".\extensions\php_*.dll"となるだけで変化無しです。
実際に使うときは
>>842 で言われてるように、
カレントがPHPのパスになるか、スクリプトのパスになるか、Apacheのパスになるか、
あるいは別の呼出し元のパスに分かりませんし。
>>861 PHPの設定で、ショートタグを無効にすればいいはずですよ。<XMLとの共存
その代わり、<? hoge(); ?>じゃなくて
必ず<?php hoge(); ?>としなければならなくなりますが。
869 :
nobodyさん :03/01/27 22:09 ID:Y5jXCX7a
Win2000 Apache1.3.20 PHP4.2.2です。 ブラウザからPHPを介してメール送信したいのです。 しかし、mail関数がエラーを返します。恐らく、プログラムではなく、 設定不足ではないかと。 php.ini、pear\sendmail.phpなどの設定変更は必要でしょうか? また、mb_send_mailもCall to undefined function: mb_send_mail()となります。 インクルードファイルが足りないのでしょうか? 合わせてご教示願います。
870 :
841 :03/01/27 22:33 ID:???
>>868 関係なかったですかスマソ。俺のphp.ini(デフォルトのまま)は相対パスで書いてあったもんで。
いっぱいDLLを読み込もうとしているんだよね。
たとえばどれかひとつだけにしてみたらどっすか。変わらないかな。
あっちなみに俺のphpは4.2.2っす。
>>869 php.ini
SMTP = あなたの使うsmtpサーバ名
sendmail_from = 送信者として@表示する.メールアドレス
872 :
865 :03/01/27 22:37 ID:137vpvvh
>>866 さん
使いたいのは、SSIカウンタというか、アクセス解析でした。
http://www.cj-c.com/cgi_s/access.htm なんですが。
現在は JavaScript でリファラを取得して使ってるんですが、それだと
ソース見たらランキングを設置してる場所がバレてしまいます。
こっそり設置して一人で、にやそ(´ー`)ってしたいのです。
>>867 さん
Apache のバージョン確認したら1.3.26 でした。
うーん、1.3.9以降なら出来るのでしょうか・・・
鯖管にバージョンアップしろやゴルァって言ってみようかな・・・
ご教授ありがとうございました。
>>872 リファラとかいらないならJavaScript消しても良いですよ。
>>868 WINNT\System32とかにlibeay32.dllがあるか?
無い場合は、php\dllsにある奴をSystem32へコピーしてみる。
それでもダメな場合はssleay32.dllもコピーして味噌。
一度にコピーせずに、一つずつ確認して報告汁!
875 :
865 :03/01/27 22:50 ID:137vpvvh
>>873 さん
レスありがとうございます。
えっと、リファラがないと、どこから飛んできたか解らないので
アクセスランキングの意味が・・・
わがままでごめんさない。
876 :
869 :03/01/27 23:04 ID:Y5jXCX7a
>>871 さん
どうも有難うございます。
送信できました。
mb_send_mail()はどうでしょう?
877 :
839 :03/01/27 23:11 ID:???
>>870 解決しました。
php.iniを"Windowsのメモ帳で編集して保存する"とこのエラーが出るようです。
新しくphp.ini-recommendedをベースに設定ファイルを作成しなおし、
編集をxyzzy(*1)のみで行ったところ、正常に認識されました。
# さらに再びメモ帳で編集すると同じエラーが出ました。
(*1)フリーウェアのテキストエディタです。
文字コードや改行コードはShiftJISでCR+LFのままです。
メモ帳で編集している人は他にも大勢いると思うのですが…不思議です。
(WindowsのDLLのバージョンが関係しているのでしょうか?)
結局のところ、根本的な原因は不明です。
>>841 さん、
>>842 さん、
>>847 さん、ありがとうございました。
php.iniをメモ帳で編集しなければ大丈夫のようです。
同様の症状が出ている方の参考になれば幸いです。
878 :
839 :03/01/27 23:24 ID:???
>>874 書き込み見落としてました。済みません。
原因は
>>877 に書いた通りだったのですが、
エラーの確認作業の時は、
依存関係の無いDLL(php_bz2.dllなど)1つだけにして行っていました。
ありがとうございました。
# メモ帳を信用出来なくなりました…。
>>878 メモ帳の仕様も知らずにメモ帳を悪いというあなたを信用出来なくなりました。
880 :
839 :03/01/27 23:33 ID:???
>>879 後学のために、その仕様というのを教えて頂きたいのですが。
メモ帳で保存したファイルと他のテキストエディタで保存したファイルに、
まったく違いが見られない(ファイルサイズ、改行コード、文字コード)ので気になります。
保存時にphp.ini.txtとなってたりする罠。
phpの日本語訳コンパイル済みhtmlヘルプってところどころ文字化けしてるよな。バカっぽい。
<? echo "a"; flush(); virtual("index.html"); ?> とすると、index.htmlのあとに a が出力されます。 なんで?
884 :
839 :03/01/28 05:34 ID:???
>>881 いや、さすがにそれは無いです。
そもそも、php.ini.txtになったら読み込みにもいってくれませんし。
fcで比較をとっても、
FC: 相違点は検出されませんでした。
と出るので、不可解に思っているわけです。
>882 ひょっとしてphp.netから落としてる? あれは元々日本語のこと考えられてないから 仕方ないと思うけど。
886 :
nobodyさん :03/01/28 15:39 ID:kRPl3+8l
php.net から落としてメモ帳で編集してるけど、別に何も……。
>>886 拡張子の打ち間違いかな?
一部だけど、インクルードファイルも見えました。(はぁと)
> $words[$i] ="(news like '%$words[$i]%')";
インデックスなしの検索がどのように使われているのか興味が
あったんだけど、みあたんなかった。
あげとく。
890 :
nobodyさん :03/01/28 21:42 ID:YAt4VdBa
質問です。 PHPとMS ACCESSのデータベースを使って、WEBを構築しています。 そこでPHPでデータベースにコネクト、そして文章を取り出して、 $body = [DBから取り出した文章]; というように、ひとつの変数に入れ込んだのですが、 変数をHTML内に表示したところ、文章が途中で切れてしまうのです。 自分の予想としては変数のサイズの限界があるんだろうな。。なんて 考えているのですが、どうしたらよいでしょうか?お願いします。
私なら次の順番に疑うかな。 1. 文字にHTMLにしたら表示が消えるようなもの 2. MS ACCESSとPHPを繋ぐ部分にサイズ制限 3. PHPの変数にサイズ制限 具体的に切れるバイト数を出すとピンとくる人がいるかもよん。 (新鯖記念パピコ)
892 :
nobodyさん :03/01/28 23:47 ID:1yvFtiYN
PHPが得意なおまいらに質問があります。 質問対象のバージョンはPHP4.1.2(微妙に古いですが)です。 コンフィグオプションに --with-pgsql=(Postgresのインストールパス) っていうのがあり、、これを指定することでpg_*などの関数が 使えるようになるじゃないすか? (これはこういう理解であってますよね) でも、Postgresが別のサーバで動いている場合は ここにパス指定しようが無いと思うんだけど、 そういう場合はどうするのですか? このオプションなしでコンパイルしてみたけど、pg_connect()呼ぶと Fatal error: Call to undefined function: pg_connect() とか怒られるし...。 --with-pgsql だけでconfigure走らせてもpathがnullだみたいにいわれて 怒られるし...。ムキー! おしえてくさい。
>892 OSは? FreeBSDならPortsの「postgresql-devel」だけ入れればいけそう。 Redhatでもそんな名前のrpmあるはずだから、それをいれれば。 一番確実なのは素直に接続するPostgresと同じバージョンのPostgresを PHP動かす鯖にも入れることだけど。
894 :
892 :03/01/29 10:43 ID:???
OSはSolaris8だす。 そうか、ダミーで同じPostgresを入れるって手はありましたね。 ひとまずそれで逝ってみます。 どうもでした。
>>886 商用サイトで動いてるコードを見る機会ってあまり無いから
勉強になるなぁ。
とりあえずローカルに落としておこう
まえ、DOS/Vマガジンのサイトのソースの一部落としたことあるよ あっちはASPだったけど。
>895 落とし損ねた…。
898 :
nobodyさん :03/01/30 01:22 ID:Tq4euJ7b
>898 すまん。ほんとだ。 さっき見たとき404だった気がしたんだが…>search.php3
適当なスレが見つからないなぁ。強いて言えばくだ質かな。 プロキシの判定って確実な方法って無いんよ。 1. プロキシ特有の環境変数がセットされてるかチェック 2. javaを使ってIPを取得し、CGIを比較 こんなとこかなぁ。まぁどっちとも確実じゃないけど。
>>902 CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較CGIを比較
>>865 Apache2でなら、Filtering機能によって
PHPの出力したHTML中からSSIが使えるようになりますよ。
905 :
nobodyさん :03/01/31 02:04 ID:NbV66Yrk
perlで if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'}); } else { $buffer = $ENV{'QUERY_STRING'}; } @pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($name,$value) = split(/=/,$pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; &jcode'convert(*value,'sjis'); if (!$allow_html || $name ne 'Value') { $value =~ s/</</g; $value =~ s/>/>/g; } $value =~ s/\t//g; $value =~ s/\r\n/\r/g; $value =~ s/\n/\r/g; if ($name eq 'Clear') { $Clr = 1; next; } $in{$name} = $value; } をPHPに直したいっす。
>>905 がんがれ
てか、ネタに違いないな....
907 :
nobodyさん :03/01/31 02:13 ID:NbV66Yrk
>>906 PHP化されていない有名なCGIは
YOMIサーチ
2ショットチャット
だと思うので
いま、2ショットチャットをがんばっています。
すみまそ
909 :
nobodyさん :03/01/31 02:23 ID:NbV66Yrk
$払うからクレクレ〜ってことだろ、きっと。
>>909 以下適当。組み込んで動作するかは知らんね。
require("jcode.phps");
if(@$_REQUEST){
while(list($name,$value)=each($_REQUEST)){
if(!$allow_html || $name != "Value"){
$value=htmlspecialchars($value);
}
$a=array("/\t/","/\r\n/","/\n/");
$b=array("","\r","\r");
$value=preg_replace($a,$b,$value);
if($name == "Clear"){
$Clr=1;
continue;
}
$in[$name]=jcodeconvert($value,0,2);
}
}
912 :
nobodyさん :03/01/31 02:53 ID:NbV66Yrk
>>910 2ショットチャットPHP化スレでも
たてまふか?
何だか脱力。
910 :nobodyさん :03/01/31 02:33 ID:???
$払うからクレクレ〜ってことだろ、きっと。
912 :nobodyさん :03/01/31 02:53 ID:NbV66Yrk
>>910 2ショットチャットPHP化スレでも
たてまふか?
914 :
nobodyさん :03/01/31 02:59 ID:NbV66Yrk
誰かスレ立てて なんか 立てなれない
>>913 了解っす
if ($in{'img'} eq 'copyright') { ©right; }
if ($buffer eq '') { &First; exit; }
if ($in{'action'} ne 'entry') { print "Content-type: text/html\n\n"; }
if ($in{'action'} eq 'Form') { &Form; exit; }
elsif ($in{'action'} eq 'List') { &List; exit; }
if ($in{'room'} eq '') { &error('エラー','部屋を選択してください.'); }
$chat_file = $base_dir . "$in{'room'}\.log";
$entry_file = $base_dir . "$in{'room'}\.ent";
$mes_file = $base_dir . "$in{'room'}\.mes";
if (!-e $chat_file) { &error('エラー','ログファイル(log)が見つかりません.'); }
if (!-e $entry_file) { &error('エラー','制御ファイル(ent)が見つかりません.'); }
if (!-e $mes_file) { &error('エラー','履歴ファイル(mes)が見つかりません.'); }
if ($Clr) { &Clear; } # 画面クリア
if ($in{'action'} eq 'entry') { &entry; &InForm; }
elsif ($in{'action'} eq 'ChatForm') { &ChatForm; }
elsif ($in{'action'} eq 'close') { &close(); }
elsif ($in{'action'} eq 'bye' || $in{'action'} eq 'bye2') { &bye; }
elsif ($in{'action'} eq 'Chat') { &Chat; }
else { &error('異常',''); }
exit;
PHP化がんばってまふ
916 :
nobodyさん :03/01/31 08:41 ID:z/NrEL+D
メール送信するとき、 mail()でsendmailやqmailなんかを使って送信するのと、 スクリプトから直接SMTPに送信するのとでは、どっちが鯖負荷が高いかな? やっぱ、mail()を使う方が高いですか?
>>916 内部で結局sendmail呼んでる予感。
>>917 それはわかってて
>>916 のように書いてると思うんだけど?
で、
>>916 自分で試すわけにはいかないの?とりあえず空アドレス用意して
10000通ぐらい送ってみて計測してみたら一目瞭然だと思うんだけど。
>>918 >それはわかってて
>>916 のように書いてると思うんだけど?
じゃあ聞くまでもないだろう。
920 :
nobodyさん :03/01/31 16:18 ID:ZfqUyayZ
諸先輩方にお伺いしたいのですが、PHP上でregister_globalの初期設定がoffに なった流れの背景には、どのような意図があるのでしょうか。
>>921 $HTTP_GET_VARS["aho"]
$HTTP_POST_VARS["aho"]
$HTTP_COOKIE_VARS["aho"]
が区別出来ないんですよ。
923 :
nobodyさん :03/01/31 18:38 ID:o19Vmqtn
924 :
nobodyさん :03/01/31 18:46 ID:93+fGbmX
$today = getdate(); $month = $today['month']; を一文で書くにはどうしたらいいんでしょうか。 $month = (getdate())['month']; ではエラーになってしまいます。
$month = date('F');
928 :
nobodyさん :03/01/31 21:54 ID:tJ+irnFK
perl の substr(x文字から y文字までを変換) に相当する関数ってありますか? 一応、文字関数を色々試してみたんですが、分からなくて(ノдT)
929 :
nobodyさん :03/01/31 21:56 ID:tJ+irnFK
訂正、(x文字目から y文字目までを変換)
度々すみません、substr_replaceで良いんですね、
すみません…substrです。そのまま。間違えまくり;;
932 :
921 :03/02/01 10:48 ID:???
>923 ありがとでした〜 何も考えずに、ばしばしフォームやクッキーからラベルを変数名にして取り込めるところに 便利さを感じていたので何でやろ?と思ってました。 この文章を読むと、将来的にregister_global自体がなくなっちゃうんでしょかね・・・。
<html> <head> <title>DB</title> </head> <body> <? $conn = @ibase_connect("/usr/interbase/examples/v5/employee.gdb", "STRING", "ntRiRlZoneduo"); if (!$conn) { die(ibase_errmsg()); print "Couldn't connect."; } else { $result = ibase_query($conn, "SELECT * from COUNTRY"); print "<table>\n"; print "<tr><th>Country</th><th>Currency</th></tr>\n"; while ($row = ibase_fetch_object($result)) { print "<tr><td>"; print $row->COUNTRY . "</td><td>"; print $row->CURRENCY . "</td></tr>\n"; } ibase_close($conn); print "</table>"; ?> </body> </html>
elseの括弧閉じてない
>>936 うわ、ほんとだ…
くだらない投稿ホント申し訳ないです。
938 :
nobodyさん :03/02/03 04:48 ID:mx828hdT
掲示板で、 書き込みの中の URLにリンクを貼るようにするには、 どう書けばいいですか?
preg_replace();で "/(http|ftp):\/\/([\x21-\x7E]+)/" を '<a href="$1://$2" target="_blank">$1://$2</a>' に ごっそり置換するんじゃないかと思う。
ああドルじゃなくて\\1,\\2なんだっけか。
942 :
nobodyさん :03/02/03 19:51 ID:CFF+KIBG
VBで作成したActiveXdllは PHPの new COM関数で使用できますか?
943 :
nobodyさん :03/02/03 19:59 ID:YsLg0Qvs
PHPならこの人!って感じで有名な人って誰ですか? 日本人で。
944 :
nobodyさん :03/02/03 20:07 ID:AQtiSBd3
高橋
945 :
nobodyさん :03/02/03 20:20 ID:HOtxMQ7k
ウワァーン ごめんなさい、文字コード関連でお聞きしたいのですが…… 1.Windows2000・PHP4.3.0+MySQLでデータベースを扱うプログラム作りました。 このとき、検索とかの都合でソースはEUCで作りました。 2.WindowsNT 4.0 (SP6) ・PHP4.3.0+MySQLで動かそうとしました。 ……なぜか、0行目が読めないとかエラーが出てきてしまいます。 Streamがなんちゃら、とか出てます。 MySQLはmy.iniを変更し、EUC設定で使用しているつもりです。 (NT側、自信が無いので確認しておきます) たずねるにはもう少しきちんと調べてくるべきなのですが、 この段階でなにか思い当たるふしがある方は教えてください
>>947 エラーが出てエラーメッセージをまともに書かない馬鹿は死ぬべきだ。
はい、すみません…… 調べておきます。 質問する上での基本事項なのは重々承知です。 本当は、エラーメッセージをメモするつもりだったのですが、 時間の都合でできませんでした。 明日にはきちんと調べておきますので、本当にすみませんでした。
951 :
nobodyさん :03/02/03 22:40 ID:CYAeTfgP
フォームでログインしないとPDFが表示されないようにするためにスクリプトを書いたのですが、
うまく表示されません。で、ソースを簡略化したのが以下です。
---- pdf.php ----
<?php
session_start();
if( $_SESSION['password_check_ok']!=1 ){
header("Location:
http:// ".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/login.php"); exit;
}
$filename=dirname($_SERVER['SCRIPT_FILENAME']).'/test.pdf';
header("Content-Type: application/pdf");
header("Content-Length: ".filesize($filename));
header("Content-disposition: inline; filename=".basename( $filename ) );
$size = readfile( $filename );
?>
---- login.php ----
<?php
session_start();
if( $_POST['password']=="password" ){
$_SESSION['password_check_ok']=1;
header("Location:
http:// ".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/pdf.php");exit;
}
?>
<html><body><form method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<input name="password" value="password"><input type="submit">
</form></body></html>
パスワード入力後、再度pdf.phpに飛んだ後何も表示されません。
(真っ白でソースの表示もできない)
で、もう一度pdf.phpを開くと正常にPDFが表示されます。(リロードだと駄目です)
サーバはRedhat7.1 php-4.1.2、ブラウザはIE5.5(Win95)と6.0Sp1(Win98SE)で試しました。
何が間違ってるんでしょう?誰か教えてくださいな
0行目のエラーってファイルが正しく開けていない場合が多い。 最終行のエラーは先日レスであったように閉じ括弧'}'忘れかな。
>>951 ナニが間違っているかってぇと、設計が拙いでしょ。
このままでは直ぐ破綻しそうだし、設計からやり直したほうがいいと思うよ。
LocationHeaderって、
http://から書くのが正しいのだろうけど 、相対指定
すると認証直後に表示しないのを回避できるんじゃないかい。
954 :
nobodyさん :03/02/03 23:53 ID:CYAeTfgP
>>953 両ファイルとも
header("Location: xxx.php");
に変えてみましたけど、変わらず真っ白になっちゃいます。
...拙い(TT)
原因を調べるためソースを簡略化したから
...ってことではないですよね
Locationで飛ばすとことかが拙いですか?
よければそれも教えてーな
Locationで飛ばさずに同一ページで切り替えればいい。 まだ拙いところは残っているけど、簡単に書けばこうか。 ---- pdf.php ---- <?php require_once("login.php"); private_auth(); $filename=dirname($_SERVER['SCRIPT_FILENAME']).'/test.pdf'; header("Content-Type: application/pdf"); header("Content-Length: ".filesize($filename)); header("Content-disposition: inline; filename=".basename( $filename ) ); $size = readfile( $filename ); ?> ---- login.php ---- <?php function private_auth(){ session_start(); //<-こんなところにこれがあるのは拙いと思う。 if( $_POST['password']=="password"or $_SESSION['password_check_ok']==1 ){ $_SESSION['password_check_ok']=1; return(); } echo <<< __EOD__ <html><body><form method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <input name="password" value="password"><input type="submit"> </form></body></html> __EOD__; exit(); } ?> こうしておけば、スクリプトの先頭で、require_once("login.php");private_auth(); があれば、それで認証が済んじゃうので、他のページでもそのまま使いまわしができるだろう。
956 :
951 :03/02/04 01:12 ID:gS9QQv5a
>>955 ありがとうございます。参考にして書き直してみました。
とりあえず、header('Location: xxx.php') は使わなくなりましたが
結果は変わらずです(TT)
なにが悪いんだろ
>>956 あれ? できないんか?
スクリプトとか間違いなしに書き換わってる?
鯖が別ならアップし忘れとか、違うところにアップしてたとか...
あと、エラーなんかでない? エラー出力レベルをE_ALLだったかな? にしてみるとか。
もしくはhttpdのエラーログになんかでているとか。
958 :
951 :03/02/04 02:08 ID:gS9QQv5a
>>957 自分で書き直したものをやめて
書いていただいたのをそのままコピー&ペーストしましたが
(ヒアドキュメント?の中の$_SERVER['PHP_SELF']をちょっと変えた)
以前と同様です。(真っ白)
/etc/php.ini は、
error_reporting = E_ALL
display_errors = On
にしましたが、変わらず真っ白です。
/var/log/http/error_log には何も追加されてないです。
ちなみに
/var/log/http/access_logで
192.168.10.100 - - [04/Feb/2003:02:04:57 +0900] "POST /work/php/dl/pdf.php HTTP
/1.1" 200 2334 "
http://192.168.10.3/work/php/dl/pdf.php " "Mozilla/4.0 (compatib
le; MSIE 5.5; Windows 95)"
が最終行ですが、test.pdfのファイルサイズは2334bytesなので
なんかサーバは出力したつもりみたいです。
まだ、チェックするとこあれば教えてください。
すっごく初歩的な質問ですが受け付けて貰えますでしょうか(;´Д`) あちこちまわってみて、PHPが面白そうなのはよくわかりました。 ふとインストールして勉強してみようと思い立ったのですが、PHP、HTTPDと一緒に SQLなるものもインストールするように書かれているのですが、SQLとはどういう役割があるのでしょうか? ホントに初歩の初歩で申し訳無いですがよろしければお教え願いたいです。
>>958 あぁ、IEのバグかも...
キャッシュを全てクリアしてみて。
#ヒアドキュメント内の変数表示は書換え忘れてました。スマソ
#return文で返す値が無い場合はreturn;とした方がいいかも。()なし
>959 そうですね「これから始める」ということですので、SQLに関してはひとまずおいておいた 方がよろしいのではないかと思います。 PHPのコマンドに加えて、SQLコマンドまで覚えるのは、ちと荷が重いでしょうしね:-) まずは、PHPでのドライブがきちんと出来るようになってから、入出力がらみの選択肢 としてデータベースサーバの必要性が出てきたときに、初めてSQLを調べて覚えても 十分間に合うとおもいます。 がんばってください:-)
>>960 シークェルって呼び方初めて聞いた。
みなさんの周りでは、
「エス・キュー・エル」と「シークェル」
どちらで呼んでいますか?ちょっと気になりました。
# 英語圏での読みなのかな?
# GUI=グーイみたいに。
930 名前: デフォルトの名無しさん 投稿日: 02/12/30 12:52
「エスキューエル」なんですか?
「シーケル」なんですか?
931 名前: デフォルトの名無しさん 投稿日: 02/12/30 13:06
>>930 はじめにIBMで設計されたモデルが SEQUEL (シークェル) だそうだ。
その影響からか SQL (エスキューエル) のことも シークェル と
呼ぶ人がいる。・・・が、通ぶってるように見えてカッコ悪いので
普通に エスキューエル と発音することをオススメする。
シークェルなどと発音するお馬鹿さんを見かけたら、
お前、IBM の SEQUEL 使ったことあるんか、と小一時間・・・
932 名前: デフォルトの名無しさん 投稿日: 02/12/30 13:27
Structured English QuEry Language
933 名前: デフォルトの名無しさん 投稿日: 02/12/30 17:52
>>931 欧米では、エスキューエルでは通じないらしいですね。(どこで読んだ話か忘れたけど)
まあ、国内でしか仕事をしない人の方が多いし、外国とやりとりが発生するにしても、会話ではなく、
文書でコミュニケートすることの方が多いだろうから、問題になることは少ないと思いますが。
SQL is not technically pronounceable in the English language. I always find myself stuttering when I try to say it as "sequel" or "mysquell" (in the case of MySQL), so I know it can't be pronounced, and shouldn't be, and you should say S-Q-L (es-cue-el). Therefore it is an abbreviation. Same with FBI. The only difference between the two is I don't see anyone calling FBI "fuh-bye!" or "fibbie!" ;-)
967 :
959 :03/02/04 15:54 ID:???
いやはや、親切にレスありがとうです。 取り敢えずはPHPの勉強から始めてみます。 それではどうもでした。
>>963 GUI = ガイ
CUI = カイ
…変すぎるか? これは。
970 :
951 :03/02/04 22:38 ID:/ng0GOKx
>>961 キャッシュクリアしてIE再起動でも同じでした。
それでいろいろ調べてみたんですが、こんなページを見つけました
http://www.fpdf.org/en/FAQ.php#3 FPDFの話みたいですが、現象は似ているようです。
英文長くてよくわからんけど、とりあえずformのmethodをGETにしたら
きちんと動くようです。ただ、アドレス欄にパスワードが
そのまま表示されるのが、ちょっとイヤだなと...
確実な方法は、
1.Acrobatをヘルパーアプリにする(ありえないと思うが...)
2.一時的なPDFファイルを作りJavaScriptでリダイレクトする
の様です(自信無し)
これ!って方法は無いように読めたんですがどうでしょ?
誰か訳して教えてくれません?
>952 ご返答ありがとうございます。 今日、会社に行って同僚に「昨日のどうしてうごかんかったんやろ」って 聞いてみたら「いや、動いたで」と返されてしまい、 ?マークを頭にいっぱい浮かべながら実行したら動いてしまいました。 ただ、謎なのは2000上では動作していたので、構文解析は失敗してない と思われることです。 それでは、本当にありがとうございました。
972 :
nobodyさん :03/02/04 22:45 ID:eOHquEJ2
3.PDFを生成しても、IEでは空白ページが出力されちゃう。どうして? まず最初に、プログラムがPDFを出力した後には何も出力してないことを 確認してください。(spaceやCRコードはかまいませんです。 (訳注:not evenってなんだっけ?)) そしてexit構文ををOutput()を呼び出した直後においてみてください。 もし、それでもダメなら、貴方は「blank page syndrome」の患者なのかも しれません。IEはAcrobat plug-in に数え切れないほどのバグを抱えており、 それはIE(訳注:Acrobatじゃないのよね?)すべてのバージョンに言えること です。あなたが作ったアプリケーションは、現在使われている多くのIE上で テストをするべきです(その運用がInternet上であるならば)。この問題は、 多くの場合POST methodによって引き起こされ、それを解決する良い方法が あります。しかし、多くの場合、他の問題を引き起こすでしょう、例えば です。GET methodなら比較的正常に動作するでしょうが、URLが長くなって しまった時に情報が欠落してしまいます:query stringが45文字以上に なってしまうと正常に動作しません。しかし、この制限に関しては解決策が あります。URLの最後が.pdfならばいいのです、ですからIEを騙してやりま しょう。この方法をやるときには、最後の部分にINPUT TYPE=HIDDENを追加 してやってみてください。
これによって、PHPのセッションで新たな問題が生じるかもしれません (使用しているHTTPヘッダーの取得に営業を及ぼします)。これについ ては、質問5を見てください。 (訳注:???reliable=信頼できる・信用できる)manner上で使用するなら、 すべての問題を解決する方法が2つあります。 1)Plug-inの使用を止め、Acrobatをhelper applicationとして使用する 方法があります。これをすると、Acrobatを起動することになります。 その方法は、File menu → Preferences → General の "Web Browser Integration"のチェックを外す、Acrobat 5ならば、 Edit → Preferences → Optionsの"Display PDF in Browser"と なります。そして次に、IEでPDFを読み込んでみてください。 "Open it"や"Save it to disk"のダイアログが表示されると思います。 そこで"Always ask before opeing this type of files"のチェックを 外して開いてください。そうすれば、PDFファイルを開くと、別ウィン ドウにAcrobatが起動して中を見れると思います。
回線切られた…… つまらんことだが「営業」→「影響」 この方法では、クライアントの設定を変えるなければならないため、 Intranet 環境ならばいいのですが、Internetでは使えません。 2)Redirection techniqueを使う方法があります。PDFをサーバー上の テンポラリファイルに出力し、クライアントにはそれを表示させる 方法です(それには、JavaScriptを使います。HTTP headerでやろうと すると別の問題を引き起こすことでしょう)。スクリプトの最後に 以下に示すコードを追加すれば簡単に実装できます。
この方法はほとんどの場合でうまくいくのですが、IE6では 依然として問題を抱えています。(訳注:???)この 「突拍子も無い方法」では、Temporaryファイルの内容を表示して しまいます。そこで、このファイルの最後に".pdf"をつけてやれば うまくいきます。 この関数では、今より1時間以上前のtmp*.pdfはすべて消してしまい ます。これを使用したければ、PDFファイルを生成するスクリプトに 追加してください。 注意:別ウィンドウにPDF表示を表示させたいときにはきっと、 redirectionではうまくいかないと思います。 4.POST methodでパラメータを与えようとしても、PDFファイルが うまく表示できません。 これは、ある特定のバージョンのIEで起こる問題です(5.5以前の 場合に多いでしょう)。この前に書いたGETの方法でやりましょう。 5. PHPのセッション機能を使うと、PDFは表示されずダウンロードするか聞いてきます。 これはある特定のバージョンのIEで起こる問題です。 うまく動作させるには、session_start()の前に次の行を 入れてください session_cache_limiter('private'); または、質問3に示したredirectionによる方法を使用してください。
ってことで、IEでは拡張子.pdfがつかないといけないという問題が あるので誤動作するらしい。
978 :
951 :03/02/04 23:45 ID:/ng0GOKx
>>973-976 スゲー!!感動した!ありがとうー
かなり読み間違えていたことがわかって
ちょっとびっくりしました(^^;
ゆっくり読まさせていただきます。
ありがとうーー!!
979 :
977 :03/02/04 23:52 ID:???
ごめん、間違えてる気が多分にしる。TOEIC()<400故、間違いも そして無理やりの解読もあるので、気をつけながらお読みください。 あと、IEのみ <META>タグでredirectionさせちゃだめ?
>>973-976 乙!
俺も後は5のsession_cache_limiterしかないと思ってたんだが、
4のPOSTメソッドでこけるってのは初耳だたよ。
これで、某pdfファイル取得が現状GETメソッドで今後POSTメソッドに
変更される事はないんだな。安心した。(w
981 :
nobodyさん :03/02/05 08:16 ID:VItC7cS2
文字列をメールアドレスやURLだと判定するにはどうすればいいですか?
>981 まず、どんな文字列がメールアドレスやURLなのか? と考えないと。
984 :
nobodyさん :03/02/05 11:42 ID:Twi3UXDY
985 :
nobodyさん :03/02/05 14:50 ID:dBDd/yMM
PHPでHTTPのPOSTメソッドを発行したいのですが、 "GET / HTTP/1.0"と通常に発行しただけだとうまく いかないのですが、どうすればリクエストがPOSTメソッドに なりますでしょうか。
986 :
nobodyさん :03/02/05 15:34 ID:maVB0KjT
>>985 GETをPOSTに変えればいいんじゃないの
>>985 どううまく行かないかは書かないのね。
恐らくコンテンツの長さなんだろうけど。
988 :
nobodyさん :03/02/05 16:02 ID:qzcs3mC8
ファイルの「ファイルを作成した日時」はphpで取得できないの?
989 :
nobodyさん :03/02/05 16:46 ID:zOPwmBVU
>>988 filectime()で出来るかもしれない
990 :
nobodyさん :03/02/05 18:13 ID:N/1DRWYL
質問させてください。
HTMLの中にPHPファイルを埋め込む場合、
<? include ("
http://www.****.com/log.php "); ?>
でPHPが正常に表示されていたのですが
さっき突然
Warning: php_network_getaddresses: getaddrinfo failed:
Temporary failure in name resolution in /home/public_html/index.html
on line 15
Warning: Failed opening '
http://www.******.com/log.php ' for inclusion
(include_path='.:/usr/local/lib/php') in /home/public_html/index.html on line 15
とエラーが表示されてしまいました。
<? include ("./log.php"); ?>
のように書くと正常に表示できたのですが、
このエラーの原因は一体何なんでしょうか?
includeの中はhttp〜じゃダメなんですか。
Warning: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution 訳してみ。 その後で疑問があればどうぞ。
名前の解像度ってなんだろう ファイル名の解像度? ファイル名の長さ? 全角とか使ってるとだめなの? すべてアルファベット? どうでもいいけど戦争中って大げさ。
戦争中って.. Waring?
995 :
988 :03/02/05 23:26 ID:EZlELUrL
>>989 こんなカンジでやったら取得できました
// filectime関数でtxtファイルのタイムスタンプを取得しstrftime関数でLocal時間に直しました
$UnixTime1=filectime(”C:\\Log.txt”);
$LocalTime1=strftime("%c",$UnixTime1);
echo $LocalTime1;
結果 02/02/03 14:43:47
//なお、localtime関数で日時を取得しようとすると月が1ヶ月分少なく表示されたので報告しておきます
的確な誘導ありがとうございました
997 :
995 :03/02/06 01:17 ID:72mwYJGx
localtime関数は月と曜日が0基底だったんですね
>>996 さんありがとうございました
>>997 まあ、なんつうか
Jan Feb ....
と
Sun Mon ...
って、英語表記のやつは、配列の添え字に使いやすいように
0 origin なんだそうだ。
わかりにくいだけだと個人的には思うんですけど・・・
・・・たまには1000めざしてもよろしい?
というわけで。がんばろう。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。