■PHP板 質問専用スレッド■
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@お腹いっぱい。
NGNGレスは気長に待つのが良い感じかも。
答えられる方、返答よろしくお願いします。
参考リンク
■本家
http://www.php.net/
■Japan PHP Users Group
http://www.php.gr.jp/
■PHP 日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html
■PHP日本語マニュアル
http://www.asakawa.ne.jp/doc/php/ja/sjis/
0002ねたろ
NGNGで「セックス」が「セクース」に変換できないのですが、
どうしたらいいですか?
0003恥ずかしいがマジ質問
NGNGそれと、暗号みたいな表示と???の違いは?
んで、???にするにはどうすればいいの?
普段教えて君を罵倒していますがこればっかりはさっぱりわかりません。
シャッポを脱ぎますのでどうぞ教えて下さい。よろしくお願いします。
0004名無しさん
NGNG2ch初心者さんかな?
2chのシステムでわからないことがあったら、まずは
http://saki.2ch.net/qa/index2.html(初心者質問板)へ行って調べるのが吉です。
なお、初心者板からのリンクで飛べますが
http://www16.tok2.com/home/niwatori/#id
にIDについての記述があります。
0005名無しさん@お腹いっぱい。
NGNG$word = mbreg_replace("/([ア-ン])(ッ)([ア-ン])([ア-ン])/","\\1\\3ー\\4",$word);
0006恥ずかしいがマジ質問
NGNG夜中なのに早レスありがと!
2ch初心者ではないけどID付板は初めてです。
調べてみます。
0007恥ずかしいがマジ質問
NGNGメチャ簡単なんですね。
メチャ恥ずかしい。
0009名無しさん@お腹いっぱい。
NGNG何か問題があるのでしょうか?
ちなみに専用鯖です
0010名無しさん@お腹いっぱい。
NGNG状況を理解できていれば問題なし。
いろいろ試してフィードバックしてくだされ。
#専用鯖か。いいな
0011筑集眺餅
NGNG0012名無しさん
NGNGないのでしょうか?ないのならうちもそうしたいので。
>>11
デスクトップの半角カナじゃないっすか?
0013ねたろ
NGNG全くphp3タグのない htmlふぁいるの拡張子を php3にして、
同じ内容の 拡張子が htmlなふぁいると比べてみたらどうでしょうか。
0014電動ナナシ
NGNG<?php ... ?> な文があろうがなかろうが、PHP の Parser を通過する以上、
それだけのオーバーヘッドは確実にある。
ただ、その絶対的な負荷はそれほど大きくはないだろうけど、アクセス数が多くなれば
無視できない数字になることも確実。
0015名無しさん@お腹いっぱい。
NGNGインストールする容量ってどれぐらいですか?
001612
NGNG>同じ内容の 拡張子が htmlなふぁいると比べてみたらどうでしょうか。
topで見てたりしたんですけど、よくわかりませんでした。
%CPU %MEM 以外に見るところあります?
>>14
><?php ... ?> な文があろうがなかろうが、PHP の Parser を通過する以上、
>それだけのオーバーヘッドは確実にある。
やっぱりそうですか。おっしゃるとおり、アクセスが多いとまずそうなので
やめておいた方がいいみたいですね。
0017ねたろ
NGNGそのファイルが PHPスクリプトだということが知られたくない」
のが理由ならば、APACHEのhttpd.confを
AddType text/html .html
AddType application/x-httpd-php3 .htm
とするのはどうでしょうか。
00189
NGNG馬鹿っぽいですか?
PHP+cookie+外部CSSで来客者の環境ごとに
好きなフォントサイズを決めれるようにしてみたけど
これはスペシャルに馬鹿っぽかった・・・
>10
サンクス♪
見えない不具合があったら嫌だな〜と思っていました
>12
とりあえず日1万ビジター以上のサイト丸々PHPを使用していても
とりたて問題はなかったです
(PHP4使用、PHP3の場合は話は別)
それ以上はちょっと負荷テストをしている訳ではないので
判らないです・・・すみません
でもPHPを使わないのなら拡張子を.htmlにすれば済みますよ
>17
PHP4.*なら
AddType application/x-httpd-php .htm
ですね♪
ちなみに私の場合は
「PHPスクリプトだということが知られたくない」
よりも、
「HPビルダー等の作成ツールでSSI感覚それ以上で使う」
でした・・・
ローカルでPHPが動作する環境ですので
HTMLウィルス騒ぎの時はドキッとしたものです(笑
0019名無しさん@お腹いっぱい。
NGNG002012
NGNG理由としては、hiddenで固有のIDを持ち回らせているため、PHPのところから
HTMLのトップに戻られたりすると、消えてしまうのです。(クッキーは使いたくない)
なので、普通のページもPHPにできたらいいなと思いました。
あと、.htmlのまま埋め込めたら、CGIとかSSIでやっているカウンタや解析も
1つにまとまるので楽かなと思いまして。
1万ビジター以上でも大丈夫なら、心が動きます。
.html と .htm で使い分けるのもいいですね。
0021ねたろ
NGNG激しくがいしゅつですよ。
http://tako.2ch.net/test/read.cgi?bbs=perl&key=957205230
0023電動ナナシ
NGNG1 万ビジターというのは、1 日あたり 1 万アクセスってこと?
その程度なら PHP Parser 通過させても大丈夫でしょ。
PHP のコードがなければ PHP Parser が Zend Engine 呼ぶこともないから、
その程度なら誤差程度におさまるんじゃないかな。
試しに Apache 付属の ab (Apache Bench) とか使って CPU にかかる負荷を
比較してみたら?
>> hiddenで固有のIDを持ち回らせているため
hidden だとクライアント側で偽造される可能性が歩けど、それはいいの?
00249
NGNGビジターとは正確な来客者数の事です
(一回ログをDLして調べてみた)
ちなみにサイト全体で8万PV程度です
>PHP のコード
殆どのページ使ってます・・・
PHPに依存しまくり
>ab (Apache Bench)
もう寝るので明日テストします
多分指摘通り誤差程度と思いますよ
002512
NGNGフレームは苦手なんです。(意味不明ですみません)
>>23
>その程度なら PHP Parser 通過させても大丈夫でしょ。
じゃあ、やってみます。
>hidden だとクライアント側で偽造される可能性が
これは、別に偽造されても構わないものなので。
Perl板で流行ってる汚染チェックみたいなものさえしておけばよい値
でして、「できれば持ち回れた方がよい」という程度です。
0026名無しさん
NGNGdie('bad filename'); // 処理せず、終了。
フォームからの入力値のチェックで他にはどんなことをすればいいですか?
0027電動ナナシ
NGNG数字だけ、数字とアルファベット、数字とアルファベットと日本語、等々。
それらを事前にきちんと定義して、それのチェックを行うのがよい。
数字だけなら、$checked = 0 + $input; とか。
逆の言い方をすれば、入力項目の意味を確定せずに、有効なチェックというのは
できない。
あと、チェックは例外事項をチェックするより、要求事項のチェックをするのが
よいと思う。例えば [|/\.] といった文字列が「ない」ことをチェックするより、
[A-z0-9-_] というクラスの文字だけが「ある」ことをチェックする等。
ただし入力を期待する内容にも依存するので、一概にそうしろとは言えないが。
0028名無しさん23
NGNG日本語が使えないという辺りの意味が良く分かりません
SJISでデータを保存したり表示したりできないと言う事なのでしょうか?
0029電動ナナシ
NGNGバニラな PHP4 は EUC のみ。
ftp://night.fminn.nagano.nagano.jp/php4/ にある塚田さんの jstring を
使えば SJIS/UTF8/JIS/EUC に対応。
0031名無しさん研究所(仮)
NGNGフォームから送信された値もsjisで送れますか?
今はnkfでeuc→sjisしています。
0032名無しさん@お腹いっぱい。
NGNG003333
NGNGa.exeというソフトが有ったとします
a -b.html
とすることでb.htmlを出力します
hphのペ〜ジを開いた時にb.htmlを表示するには
どうしたら良いでしょうか?
お礼はエロ画像ぐらいしかありませんが
お好きなアイドルの名前を言ってくれれば
アイ@ラたくさん探してきます
0034PHP4.0.5 リリース間近
NGNG素直に
<?php
exec("a.exe " . $name . ".html");
include $name . ".html";
?>
でいいんじゃないの?同時アクセスがあっても $name が重ならないように
工夫しないと危険だけど。まあその辺は宿題ということで。PID 使えば
いいかもしれないけど、安全性を確認していないので自己責任で。
003533
NGNGえぇ〜と、何も希望されなかったようなので
私の好みで選ばさせてもらいました
ttp://www.geocities.co.jp/Milano-Aoyama/6487/sickhoney/sickboy_uchiyama.jpg
ttp://www.geocities.co.jp/Milano-Aoyama/6487/sickhoney/sickboy_uchiyama.02.jpg
0036初期不良
NGNG0037電動ナナシ
NGNG普通にディスクに書きに行くと負荷が高まるので、a.exe に手を入れて
標準出力に出すようにできればいいんだけどね。
PID の安全性は分からないけど、microtime() の結果 + PID なら安全
なんじゃないかな?
0038名無しさん@お腹いっぱい。
NGNGどうしましょう?
0039名無しさん@お腹いっぱい。
NGNGif (is_error()) {
&nbsp;&nbsp;// ここでerror.phpにリダイレクトしたい
}
のような場合です。
0040電動ナナシ
NGNGinclude "error.php";
exit;
}
でもいいし、まだ何一つ出力していなければ HTTP Redirect 使えば
いいんじゃない?
if (is_error() && !headers_sent()) {
header("Location: http://" . $HTTP_SERVER_VARS["HTTP_HOST"] . "/hoge/error.php");
exit;
}
0041電動ナナシ
NGNGMDAC (Microsoft Data Access Control) を入れれば?
http://www.microsoft.com/japan/developer/data/download/mdac/26/26065263.asp
0042電動ナナシ
NGNG鬱だし脳
004533
NGNGPerlのfile lock機能みたいのは無いんですかねぇ
ほらよくチャットのlogの時に使ったやつ
んでマタマタお礼のアイドル指定が無かったので
嫌いなんですが将来のお宝度も考えつつ
浜崎あゆみのパンチラにしました
昨年12月30日のCATV LIVEに出演していた時のです
ttp://membres.tripod.fr/washi/tp486.jpg
0046名無しさん@お腹いっぱい。
NGNG0047名無しさん
NGNG入っていると、その部分から切れてしまうのですが、対策はないでしょうか?
今は str_replace で全角に変換してからmail関数に渡しています。
0048名無しさん@お腹いっぱい。
NGNG共存できますか?
<?php <?xml ?> ?> とか?
0049電動ナナシ
NGNG共存できるよ。
その例は逆だね。PHP の中に XML (の言語インスタンス)のタグを入れる
場合にはただの文字列になるよね。
<?php echo "<?xml version=\"1.0\"?>\r"; ?>
とか。
その逆の場合のために、<?php という書き方が提供されている。
<?xml <?php echo "version=\"1.0\"?>"; ?>
これは "<?" だけだと XML Parser が混乱する可能性があるから。
ちなみに、PHP のコード入りの XML 文書の場合、
・PHP で処理 -> ただの XML 文書 -> XML Parser で処理
というパターンと
・XML Parser で処理 -> PHP プログラム生成 -> PHP で処理
というパターンで扱われる可能性があるね。前者はときどき見るけど、
後者の書き方をしている人っているかな。XML を用いた PHP コードの
自動生成ってどこまで可能なんだろ。
005048
NGNG説明していただきありがとうございます。
安心してphpを使い続けます。
0051電動ナナシ
NGNG>>49 の説明に一部間違いがあるので訂正。
s/<? だけだと XML Parser が混乱/<? だけだと PHP Parser が混乱/
一番混乱していたのは俺だな・・・。鬱出し脳。
0052名無しさん@お腹いっぱい。
NGNG<? phpinfo(); ?> を見てもうまくいってないようで。UNIX 上などでは問題なく動作するみたいですが。
メーリングリストを検索してみたところ,一昔前の php3_crypt.dll ならうまくいくらしいのですが,
どうもよくわかりません。
他に何かいい方法があれば教えてください。
OS : Microsoft Windows 2000 SP1
サーバー : Microsoft IIS 5
PHP バージョン : 3.0.17
0053電動ナナシ
NGNGどうも Win32 環境ではダメみたいだね。
PHP の Crypt() 関数は ext/standard/crypt.c で定義されているけど、
これは HAVE_CRYPT が true でないと組み込まれない。
ところが
main/config.w32.h では
> /* set to enable the crypt command */
> #define HAVE_CRYPT 0
となっていて、HAVE_CRYPT が False になっている。
だから使えないと思っていいんじゃない?
0054名無しさん@お腹いっぱい。
NGNGで、PHP3が良いのか4が良いのか迷ってるんですが…。
今から勉強するなら、やっぱり新しい4入れるのが良いでしょうか?
# PHP3に対するPHP4って、Perl4に対するPerl5くらい普及してるんでしょうか…
0055名無しさん@お腹いっぱい。
NGNGPerl を極めてからもう一度質問。
005654
NGNG(Advanced Perl Programming くらい)
飽きるというか、たまには気分を変えてみたいなと…。
すいません教えてください (;´д`)
0057名無しさん@お腹いっぱい。
NGNGContent-encoding: gzip
で表示させる事は可能でしょうか?
Perl を使ったCGIでは、この手法ですいぶんデータ転送量を減らせたので
ぜひPHPのページでも圧縮したいのです。
APACHEの設定でなんとかなるものなのかな?
0058電動ナナシ
NGNGここに出てるよ。
"Controlling PHP Output: Caching and compressing dynamic pages"
http://www.phpbuilder.com/columns/argerich20010125.php3
0059Error 401
NGNGApacheなら、これも試してみてくれ。
http://www.medinfo.m.ehime-u.ac.jp/kandalva/2000/compressedhttp/
H要素を抜粋。
>HTTP圧縮について
>HTTP compressionとは?
>mozila.org HTTP compressionに関する報告
>HTTP compressionの実例
>IIS5.0の場合
>Apacheの場合
0060名無しさん@お腹いっぱい。
NGNGこの引数取得するにはどうやったらいいのか教えてください。
0061電動ナナシ
NGNG正確には
require("http://server/path/file.php?value1=A&value2=B");
だよね。ファイル名だけだとエラーになる。
参照: http://www.php.net/manual/en/function.require.php
この場合、Web サーバーである "server" に "/path/file.php?..." という
リクエストが渡されたのと同等になるから、file.php からは単純に value1 や
value2 として参照できるでしょ。特に工夫するべきことはないと思うけど?
外部から渡される変数の扱いについてはこちらをどうぞ。
なお register_globals について注意。
http://www.php.net/manual/en/language.variables.external.php
0062名無し
NGNG指定ディレクトリ以下の合計サイズを計るものはないのでしょうか?
今はPerlで $size = `du -ks ./$dir`;ってやってます。
0063名無しさん@お腹いっぱい。
NGNGご親切にありがとうございます。
0064名無しさん@お腹いっぱい。
NGNG0065名無しさん@お腹いっぱい。
NGNG漏れは、ついさっき、明日が休日だってことに気づいたよ。
なんか、有給取ってるやつが多いのは気づいたんだけど。
0066名無しさん@お腹いっぱい。
NGNGうちは祭日休みじゃないので関係ないのさ〜(泣
0068名無しさん@お腹いっぱい。
NGNGfunctionを使うのと、どう違うんでしょうか?
「いつもとちょっとだけ違う処理」を記述するのに便利・・・なのかな?
0070名無しさん@お腹いっぱい。
NGNGノートパソコンでネットをやろうと思うんですが
どうすればいいのかまったくわかりません
親切な人どうか教えてください
一応いまAUのC305S(携帯)つかってます
知りたいこと
どこのケーブルを使えばいいのか
テレホみたいなサービスはあるのか
大体一月いくら位かかるのか
007122世紀を目指す名無しさん
NGNGあのぅ、PHPとPHS勘違いしてません?
0072名無しさん@お腹いっぱい。
NGNGすいませんでしたっ!!
今すぐ氏にマスゥゥゥゥゥゥゥゥゥl!!
007371
NGNG携帯PHS板へ逝ってよし!
http://cheese.2ch.net/phs/index2.html
007468
NGNGclass Select_db {
$this->con_db();//dbにコネクト
function Select_db ($select_str) {;//select * from hoge }
}
$sel = new Con_db;
echo $sel->select_db("foo");
っていうのと、
function select_db($select_str,$db_name){
;//db_nameにコネクトしてselect_strでselect
return($bar);
}
echo select_db("foo");
って言う感じのものと、違いがよく分からないんです。
いわゆる「マンモス本」のソースを見ると、データベースの接続なんかも
わざわざclassにしている様に思えちゃって・・・。
class初心者の勉強に適した本かwebページ、いいの無いでしょうか?
0075名無しさん@お腹いっぱい。
NGNG(いままでの知識は、Perlで簡単な掲示板をつくれるくらい)
PHP3とPHP4、どっちから手をつけるべきでしょうか?
#一応プロバは両方使えます
#特に、PHP4だと日本語関連が初心者にはつらいのかな・・・?と
#いやまだまだかいまみたくらいの知識しかないですが
007675
NGNG#ってあんま関係ないかな?
0077名無しさん@お腹いっぱい。
NGNGこのあたりのPDFlibのサンプルはないものでしょうか。
ちなみに、DBとのやりとりはColdFusionを、この帳票出力の部分にだけ
PHPを使います。ソフトウエアにかかるコストの削減、とか。悩んでいる
人件費の方が高いと思うが・・・。
0078名無しさん@お腹いっぱい。
NGNG国際化対応していないPHPで日本語文字コード(S-JIS)を使うと、
どんな問題が出るんでしょうか?
0080snatch
NGNGすいませんが、PHP4の iconv モジュールのありか
ご存知の方いらっしゃいませんでしょうか。
ftp://night.fminn.nagano.nagano.jp/php4/からなくなって
しまっていましたので、再インストールができなく
なっています。
ご存知の方宜しくお願いいたします。
0081名無しさん@お腹いっぱい。
NGNGiモードでphp3って拡張子は認識されますか?
0082電動ナナシ
NGNGそれはもはやオブジェクト指向分析の話だね。クラスをどうやって発見するか、
クラスの粒度(メソッド数とか属性数とか)をどうするか、クラス間の関係を
どのように定義するかは、オブジェクト指向の中でもかなり賑やかな分野。
言い換えれば決定版がない分野なんだよね。
参考書籍はいろいろあると思うけど、自分は
『オブジェクト指向プログラミング入門』Timothy Budd 著(ピアソン)
http://www.amazon.co.jp/exec/obidos/ASIN/4795297088/
『オブジェクト指向再入門』金澤典子著(SRC)
http://www.amazon.co.jp/exec/obidos/ASIN/4883731278/
あたりがいいんじゃないかと思う。割と初心者でも読める。
情報システム板にもオブジェクト指向のスレッドがあったはず。
0083電動ナナシ
NGNGPDFLib は分からないなあ・・・。期待していたらごめんね。
>>78
正規表現といった文字列操作関数が、思ったとおりに機能しないって問題も
あるね。
>>80
ここにあったよ。
http://www.linet.gr.jp/~juk/plamo/parts/2.0/srcs/www/php/modules/
>>81
大丈夫だよ。拡張子とは無関係に、サーバーから HTML として送信されるので
普通に表示される。i-mode って Shift-JIS のみなんだっけ?。文字コードは
大丈夫?
0084名無しさん研究所
NGNG機種によってはeucにできるやつもあるけど、
毎ページ手動で変換だったかな。
metaでeuc指定してもダメなのは確か。
008578
NGNGうー、正規表現がちゃんと使えないのは痛い。
国際化対応してないPHPで日本語処理してる人っていますか?
あまり妙なところではまるのはイヤですよ、カテジナさん!
0086snatch(80)
NGNGありがとうございます。
発見しました。
さっそく今からウィンストールします。
008768
NGNG次の給料で参考書買って勉強します。
>>85 いったんeucに変換すれば、ある程度使えますよ。
具体的にはどんな処理をする予定なんですか?
0088名無しさん@お腹いっぱい。
NGNGhttp://www.spencernetwork.org/jcode/
このへんを参照して組み込んでるよ。
0091名無しさん@お腹いっぱい。
NGNG0092名無しさん研究所
NGNG作者さん重いとか言ってるけど、実際どうよ。
0093名無しさん
NGNG0094名無しさん@お腹いっぱい。
NGNG0095名無しさん@お腹いっぱい。
NGNG仕事進みまへ〜ん!! 助けて〜!!
0096名無しさん@お腹いっぱい。
NGNGhttp://tokyo1.virtualave.net/
http://tokyo1.virtualave.net/
http://tokyo1.virtualave.net/
http://tokyo1.virtualave.net/
http://tokyo1.virtualave.net/
http://tokyo1.virtualave.net/
0097名無しさん@お腹いっぱい。
NGNGfgets () であるファイルを読みに行って、
`hoge` が含まれる行だけを echo したいのですが、
どのようにすれば良いでしょうか?
因みに、`hoge` が含まれる行は1行だけで、
ファイルの何行目に出て来るかは決まっていません。
宜しくお願い致します。
0098名無しさん@お腹いっぱい。
NGNG0099名無しさん@お腹いっぱい。
NGNGwhile (list($line,$val)=each($arr)) {
if(strstr("hoge",$val)){echo $val; break;}
}
0100Error 401
NGNGCVS currentは、4.0.6-devになってるけど…。
あと、PHPのバージョン(リビジョン)って、何かお約束があるんでしょうか?
偶数が安定版とか、そんなお約束。
0101電動ナナシ
NGNG0102名無しさん
NGNG0103Error 401
NGNGhttp://www.php.net/ にも http://www.zend.com/ にも情報が無い・・・
0104名無しさん
NGNGフォームから入力された文字の中の全角英数字を半角英数字に
置き換える方法を教えてください。
0105名無しさん研究所
NGNG国際化入ってるなら、
$text = i18n_ja_jp_hantozen("$text", "n");
0106104
NGNG言葉足らずですいません。PHP4です。
0107ねたろ
NGNGシェルスクリプトとcrontabでバックアップしているのですが、
./backup.sh としたときにはうまくいくのですが、crontabに任せておくと
ファイルサイズが0 になっています。
----
#!/bin/sh
pg_dump -t dbname -f 'bakup_$(date %Y%M%D)'
0108名無しさん@お腹いっぱい。
NGNGんでcrontabの./backup.shもフルパスで。
0109電動ナナシ
NGNGcrontab はどのユーザー用のに書いてる?
ひょっとして root?
root ユーザーを PostgreSQL に追加してある?Supervisor 権限はある?
気になるのはこんなところかなあ。
0110名無しさん@お腹いっぱい。
NGNG0111ねたろ
NGNGcrontabはwebというユーザ用のに書いています。./backup.sh下のと同じユーザです。
これは、apacheのユーザでもあるし、postgresのユーザでもあります。
(でもスーパーユーザではありません。)
一応 postgresのスーパーユーザで同じことをしてみたのですが、結果は同じでした。
>>108さんのいうようにフルパスにもしてみました。
0112オグマ
NGNG--------------------------
<!--BEGIN_HEAD-->
この文章は適当に書かれたものです。
<!--END_HEAD-->
<!--BEGIN_DOC-->
今日は晴天なり。
今日は雨天なり。
<!--END_DOC-->
--------------------------
これらの <!--BEGIN_HEAD--> 〜 <!--END_HEAD--> の中身を $head 変数に,
<!--BEGIN_DOC--> 〜 <!--END_DOC--> の中身を $doc 変数に代入するには
どうすればいいでしょうか。正規表現でできそうなんですがよくわかりません。よろしく。
0113電動ナナシ
NGNG"su - web" してくだんの Shell Script 走らせて見たら?
パーミッションじゃないとすると、環境変数の問題かもね。
PGHOME, PGDATA とか PGLIB とかは大丈夫?
0114電動ナナシ
NGNGこれでいいんじゃないかな? PHP 4.0.4pl1 で確認。
<?php
function x ($str) {
return nl2br(ereg_replace(">", "&gt;" , ereg_replace("<", "&lt;", $str)));
}
$target = "<!--BEGIN_HEAD--> \n
この文章は適当に書かれたものです。 \n
<!--END_HEAD--> \n
\n
<!--BEGIN_DOC--> \n
今日は晴天なり。 \n
今日は雨天なり。 \n
<!--END_DOC--> \n";
echo "<p>" . x($target) . "</p>\n<hr>\n";
$pattern = "<!--BEGIN_HEAD-->(.*)<!--END_HEAD-->";
$success = ereg($pattern, $target, $elem);
$head = $elem[1];
echo "<p>" . x($head) . "</p>\n<hr>\n";
$pattern = "<!--BEGIN_DOC-->(.*)<!--END_DOC-->";
$success = ereg($pattern, $target, $elem);
$doc = $elem[1];
echo "<p>" . x($doc) . "</p>\n<hr>\n";
?>
0115電動ナナシ
NGNGereg_replace(">", ">" ... の二番目の引数を "&amp;gt;" に置き換えて。
"<" についても同様。
# ↑も正しく出るかな。鬱だし脳。
0116電動ナナシ
NGNGfunction x ($str) {
return nl2br(htmlspecialchars($str));
}
0117オグマ
NGNGどうもありがとう。PHP でテンプレート式掲示板を作ってて
そのテンプレートを分割するのに使用しました。
本当に助かりました。
0118名無しさん
NGNGfsockopen で HEAD 要求をすれば良いということまでは分かりました。
しかし、その後 Last-Modified のところだけ抜き出す方法が分かりません。
どなたかご教授下さい。
0119電動ナナシ
NGNG$hostname = "localhost";
$httpport = 80;
$fp = fsockopen ($hostname, $httpport, $errno, $errstr, 30);
$str = "";
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs ($fp, "HEAD /index.html HTTP/1.0\r\n\r\n");
while (!feof($fp)) {
$str .= fgets ($fp,128);
}
fclose ($fp);
}
$tmp = ereg("Last-Modified: ([^\r]+)", $str, $match);
$lastmod = $match[1];
echo $lastmod . "<br><hr>\n";
?>
0120118
NGNG$tmp = ereg("Last-Modified: ([^\r]+)", $str, $match);
$lastmod = $match[1];
と言うところが大変参考になりました。
ありがとうございました。
0121名無しさん@お腹いっぱい。
NGNG何かよい方法はあるでしょうか?
ソケットでつなぐしかないかな?
0122弱い者の味方、
NGNGホームページを作ったものの、まったくアクセスが上がらな
くて悩んでいる人のためのサイトを作りました。
効率よく宣伝できる共有宣伝掲示板を18個設置しました。
全部宣伝して回ればなんと1,000以上の掲示板にカキコしたこ
とになり即、効果が期待できます。さらに共有掲示板の隠し
リンクを発見してそれらも全部宣伝して回ると計2,000以上の
掲示板にカキコしたことになり、さらにアクセスアップを期
待できます。もう、今日からアクセスが無くて悩むことは無
いです。今すぐここからアタックアタック!!
http://home9.highway.ne.jp/cym10262/
0123名無しさん@お腹いっぱい。
NGNGError('へんな言葉が入ってるよ');
exit;
}
という時、エラーメッセージ中に該当する言葉を
表示させる方法はないでしょうか?
0124名無しさん@お腹いっぱい。
NGNGif(ereg("ちん●|まん●",$comment,$match)) {
&nbsp; Error('へんな言葉が入ってるよ:' . $match[0]);
&nbsp; exit;
}
0125123
NGNGありがとうございました。
0126ねたろ
NGNG>電動ナナシさん
くだんのシェルスクリプトで環境変数を設定したら、うまくいきました。
ありがとうございました。
ユーザのどっとファイルで環境変数は設定済みで、psqlも多用していて問題ないのですが、
crontabの場合は、いちいち設定しなくてはいけないのですね。
でもちょっと面倒ですね。
0127名無しさん@お腹いっぱい。
NGNGopenで開くだけ
open("http://*****/cgi-bin/cgi.cgi?***=***");
0128名無しさん@お腹いっぱい。
2001/04/20(金) 14:59ID:w9tUomBwを教えてくださ〜い。
0129名無しさん@お腹いっぱい。
2001/04/20(金) 15:48ID:5Li3PYXEクッキーを与えてredirectしてクッキーを返してくれるのか見る。
0130名無しさん@お腹いっぱい。
2001/04/20(金) 17:33ID:qe51yZHI0131名無しさん@お腹いっぱい。
2001/04/20(金) 17:42ID:???0132名無しさん@お腹いっぱい。
2001/04/21(土) 00:47ID:8msEwlmI課題で提出しなきゃならないので出来ればソース
(コードじゃなくて情報ソース)
もあれば嬉しいんですが。
http://www.spr.com/library/0langtbl.htm
ここでも載ってないんですよね。
0133名無しさん@お腹いっぱい。
2001/04/30(月) 03:13ID:???パイプ喫いの中川っていろんなとこでよく見るけど、こういう奴だったのね。
http://www.alles.or.jp/~yaemon/log/ServerSet.html
いたたたた…。こんなもん公開するなよ…。
なお、どこが痛いのか、という質問にはめんどいので答えません。
0134名無しさん@お腹いっぱい。
2001/05/01(火) 04:06ID:???0135電動ナナシ
2001/05/01(火) 05:09ID:???だいたい Perl と同じと思っていいんじゃないかな。FP の場合、入出力
ごとにポイントを計測するけど、入出力(ファイル書き込みとか、データベース
接続&レコードフェッチ)に要するコード行数はあまり変わらないように
思う。
もし手元に機能的に同一の Perl と PHP のコードがあったら、それのコード
行数を比較して、その比を Perl の値にかければいいと思う。
0136132
2001/05/05(土) 02:10ID:.bD0Tg1Qなるほど。
やっぱりPerlと同じで計算しちゃってよさそうですね。
コードの比較は信頼性に足る程のソースの数を集められなさそう
なんで、Perlと同じで行く事にします。
ありがとうございました。
#FP-LOC自体が信頼性あんまないという話もあるが:-)
0137名無しさん@お腹いっぱい。
2001/05/05(土) 05:00ID:???>>132 の表はすごいなあ。面白いんでいくつか抜書き。
妙に納得できますね、この数値は。。。
レベル / 言語
0.5 / 機械語
2.5 / C
3.0 / BASIC, FORTRAN-77, COBOL
3.5 / Pascal
6.0 / C++, Java
9.5 / VC++
11.0 / VB5, Delphi
15.0 / Perl, Awk, Shell
22.0 / HTML-3.0
57.0 / Excel
0138初期不良
2001/05/06(日) 19:58ID:VQtSpJpE止まっちゃうんですけど、この jstring は古いんですか?古いんですか?
ports の php バージョンは 4.0.5 になっているんだけど...
探すと php4_jstring-1.0.92.tar.gz とかあったりはするんですが、
これは ports のメンテナーに伝えた方がいいですかね?
0139名無しさん@お腹いっぱい。
2001/05/07(月) 00:49ID:5s5NeTp.びっくりするかも?
0140初期不良
2001/05/07(月) 02:31ID:rvwRZ5jw今すぐ必要ってわけでもないので(いずれ必要になりますが)
ports が 4.0.5 になるのを待ったのと同じように待ってみます。
0141名無しさん@お腹いっぱい。
2001/05/07(月) 07:13ID:7gCFqY.Aどういう使い方をすればCGIとして作動するんですか?
0142名無しさん@お腹いっぱい。
2001/05/07(月) 12:08ID:5s5NeTp.*.cgi のかわりに *.pcgi という名前にしてみて
0143名無しさん@お腹いっぱい。
2001/05/07(月) 12:50ID:???0144名無しさん@お腹いっぱい。
2001/05/07(月) 16:39ID:XemNYOsQPHPって無料で使えるものですか?
>>1のリンク先を見に行っても分からなかったもので…
(英語が全く読めないし)
0145名無しさん@お腹いっぱい。
2001/05/07(月) 18:59ID:???0146144
2001/05/07(月) 19:30ID:O2H6x.Mgあ、ありがとうございます。
安心しました。
0147145
2001/05/07(月) 21:01ID:???という心配をしてしまいますね(^^;
PHPは無料で使えるというのには嘘はありませんけど。
0148名無しさん@お腹いっぱい。
2001/05/07(月) 23:24ID:gp8pTDD6AddType application/x-httpd-php .php
Action application/x-httpd-php /cgi-bin/php.cgi
0149素朴なぎも〜ん!
2001/05/08(火) 04:49ID:???Servretのサンプルプログラムを見ると、タグを記述するHTMLファイルがあって
必要なところにServretのスクリプトを入れているって感じですけど・・・。
一方、マンモス本のサンプルプログラムって・・・
クラスを定義して、そのクラス内に表示部分の殆どを入れているじゃないですか。
私には、いしいのプログラムがドキュソにしか見えません。
↓このページのサンプルプログラムみたいなやつ
http://katochanpe.com/sample/index.html
オブジェクト指向完全無視じゃん・・・。
というわけで、実際の現場ではマンモス本のようにプログラムを組んでいるのでしょうか?
ご教授いただければ幸いです。
う〜言いたいことがうまく書けないの・・・の21歳女子大生でした。
0150電動ナナシ
2001/05/08(火) 18:40ID:???JSP じゃないの?
> 実際の現場ではマンモス本のようにプログラムを組んでいるのでしょうか
ものによりけり。HTML の構造がデータの個数・種類によって大きく変更
されるなら、コードにタグを埋め込む書き方が普通。表示部分の構造には
あまり変更がなく、単にデータを埋め込んでいくだけなら、HTML の中に
コードを埋め込むのが普通。
> オブジェクト指向完全無視じゃん・・・。
石井さんは C な人だからあれでいい。あの PostgreSQL のメンテナーを
しているという実績を考えれば、オブジェクト指向の無視くらいどうって
ことはない。
> 21歳女子大生
ネカマしなくたって、回答できそうな質問なら誰か答えるよ。
0151ななしファン
2001/05/08(火) 20:45ID:H0ZLQDmY0152松下幸之助
2001/05/08(火) 21:45ID:???いつの間にかPHP改で
WEBプログラミングになってる!!
偏り無く情報を得たいときは、専門MLよりいいかも。
>PHP、CGI、Java Servlet、Perl、DBの話題です。
旬なJSPやColdFusion、Rubyは?
0153名無しさん@お腹いっぱい。
2001/05/09(水) 12:27ID:???0156名無しさん@お腹いっぱい。
2001/05/09(水) 12:46ID:???0157名無しさん@お腹いっぱい。
2001/05/11(金) 09:25ID:???0158名無しさん@お腹いっぱい。
2001/05/11(金) 09:31ID:???0159名無しさん@お腹いっぱい。
2001/05/13(日) 18:07ID:QKOKs7dUデータベース関係を除けば、CGIとかと同じような事が挙げられると
思っていていいんでしょうか?
ユーザの入力によっては、プログラマの意図しない動作をする、みたいな。
cat /etc/passwd | とかで。
0160ナナシファン
2001/05/13(日) 18:32ID:05DbuIGYそそ。あと一番問題なのがセッションね。
外部にリンクを許しちゃうと、リンク先のHTTP_REFERERで
セッションIDが見えちゃうとか。
0161JAPU
2001/05/14(月) 18:29ID:???0162名無しさん@お腹いっぱい。
2001/05/14(月) 18:39ID:???0163ナナシファン
2001/05/14(月) 20:27ID:EsWUXNIEPHP4だって、何も考えずにsession_start()を使っちゃうと
クッキーが使えればクッキーを使うが、ダメだと自動的に
URIにセッションIDを張り込んじゃうでしょ。
「ななしファン」だと誰のファンかわからないので、電動ナナシさんのファンであることをアピールする
ために「ナナシファン」に改名。
0164初期不良
2001/05/15(火) 03:51ID:qIx5vtWI今 ports を cvsup したら php4_jstring-1.1.1.tar.gz になってた。
ただいまコンパイル中...
0165初期不良
2001/05/15(火) 04:41ID:qIx5vtWIapachectl restart までやってくれた。
全然触ってなかったから分からなかったんだけど、
驚くかもってのはなんのこと?気になる...
0166電動ナナシ
2001/05/15(火) 11:35ID:???PHP-4.0.6 から jstring が標準配布に統合されるって出てたね。
0167名無しさん@お腹いっぱい。
2001/05/17(木) 13:35ID:vuz.jAiQ・なんかif文とかが多いページを開くと、反応が無くなってしまうことがある。
原因不明。
ネストの深さ問題では無いと思う。
・PEARのDB(PostgreSQL)を使ってるんだけど、SELECTが戻って来なく
なることがある。これも原因不明。
pg_exec()にすると戻ってくる。
ブラウザを再起動したら戻ってくるようになったり、CSSをはずしたら
戻ってくるようになったり。
使い方が悪いのかなー。
0168名無しさん@お腹いっぱい。
2001/05/17(木) 20:20ID:???どうもこの近藤氏と近藤くんを混同してしまいますな。
0169名無しさん@お腹いっぱい。
2001/05/17(木) 21:41ID:dr1laO2oセキュリティの確保について教えて下さい。
PHPのページは、suExec等で実行権限を変更した状態で実行
できない(?)ため、レンタルサーバでPHP動かしてるときは
非常に困るんですが、なんとかならないんでしょうか?
自分の書いたPHPスクリプトから読み書き出来るファイルは
当然、同じサーバのユーザーのPHPスクリプトからも読み書き
出来るわけで、セキュリティーもなにもあったもんじゃない。
この状態だとDBへアクセスするパスワードをPHPのソースに
書いて置いても、他のユーザーから見られちゃうし。(PHPで
指定ファイルを表示するプログラムを書けばよい)
こういった問題はどのように対処すればよいのでしょうか?
phpスクリプトの所有者権限で実行させることが出来れば
一番よいのですが。
0170名無しさん@お腹いっぱい。
2001/05/17(木) 22:19ID:vgMMOG.Q#/usr/local/bin/php
rwx------
0171169
2001/05/17(木) 23:41ID:dr1laO2omod_xx形式では、スクリプトによって実行権限を可変にするのは
難しいんでしょうね。(そういえばJServもそうでした。)
共有型のレンタルサーバではいろいろ限界がありますね。
普通の形式のPHPが使えないのが悔しいです。
毎回プロセスが起動されるわけで、セッションなどが持続するか
という点とパフォーマンスについて少し不安ですし。
そもそも、いま使っているレンタルサーバーは、mod_phpしか
はいってないので運営会社に相談してみないといけない。
気が重いです
0172名無しさん@お腹いっぱい。
2001/05/18(金) 00:03ID:HvnCSBrwいままで2年間C言語をやってきたんですが、Web関係
の仕事がやりたくて、派遣登録をしたら、
PHPとLINAXを使っての仕事があると進められました。
今週末に話しを聞きに行くので具体的なことはわからないのですが、
WebプログラムだったらPerl(CGI)が主流かなと
思っていたので、この仕事を受けるかどうか迷ってます。
(とりあえずperl(CGI)をマスターしようと思っていたので・・・)
まぁようするに、Perlの仕事を待つか、PHPの仕事をするか
今後のWeb業界でどちらが良いのか教えていただけたらと思います。
Webに関しては初心者なので、幼稚な質問ですみません。。。
0173名無しさん@お腹いっぱい。
2001/05/18(金) 01:06ID:???今日の朝まで元気に動いていたphp3の環境は先輩が作ったもので、
Linux + postgres + apache + php3。
で、php4のインストールやってみてねと言われて・・・。
自分はLinuxを触ったことはほとんどないわけで。
apacheもphp3もぶち壊してきました(藁
いろんなサイトでインストール方法とかのってたりしますが、
今までインストールして来たものも把握できていないため、
ばっさり消してというのも、ちとやりにくい。
さらにphp3とphp4は同居させる予定。
いやぁもうさっぱりなわけで。
助けてくれと言ってもなかなか難しいんだろうけど、誰かに助けて
もらいたい気分です。
誰か・・・!
0174名無しさん@お腹いっぱい。
2001/05/18(金) 09:00ID:mi2YgIEwまずはapacheのインストール
解凍したディレクトリで以下を実行
./configure --enable-shared=max
make
make install
httpd.confの設定
apache起動
0175名無しさん@お腹いっぱい。
2001/05/18(金) 09:58ID:???Windows系の方か、仕事でコーディングしてない方だと思いますが。
私の周りでは、数十万ぐらい中規模の仕事はPHPが主流です。
個人的には、得意な言語ではないので、「PHP嫌いだから」って
言って断ることもおおいですが。
が、あなたは事前調査も足りないし、現状では
仕事を受けるべきではないです。というか、ウチにきたら
即座にチェンジおねがいするでせう。
0176名無しさん@お腹いっぱい。
2001/05/18(金) 11:53ID:jsJYtRGoどうもRESありがとうございます。
昨日派遣先から連絡あって、土曜に話を聞きに行くので
事前調査できなかったんですよね。まぁとりあえずPHPの
情報があるここで聞いてみようかなっと思いまして。
中規模ではPHP主流ですか。ありがとうございます。
とりあえずもう少しNETなどで調べて話を聞いてみることにします。
0177PHP初心者
2001/05/18(金) 17:43ID:k6aRDiHQPHP4をインストールしようとしたのですが、、
#make install を実行した時点で最後に
make[3]: *** [jstring.lo] Error 1
make[3]: Leaving directory '/usr/local/src/php-4.0.5/ext/jstring'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory '/usr/local/src/php-4.0.5/ext/jstring'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory '/usr/local/src/php-4.0.5/ext'
make[3]: *** [install-recursive] Error 1
とでます。
恐れ入りますが、どなた様か対応方法を御教授戴けないでしょうか?
全てrootユーザーで操作を進めました。
宜しくお願いします。
0178名無しさん@お腹いっぱい。
2001/05/18(金) 17:48ID:???0179PHP初心者
2001/05/18(金) 19:48ID:k6aRDiHQ/usr/local/src/php-4.0.5/ext内の
php-4.0RC2_jstring-1.0.tar.gzを
tar zxvf php-4.0RC2_jstring-1.0.tar.gz で展開したのですが、、
#make を実行すると最後に
make[3]: *** [jstring.lo] Error 1
make[3]: Leaving directory '/usr/local/src/php-4.0.5/ext/jstring'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory '/usr/local/src/php-4.0.5/ext/jstring'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory '/usr/local/src/php-4.0.5/ext'
make[3]: *** [install-recursive] Error 1
make: *** [all-recursive] Error 1
となります。本当に困りました。
0180ナナシファン
2001/05/18(金) 20:45ID:So5nwNRcなんかMLで話題になってなかった?
jstringの200102xxとかをいれてみそ。うまくいくから。
見つからなかったらftpsearchで。
0181PHP初心者
2001/05/18(金) 20:52ID:k6aRDiHQphp-4.0.5を辞めて付録のphp-4.0.3pl1で最初からやり直したら
インストールできたようです。
何分初心者なものでお騒がせしました。m(__)m
0182名無しさん@お腹いっぱい。
2001/05/19(土) 07:24ID:NfS52E.2$title = 'hoge';
} elseif ('haun', $result) {
$title = 'haun';
}
な感じで50個くらい続くのですが、
これではあまり効率が良くないですよね?
何か他に良い方法はあるでしょうか?
0183名無しさん@お腹いっぱい。
2001/05/19(土) 09:10ID:???解決したみたいだけど最新のjstringなら4.0.5でもいけるよ。
ftp://night.fminn.nagano.nagano.jp/php4/php4_jstring-1.1.1.tar.gz
0184初期不良
2001/05/20(日) 00:11ID:R6mR4c2oユーザを信用できない状況では PHP って使えないのかね。
まあ、そうでなくても Perl でもしばらくはやってきたわけだけど。
DB を使えば DB 独自のユーザ、パスワード、権限で制御できるから
何とかなるのかな?
一般的にはどうなんでしょ?
スタンドアローンなサーバで運用って事が多いのかな?
0185初期不良
2001/05/20(日) 00:28ID:???あんまりマルチユーザ利用を考えてないサーバって事ね。
0186ドキュソデザイナー
2001/05/20(日) 23:45ID:.g1VXZ4s当然、Authクラスを使って会員認証するのですが、会員IDとパスワードは、
デフォルトのテーブルではなく、既存のテーブルを使って認証したいのです。
どうやったらいいの?
0187ドキュソデザイナー
2001/05/21(月) 00:47ID:piAkqhBs$uid,$passと$permは違うテーブルになるけど、処理はどうやって分ければ
よいのでしょう?
0188電動ナナシ
2001/05/21(月) 02:23ID:???その DB 独自のユーザー名・パスワードをスクリプトに書いてしまうと
ほかの人から見られてしまうって問題でしょ。
例えばこんなスクリプトを書いて $file に適当なファイル名を指定すれば
ほかの人が書いたスクリプトを読めてしまう。
<?php
$file = "/home/other-user/other-script.php";
$fp = fopen($file, "r");
$r = fseek($fp, 0, SEEK_SET);
$buf = "";
while (!feof($fp)) {
$buf .= htmlspecialchars(fgets($fp, 8192));
}
fclose($fp);
echo "<textarea rows=\"25\" cols=\"80\">" . $buf . "</textarea>\r";
?>
0189電動ナナシ
2001/05/21(月) 02:40ID:???perms を格納するテーブルを $this->perms_table に入れてあり、その
テーブルのスキーマとして以下のものがあることを前提とすると、
CREATE TABLE perms (
:
userid int, /* ユーザー情報テーブルにおける ID 番号 */
perms int, /* 許可情報 */
:
);
こんな感じかな。
function auth_validatelogin() {
global $username, $password;
$uid = false;
$query = sprintf("SELECT u.uid, p.perms FROM '%s' u, '%s' p
WHERE u.id = p.id AND u.username = '%s' AND u.password = '%s'",
$this->database_table, $this->perms_table, $username, $password);
$this->db->query($query);
while($this->db->next_record()) {
$uid = $this->db->f("uid");
$this->auth["perm"] = $this->db->f("perms");
}
return $uid;
}
0190オラ狂うよ・・・
2001/05/21(月) 03:43ID:piAkqhBsDatabase error:
ora_parse() failed:
select * from event where (date between '2001-04-29' and '2001-06-02') and user_id = '9eda03dc8801523058abc42cc54da7df' order by start_time,end_time
Snap & paste this to sqlplus!
Oracle Error: 936 (ORA-00936: 式がありません。 -- while processing OCI function OPARSE)
Session halted.
start_time,end_timeは、NULLなのですが、それがダメなの?
0191電動ナナシ
2001/05/21(月) 03:46ID:???date BETWEEN TO_DATE('2001-04-29', 'YYYY-MM-DD') AND
TO_DATE('2001-06-02', 'YYYY-MM-DD')
としてみたら。date は DATE 型なんだよね。
ORDER BY については NULL だろうがなんだろうが関係ないよ。
0192ドキュソデザイナー
2001/05/21(月) 04:03ID:piAkqhBs明快かつ簡潔なコード例、ありがとう。
日曜のこんな時間ということもあってか、何かちょっと感動した。
ダメな営業がこの仕事をタダで受けて来ちゃったので、外注に出せず、なぜかWEBデザイナーの俺がやるハメに・・・。会社辞める、ぐらい言って、突っぱねればよかった。バカな俺・・・
0193電動ナナシ
2001/05/21(月) 04:12ID:???訂正
> WHERE u.id = p.id AND u.username = '%s' AND u.password = '%s'",
は
WHERE u.id = p.userid AND u.username = '%s' AND u.password = '%s'",
が正しい。
まあ何にせよ、きちんとジョインすれば簡単にできる。
0194オラ狂うよ・・・
2001/05/21(月) 04:37ID:EE3EK/S.ありがとう、以下のコードでうまくいったようです。また新たな問題が
発生したけど・・・
$db = new My_DB;
$sql = sprintf("select * from event
where (date between to_date ('%s', 'YYYY-MM-DD') and to_date('%s', 'YYYY
-MM-DD')) and user_id = '%s'
order by start_time,end_time",
$start["date"],$end["date"], $auth->["uid"]);
$db->query($sql);
0195電動ナナシ
2001/05/21(月) 04:54ID:???Oracle は時々自動的な型変換に失敗するから(再現条件は不明)、きちんと
変換関数を使って型変換をしたほうがいいよ。
>>193
また間違い
u.id は u.uid だな。
0196オラ狂うよ・・・
2001/05/21(月) 05:06ID:piAkqhBsなるほど。なんてことはないコードだしPostgresでは問題なく動いていたので、
悩んでしまった。その辺を中心にデバッグします。とりあえず家に帰って風呂だ。
ほんと、ありがとう。
0197名無しさん@お腹いっぱい。
2001/05/21(月) 09:48ID:oxRjCmREマッチさせる文字列を配列に入れておいて、ループで回すとか。
あと、「マッチした部分の文字列」を参照できるってことを知ってる?
正規表現系の関数の第三引数があるパターン。
これで1,2行で書けたりするかも。
0198名無しさん@お腹いっぱい。
2001/05/21(月) 09:51ID:oxRjCmREうげ、そりゃすごい問題ですね。
回避する(fxxx()系を無効にする)ことって出来ないんでしょうか?
0199antique
2001/05/21(月) 11:14ID:l/cyjLtQphp.ini の open_basedir で制限できると思う。
使ってないからわかんないけど。
http://snaps.php.net/manual/ja/html/configuration.html
0200199
2001/05/21(月) 11:19ID:???「ほかの人が書いたスクリプトを読めないように制限できる」
です。
fopenそのものを使えないようにする方法はわからない。
0201名無しさん@お腹いっぱい。
2001/05/21(月) 11:46ID:???さんきう。
ちょっと安心。
0202電動ナナシ
2001/05/21(月) 12:21ID:???System("cp $file ./tmp");
$fp = fopen("./tmp", "r");
ならどうよ。
0203電動ナナシ
2001/05/21(月) 12:26ID:???safe_mode と safe_mode_exec_dir も必須だなあ。
0204電動ナナシ
2001/05/21(月) 12:44ID:???safe_mode = On
safe_mode_exec_dir = "."
doc_root = "."
user_root = "."
という感じかな。
あと disable_functions という指示子もあるね。任意の関数を無効にできるらしい。
fopen を指定したら確かに無効になった。ちなみに無効にすると >>188 の
コードは無限ループに陥るから注意。
0205antique
2001/05/21(月) 12:55ID:???fopenは使えないと不便だからおいとくとして、
safe_mode = On
safe_mode_exec_dir = "."
doc_root = "."
user_root = "."
は信用できないユーザがいる場合は必須ですね。
オイラ>>202の方法全く気付かなかった(汗
0206169
2001/05/21(月) 12:56ID:Zc9DvZB2open_basedir で、特殊文字「.」を指定することでスクリプトの
ディレクトリ以下のファイルしかアクセスできなくなるんですね。
かつsafe_mode を ONにすれば、安心と…
PHP-ML 9775あたりからのスレッドで、PHPのセキュリティについての
話題があって結局、同一IPアドレスで運用している限り難しいという
ような結論だったので、ダメなのかと思ってました。
0207169
2001/05/21(月) 13:00ID:Zc9DvZB2あ、でもPHPだけならいいですが、Perl等、他のCGI実行環境も
提供している場合は、PHPだけで対応してもダメですね。
PHP自身の機能として、スクリプトの所有者の権限で動くモード
(sbitをみる)があってもいいと思うのですが、これは問題があるの
でしょうか。
問題点?(想像)
・実行権限変更するためにmod_phpをroot権限で動かさないといけない?
・ということはapacheもroot権限でうごかないといけない?
・Linuxでは、同一スレッドないで実行権限を切り替えられない?
0208antique
2001/05/21(月) 13:28ID:???CGIの場合はsuexec使ってパーミッションさえちゃんと設定すれば問題無い。
とは言え、パーミッションを666とかに平気で設定してる人が多い。
CGI配布してるサイトでsuexecの説明していれば助かるのだが、説明しているサイトを見たこと無いからな。
某KENT-WEBあたりが説明しててくれれば、皆真似するだろうに(爆
# ま、他人のが覗かれようが知った事じゃないですが。
CGIはsuexecでユーザ権限で動かせるんだし、問題点に書かれているような事は無いと思うよ。
# PHPってCGI版有るけどよく解らない。
どうでも良いけどApache1.3.20出たね。http://httpd.apache.org/ は 1.3.19のままだけど。
早速入れようかな。
0209169
2001/05/21(月) 15:24ID:Zc9DvZB2PerlなどのCGI側は、rwx------にしといてsuEXEC使えば安心なのは
そうなんですが、守りたいのはPHPのソースのほうなんです。
PHPのソースは、rwxr-----とかにしておいて、グループはnobodyだの
wwwだのといった全ユーザー共通のグループに所属しているので、
同じくnobody(またはwww)グループのユーザーのCGIからアクセスできて
しまうわけです。
PHPをCGIとして動かすのならsuEXEC使えばいいので問題ないです。
suEXECがなんでユーザー権限を変更できるのかちゃんと理解してないです。
suEXEC自身はRoot権限で動く必要があると思うのですがちがうのかな。
0210169
2001/05/21(月) 15:35ID:Zc9DvZB2(他のMLの話題をここにもってくるのはナンですが…)
PHP-MLでは、ソースに含まれるパスワードを隠す目的なら、
ZENDで暗号化しちゃえばいいかもという案もでてました。
ZEND使ったこと無いのでよく分からないのですが、暗号化する
際にパスワードとか指定するわけではないようなので、
ツールさえあれば復号できるんじゃないかなと思いました。
ZENDの処理系のソースも公開されているので、ツールつくるのは
難しい話じゃないような気がします。
0211電動ナナシ
2001/05/21(月) 16:09ID:???switch/case を使うという手もあるね。特に一致した文字列をそのまま
使うのではないとき。
submit なボタンが多数あって、value を見てどのボタンが押されたかを
判別しているような場合かな。
$cmd = strtoupper($POST_CMD);
switch ($cmd) {
case "ADD":
hogehoge;
break;
case "DELETE":
hagehage;
break;
case "MOVE":
hogehage;
break;
case default:
hagehoge;
}
0212U-名無しさん
2001/05/21(月) 22:12ID:l6KPt7/gphp3_pgsql.dllってどこかでダウンロード出来ますでしょうか?
googleとかで探してみても、全然見当たらないっす。
0213電動ナナシ
2001/05/21(月) 22:26ID:???0214U-名無しさん
2001/05/21(月) 22:41ID:l6KPt7/g0215オラ狂うよ・・・
2001/05/22(火) 00:36ID:si2Mb37Mイケたと思ってたのは勘違い・・・鬱だ。また同じエラーメッセージ。
Database error:
ora_parse() failed:
select * from event where (date between to_date ('2001-04-29', 'YYYY-MM-DD') and to_date('2001-06-02', 'YYYY-MM-DD')) and user_id = '9eda03dc8801523058abc42cc54da7df' order by start_time, end_time
Snap & paste this to sqlplus!
Oracle Error: 936 (ORA-00936: 式がありません。 -- while processing OCI function OPARSE)
Session halted.
うーむ。
ふと思い立って、このサーバのPHPのconfigureオプション調べてみたら、
--with-oracle=/opt/oracle/product/8.1.7
となってました。Oracle 8.xは、--with-ociですよね。微妙に使えないのは
このせいかな?
0216電動ナナシ
2001/05/22(火) 01:41ID:???date を別の列名に変えてみたら?
0217名無しさん@お腹いっぱい。
2001/05/22(火) 01:56ID:2l6v9h4o取得できるリモートアドレスではアクセスポイント
までしか特定できませんよね。
普通アクセス制限とはアクセスポイント単位でやる物なのですか?
個人単位でやる(個人を認識する)方法があったら教えてもらえませんか。
0218電動ナナシ
2001/05/22(火) 02:03ID:???0219オラ狂うよ・・・
2001/05/22(火) 02:52ID:O0XOpuVkその通りでした。てか、列名、dateじゃなくちゃんとaz_dateとかしてたのに・・・
すこぶる鬱だ。ありがとう。
0220pen
2001/05/22(火) 13:07ID:Qka3clQwDBへの書き込みに対して、CGIで言うファイルロックの必要ってないんですか?
いろいろ調べたんですが、そういう記述って全然見かけなかったんで…
0221名無しさん@お腹いっぱい。
2001/05/22(火) 14:37ID:Zxtvn842Webアプリ側でのロックは恐らく必要無いかと。
普通は、DB側が良きに計らってくれるかと。
0222名無しさん@お腹いっぱい。
2001/05/22(火) 22:04ID:HZ6q6VlYという英字形式の GMT 時刻を JST に変換したいのですが、
どのようにすればよいでしょうか?
因みに、同じ様な変換を while で10数回繰り返す予定です。
0223電動ナナシ
2001/05/23(水) 01:03ID:???$timestring = "Tue, 22 May 2001 12:50:01";
$time = strtotime($timestring) - 3600 * 9;
echo date("Y/m/d H:i:s::T", $time);
?>
0224222
2001/05/23(水) 02:01ID:uAS2r3aUありがとうございます。
が、試したところ
2001/05/23 01:53:57::
1970/01/01 17:59:59::
と、2つ目が変な時刻になってしまいます。
私の while の使い方が悪いんですかねぇ。。。
0225pen(220)
2001/05/23(水) 10:02ID:spFKaY.Y解答ありがとうございましたm(__)m
PHPでPostgreSQLと連携した簡単なスクリプト作ってるんですけど
Perlとくらべても容易でいいっすね<PHP
0227YO
2001/05/23(水) 16:54ID:xghf/r7I$var = 123;
func($var);
と与えたとき、
$var = 123
と出力させたいんですが、どうしたもんでしょう。
要するに変数の中身は取り出せるが、'$var'という変数名そのものを
取り出すにはどうしたらいいか、と言うことです。
よろしくお願いします。
0228YO
2001/05/23(水) 16:55ID:xghf/r7I$var = 123;
func($var);
と与えたとき、
$var = 123
と出力させたいんですが、どうしたもんでしょう。
要するに変数の中身は取り出せるが、'$var'という変数名そのものを
取り出すにはどうしたらいいか、と言うことです。
よろしくお願いします。
0229222
2001/05/23(水) 17:53ID:uAS2r3aUすみません、あれから自分でも色々とやってみたのですが、
わけが分からなくなってしまって……。
やりたいのは↓のような感じです。
---log.dat---
Wed, 23 May 2001 01:53:57
Wed, 23 May 2001 17:30:01
以下、同じ様なデータが続く
-------------
---test.php---
<pre>
<?php
$fp = fopen ('./log.dat', "r");
while ($timestring = fgetcsv ($fp, 1024)) {
$time = strtotime($timestring) + 3600 * 9;
echo date('D, d M Y H:i:s', $time) ."\n";
}
fclose($fp);
?>
</pre>
--------------
0230電動ナナシ
2001/05/23(水) 18:58ID:???fgets でしょ。
0231電動ナナシ
2001/05/23(水) 19:11ID:???無意味じゃないかなあ。
function varvar($var) {
// 処理
}
varvar($hoge)
というコードを考えたときに、"$hoge" と "$var" のどちらがほしいの?
"$var" なら関数見れば分かるし、"$hoge" なら関数からはそもそもまったく
知ることができない。参照渡しにしろ値渡しにしろ関数が知ることができるのは
どの値が渡されたかだけで、どのような変数名を通じて渡されたかは分からない。
0232YO
2001/05/23(水) 19:17ID:xghf/r7I私がしたいのは>>231でいうところのhogeですね。
PHPでちょっと変数の値が知りたいというときに
ソースにfunc($var)という形で渡せば、'$var=....'と
表示されれば便利だなあ。と思って。
0233222
2001/05/23(水) 21:07ID:???> fgets でしょ。
ここを変更するだけで上手くいきました。
ありがとうございました。
#マニュアル読みに逝ってきます。。。
0234松下
2001/05/23(水) 21:55ID:TMWYPOj.global $$var;
echo "$$var=".$$var;
}
var(hoge);
これでどう?僕は$GLOBALS展開しちゃうけどね
0235電動ナナシ
2001/05/23(水) 22:27ID:???$hoge = "hogehoge";
function varvar($var){
global $$var;
echo "$$var=" . $var . "<br>\r";
}
varvar($hoge);
?>
だと、
---------------------------
$hogehoge=hogehoge
---------------------------
となってしまうけど?
>>228 は
---------------------------
$hoge=hogehoge
---------------------------
という出力にしたいんでしょ?
0236初期不良
2001/05/24(木) 01:07ID:fHlXXmpcちょっと apache よりの話になるけど、この辺って
解決の可能性あるのかな。apache のコピー自体が
ユーザ権限で動かないと module の実行権限を変える
ってのは無理だよね。
apache 自体の動作に変更が加わらないとだめだと思うから、
apache グループの考え次第ですけど...
0237名無しさん@お腹いっぱい。
2001/05/24(木) 04:39ID:GEomzVSsセキュリティ問題の話題ですけど、php.iniのsafe_modeをonにするのが
良いというのはなんとなくわかったのですが、onにすると、具体的にどうなるんですか?
マニュアル読んでもわからなかったので…
>>電動ナナシさま
>>188の他ユーザのファイルを読むスクリプトで、fseek関数はどう動作してるのですか?
fopen()で指したファイルポインタで事足りるような気がするのですが…
0238電動ナナシ
2001/05/24(木) 05:15ID:???exec や system で実行可能なファイル名が safe_mode_exec_dir にある
ものに制限される。exec_dir が /bin だとすると /usr/bin や /sbin と
いった別の場所にあるファイルを実行できなくなる。
>>fseek
fopen では pointer が先頭にくる保証はないと思っていたけど、マニュアル
読んだら
'r' - Open for reading only; place the file pointer at the beginning of the file.
とあるから、先頭に必ず来るんだね。つうことで、勘違いのためこれは不要。
0239電動ナナシ
2001/05/24(木) 05:22ID:???「セーフモード設定」を見ればちょっと書いてある
0240237@ナナシファン2号
2001/05/24(木) 08:57ID:GEomzVSsすばやい解答ありがとうございます!!
safe_modeの件わかりました!
というか、safe_mode_exec_dirに書いてある文章に説明されてましたね…
「詳細情報についてはセキュリティの章を…」のところを必死に読んでました…
0241名無しさん@お腹いっぱい。
2001/05/24(木) 09:37ID:Zsm6s/8wていうか、一度マニュアル全部流し読みでもいいから読む事をおすすめします。
次からは自分である程度トラブル対処出来る程度にはなれるよ。
0242名無しさん@お腹いっぱい。
2001/05/24(木) 14:06ID:???function ufFunc($param) {
reset($GLOBALS);
while (list($key, $value) = each($GLOBALS)) {
if ($value == $param) {
echo "$key = $value<br>\r";
}
}
}
$var = 123;
// $hoge = 123;
ufFunc($var);
でどお?
問題はあるけどとりあえず無視。
0243ナナシファン2号@独り言
2001/05/24(木) 14:56ID:GEomzVSs精進します(^^;
で、更に新しく気付いたことは。METHOD=POSTのときにURLデコードが不要だということ。
まあ処理自体はrawurldecode()とか使って簡単に行えるから苦労しないけど…
何だかなぁ〜
0244YO
2001/05/24(木) 15:57ID:/eASZrZMスごい!
$GLOBALSというのは現在宣言されている変数の集合体でしょうか。
変数名 値がペアになってるんですね。
つかわせてもらいます。マンモス盆にはのってなかった。。
0245名無しさん@お腹いっぱい。
2001/05/24(木) 16:25ID:Zsm6s/8w動作確認してないけど注意しないといけないのは、
$GLOBALS はグローバル変数を指す為のものだから ローカル変数だと
うまく動作しないと思う。 マンモス本には確かどういう物か載ってたと
思うよ。
>>242
これは考えつきませんでした。かっこいいです。
0246電動ナナシ
2001/05/24(木) 17:56ID:???0248169
2001/05/25(金) 15:21ID:w1zVfjY.同じ値の変数があったら両方表示されてしまうような気がしますが、
デバッグ用だから、こまかいこと気にしないでOK?
でも別に変数そのものを渡すことにこだわらないで、「変数名」文字列
渡して、値は$GLOBALSからもってくればいいのでは?
function varvarpapa( $varname )
{
echo "$varname = " . $GLOBALS[$varname ] . "<BR>\n";
}
var = 123;
varvarpapa( "var" );
0249169
2001/05/25(金) 15:55ID:w1zVfjY.PHPのソースを(同じレンタルサーバの)他のユーザーに見られない
ようにする方法としてこういうのは、どうでしょう?
1.前提として現在稼働しているapache(*1)は次の設定で動いている
例) ポート:80 / グループ: www
2.PHP実行専用apache(*2)を別ポート/グループでもう1つ起動する
例) ポート:8080 / グループ: phpexec
3.サーバのユーザーは、PHPのソースは、wrxr-----の形式で保存する
ただしソースのグループは「PHPEXEC」
4.上記ソースは、*1のapacheは、PHPのソースにアクセスできない。(NG)
反面、そのapacheから呼ばれたCGIからもアクセスできない。(OK)
5.*1のapacheには mod_rewriteをインストールしておく。
拡張子が「php」か「php3」だったら、ポート8080で動いている
*2のapacheにリダイレクトするよう設定する。
6.「5」の設定により、phpのソースは、*2のapacheのみがアクセス
できるようになり、他のユーザー/CGIからのアクセスは遮断できる。
以上の設定と、既出のsafe_mode,open_basedir の設定を組み合わせれば
かなり完璧にできるような気がします。
まだ、見落としあるかな
0250名無しさん@お腹いっぱい。
2001/05/25(金) 16:31ID:???PHPってパーミッション600じゃ動かないような。。。
0251169
2001/05/25(金) 16:48ID:w1zVfjY.おっと、この辺はよくわからないままかいてます。
パーミッション640でもダメでしたっけ
0252antique = 250
2001/05/25(金) 17:07ID:???640でも動くが、600ではやはりダメ。
けど640じゃ、CGIからソース覗けてしまうような。
0253169
2001/05/25(金) 17:16ID:w1zVfjY.CGIから覗かれるのを防ぐために、>>249 の案では、PHPしか実行しない
Apacheを用意(グループはPHP実行専用のグループを作る)してCGIからは
アクセス出来ないようにしてるつもり。でも、だめかな
0254名無しさん@お腹いっぱい。
2001/05/25(金) 17:27ID:???CGIアップ用 USER:hogehoge GROUP:ftpuser
PHPアップ用 USER:hogehoge2 GROUP:phpuser
ってな感じでアカウント分けるの?
0255169
2001/05/25(金) 17:49ID:w1zVfjY.だいたいそうです。
でも、ユーザーわけると面倒なので、GROUPだけphpuserとかにします。
でも一般ユーザーは、chown hogehoge:phpuser herohero.php なんて
できないので、このchwonの処理だけは、なんか機構を用意します。
拡張子が、phpのファイルだけグループをphpuserにするスクリプトを
用意しておいて、誰でも実行出来るようにしとけばいいとおもいます。
phpのソースをアップロードしたのち、最初の一回は、このスクリプト
実行しないといけないので、ちょっと面倒ですけど。許容範囲かなと
0256antique
2001/05/25(金) 18:03ID:???俺の案。久しぶりに頭使ってみた。
データベースのパスワード等覗かれたくないモノは、別ファイルにPHPで作成&書き出して、
パーミッションは600にする。
PHPで書き出したファイルは nobody ( or www等 ) が所有者なので、suexecでユーザ権限で
CGIを動かす場合、CGIからは覗けない。
他のユーザのPHPからは safe_mode その他の設定で覗けない。
例
setting.php
--------------------------------
<?php
$fp = fopen ("./setting.dat", "w");
fputs ($fp, "password");
fclose ($fp);
chmod ("./setting.dat", 0600);
echo 'make password file';
?>
--------------------------------
dbaccess.php
---------------------------------
<?php
$fp = fopen ("./setting.dat", "r");
$dbpasswd = fgets($fp, 4096);
fclose ($fp);
・
(その他の処理)
・
?>
---------------------------------
もち書き出しが終わったら、setting.phpは削除。これをCGIで覗かれたら元も子もない。
って勢いで書いたけどダメだったらスマソ。ってかこれって前出てたっけ???
# やっぱ究極的にはユーザ側の責任でって事で。
## 初期設定じゃ対処のしようも無いので、対処できるようにして、案を考えるトコまでで私は逃げます(爆
0257169
2001/05/25(金) 19:44ID:w1zVfjY.antiqueさんの案なら、apache1個ですみますね。なるほどー
あとはsuExecの使用を徹底してもらえばいいのか。
うーん、シンプルですばらしい
0258電動ナナシ
2001/05/25(金) 23:24ID:???http://penguin.epfl.ch/chroot.html
ただ一般のレンタルサーバー屋ではここまでやってくれないだろうけど。
0259antique
2001/05/26(土) 06:24ID:???たしかtripodとか先日お亡くなりになった(笑)Datablocksは
chrootしてCGI実行してましたね。
0260初期不良
2001/05/26(土) 12:52ID:eKGwZyuIperl の path とか sendmail の path とかは
/usr/local とかにリンクを張っておくのか...
/usr/bin も欲しいか。
/usr だと home に入れちゃってだめやね(笑)
あと、良くやってそうなのが docroot のリンクとか。
他にもリンクが無いか気をつけないといけないのか...
0261初期不良
2001/05/26(土) 12:54ID:eKGwZyuIsuEXEC してあれば制限するのは PHP だけで良かったのか。
気づかなかった...
0262名無しさん@お腹いっぱい。
2001/05/27(日) 17:47ID:TXkcwEzY以下のスクリプトを試すと
1 1 ほげ ほげ
2 2 ほげほげ ほげほげ
と2重(?)に表示されてしまうのですが、どこが間違っているのでしょうか?
宜しくお願いします。
<?php
$hostname = 'localhost';
if(!$my_con = @mysql_connect($hostname, 'user', 'password')) {
echo "$hostname との接続に失敗しました。。。";
exit;
}
$row = mysql_select_db('mydb', $my_con);
if(!$result = mysql_query('SELECT * FROM mytable')) {
echo '失敗 コード = ' . mysql_errno() . '<br />';
exit;
}
while($row = mysql_fetch_array($result)) {
echo implode($row, "\t") . "\n";
}
mysql_free_result($result);
if(!@mysql_close($my_con)) {
echo "$hostname との接続に失敗しました。。。";
}
?>
0263電動ナナシ
2001/05/27(日) 21:46ID:???echo implode($row, "\t") . "\n";
}
のところを
while($row = mysql_fetch_array($result)) {
while (list($key, $val) = each($row)) {
echo "\t[" . $key . "]->[" . $val . "]<br>\r";
}
echo implode($row, "\t") . "\n";
}
に変えてみれば原因は一目瞭然。
0264名無しさん@お腹いっぱい。
2001/05/29(火) 01:29ID:eaIIwdBEセキュリティ的に気おつける事ってありますか?
PHPって自動的に変数に代入してくれるから、
POST専用に作ってもGETで使えちゃいますよね?
0265名無しさん@お腹いっぱい。
2001/05/29(火) 02:44ID:9gKnzQrgecho "エラー";
exit;
}
とか
0266Pマン
2001/05/29(火) 12:09ID:Jge7ct1.後リロードボタンを押した時に2重投稿にならないようにするとか。
PHPの場合文字化けに注意とか。
stripslash 関数参照の事。
0267名無しさん@お腹いっぱい。
2001/05/29(火) 13:44ID:kzVptbgoこの変数って詐称することこできないよね?
>$HTTP_POST_VARS しか使わないとか。
gpc_orderで設定するの??
他のスクリプトでGETとか使うつもりなのでソレは困るなぁ。
あと、PHP自体SAFE MODEで実行すべき?
0268Pマン
2001/05/29(火) 14:51ID:Jge7ct1.わざわざ gpc_order しなくても直接 $HTTP_ほにゃらら変数読めば
いいわけだし、グローバルに入ってるのが POST か GET かわからない
場合には 直接 $HTTP_ほにゃらら見れば確実って事。
それかいっその事 gpc_order で何も設定しないようにして自前で
$HTTP_ほにゃらら変数から取り込むようにするといいかも。
ついでに勝手にくっついてくる \ 記号を取り除いたり必要であれば
文字コード変換も色々やっといたら後々楽ちんかも。 PHP4では
かなり重要っぽかったりして。
0269名無しさん@お腹いっぱい。
2001/05/29(火) 23:07ID:kzVptbgo$HTTP_POST_VARS[〜]みたいにすると
詐称できちゃうわない?
0270Pマン
2001/05/29(火) 23:45ID:Jge7ct1.うーん、ちょっと別な手を考えてみよう・・・。
そんじゃクエリ文字列チェックして変数いじってるようなら
スクリプトの実行を停止させるってのはどお?
0271名無しさん@お腹いっぱい。
2001/05/30(水) 00:31ID:nB9P6vf6http://www.geocities.co.jp/SiliconValley-SanJose/3026/docs/php3015.html
0272Pマン
2001/05/30(水) 01:23ID:owRJ.xHAなるほど、こんな手がありましたか。
ありがとうございます。
0273名無しさん@お腹いっぱい。
2001/05/30(水) 01:30ID:1PS1i.dU今、ちょっと試した限りでは詐称はできないみたいだけど。
269の俺の書き込みミスタイプがあるな。鬱だ。
0274PHP初心者
2001/05/30(水) 07:01ID:MEv63GowPHPで読み書きしたいのですが可能でしょうか?
具体的には、Perlで以下の方法でfilenameというファイルを作成しました。
tie %DATA,DB_File,"filename", O_RDWR | O_CREAT, 0644;
$DATA{"key"} = "value";
untie %DATA;
これをPHP上で読み込むにはdbmopenかdba_openを使えば良いのでしょうか?
dbmopenで読み込もうとしたらエラーになり、dba_openは命令そのものが
使えませんでした(トクトクのサーバ上で実験した結果ですが・・・)
うまく引き継ぐ方法があったら教えてください。
0275名無しさん@お腹いっぱい。
2001/05/30(水) 11:51ID:???CSVをPHP用のDBにするようなコードをPHPで書く。
移植完了。
で、いいんじゃない?
「共有」だったらいろいろ考えなきゃいけないかもしれないけど。
0276名無しさん@お腹いっぱい。
2001/05/30(水) 16:59ID:DHWjkFvM同時に変更or更新する方法をご存知の方はいませんでしょうか?
JavaScript使えば可能ですけど、端末の環境がまちまちなので
使いたくありません。
そこで、PHPで何とかできないかずっと考えているのですが・・・
0277名無しさん@お腹いっぱい。
2001/05/30(水) 17:00ID:DHWjkFvM同時に変更or更新する方法をご存知の方はいませんでしょうか?
JavaScript使えば可能ですけど、端末の環境がまちまちなので
使いたくありません。
そこで、PHPで何とかできないかずっと考えているのですが・・・
0278名無しさん@お腹いっぱい。
2001/05/30(水) 17:08ID:???0279名無しさん@お腹いっぱい。
2001/05/30(水) 17:17ID:???0280名無しさん@お腹いっぱい。
2001/05/31(木) 17:06ID:Nhe4Mlooやっと理解できました。どうも有難うございます。
なんとか出来そうですので、プログラム作成が一段落
したら試してみます。
0281名無しさん@お腹いっぱい。
2001/05/31(木) 17:07ID:Nhe4Mlooやっと理解できました。どうも有難うございます。
なんとか出来そうですので、プログラム作成が一段落
したら試してみます。
0282ネコ
2001/06/01(金) 10:55ID:pu43d4FUブラウザの種類によって、PHPが動いたり動かなかったり
することはあるのでしょうか?
というのも、現在とあるショッピングサイトの会員登録関係を
PHPで作っているのですが、ネスケ4.0だとエラーが出るのです。
IEや、同じネスケの4.7、4.75などではエラーが出ません。
PHPの動作としては、フォームに入力された文字(IDやパスワード)を
テーブルに問い合わせて、登録があればその内容を書き出すものです。
いわゆる登録内容変更ページというものです。
なにとぞご指南ください。
0283名無しさん@お腹いっぱい。
2001/06/01(金) 11:05ID:???単に「エラー」だと誰も分からないのでエラーメッセージそのものをあげれば適切なレスが返ってくる
んじゃないかな?
もちろんスクリプトファイル名などの公開がまずいんならそこだけ適当に編集してね。
0284名無しさん@お腹いっぱい。
2001/06/01(金) 11:06ID:???どのような ERROR が出ますか?
0285284
2001/06/01(金) 11:12ID:???0286274
2001/06/01(金) 11:20ID:???CSVにする方法がよくわかりませんでしたが、いったんPerlのDBをTXTで
掃き出させて、PHPのDBに取り込む方法で解決できそうです。
ヒントになりました。ありがとうございました。
0288ネコ
2001/06/01(金) 14:42ID:???こんなに早いとは思いませんでした(^^;
ええと、エラーなんですが、まずうちのプログラマーが作ってる
共通の関数がありまして
********
function oci8_logon($userid="xxx", $password="xxx", $db="xx") {
error_reporting(0);
$conn = OCILogon($userid, $password, $db);
$conn_err = OCIError();
error_reporting(7);
if (is_array($conn_err)) {
oci8_error_conn($conn_err);
return;
}
return $conn;
}
********
これを、フォームのactionで指定したHTMLで
********
$conn = oci8_logon();
if (!$conn) {
error_msg($error_msg);
exit;
}
*********
として呼び出してます。エラーというのは$error_msgで指定した
$error_msg="失敗しました。";
という単なるメッセージだったようです。
これだけで分かりますでしょうか?
HTMLも確認してみたのですが、おかしいところはないみたいなのです。
0289283
2001/06/01(金) 14:56ID:???まず確かめることはデータベースに接続できているのかどうか。
oci8_logon()で使っているIDやパスワード・データベース名が正しいか。
上記が正しいならデータベースが動いているかをチェック。
0290ネコ
2001/06/01(金) 15:37ID:???ありがとうございます。
データーベースへの接続はできているようですし、
パスワード等も合っているようです。データ−ベースも動いてます。
(他のブラウザでは問題なく動いているので)。
PHPのような言語は、ブラウザに影響されないんですよね・・?普通。
0291283
2001/06/01(金) 16:31ID:???同じHTMLでもブラウザによっては解釈(表示結果)が違ってくるのでそこにも注意すべき。
>>287で書いたのはこういう意味。正しいHTMLを書いているなら問題ないだろうけどね。
では「実際に」エラーを出している行は特定できているかな?
>>288ではDBへの接続に失敗していればerror_msg()でエラー文を出力しているようだけど、
接続がちゃんとしているならその部分でエラーになっているわけではないはず。
もしどんなエラーになっても「失敗しました」としか出てこないなら文章を変えてもらったほうがいいね。
残る可能性としては「既にブラウザ判定処理が組み込まれていて」跳ねているとか、かなあ…。
0292283
2001/06/01(金) 16:31ID:???同じHTMLでもブラウザによっては解釈(表示結果)が違ってくるのでそこにも注意すべき。
>>287で書いたのはこういう意味。正しいHTMLを書いているなら問題ないだろうけどね。
では「実際に」エラーを出している行は特定できているかな?
>>288ではDBへの接続に失敗していればerror_msg()でエラー文を出力しているようだけど、
接続がちゃんとしているならその部分でエラーになっているわけではないはず。
もしどんなエラーになっても「失敗しました」としか出てこないなら文章を変えてもらったほうがいいね。
残る可能性としては「既にブラウザ判定処理が組み込まれていて」跳ねているとか、かなあ…。
0293283
2001/06/01(金) 16:33ID:???0294電動ナナシ
2001/06/01(金) 18:04ID:???POST の内容を一度確認してみたら?
あと自分が書くなら error_reporting() を使うより、
$conn = @OCILogon($userid, $password, $db);
$conn_err = @OCIError();
とするかも。どうでもいいけど。error_reporting を使うのは、デバッグ
モードかどうかを指定できるようにして、デバッグモード有効時にのみ
エラーメッセージを HTML 中に吐き出すようにするときに使うなあ。
例えばページの先頭で
$DEBUG_MODE = 2047; // no error report if set 0
error_reporting($DEBUG_MODE);
みたいな感じで指定する。で、本番に移行するときは 0 にする。
0295PHP初心者
2001/06/01(金) 23:06ID:SVe2IKbYDBを作成しようと実験してみたところ、エラーとなります。
エラーの内容は「Fatal error: Call to undefined function: dba_open()
in /home/public_html/temp/test.php on line 2」
どこがマズイのでしょうか?このスクリプトの置いてあるフォルダ(temp)は
パーミッション777にしてあります。また、数日前にここのサポートに
質問したところ、dba_open関数はサポートしていると回答されました。
test.phpの内容
<?php
$handle = dba_open("test.db","n","db2");
dba_insert("key","vaule",$handle);
dba_close($handle);
?>
ちなみにdba_openはおろかdbmopenすら動作しない状態でした。
0296電動ナナシ
2001/06/01(金) 23:59ID:???0297名無しさん@お腹いっぱい。
2001/06/02(土) 01:49ID:???生成させて利用なんてことが出来るでしょうか?
最初にCSVファイル群を食わせておいてやると、簡単なSQLを発行して
やることが出来る、みたいな。
たとえ実現したとしても、アクセス数が増えるとサーバーに結構な負荷が
かかるでしょうか??
0298松下くん
2001/06/02(土) 02:15ID:wZoIC34odbmってPHP4からオプショソになったんじゃなかったっけ?(あいまい
0299PHP初心者(295)
2001/06/02(土) 12:19ID:sIugQgBEDB関連のライブラリが入っていないそうで、すぐには直らないそうです。
お試し期間内ですので、解約することにします。(ア●ムレンタルウェブです)
鯖も快適でサポートの回答も早かっただけに残念・・・。
いまのところ調べた限りでは、DB関連のサポートは
・millto、、、PHPver未調査 / dbmはOK、dbaはダメ / 激重でまともに使えない
・トクトク、、PHP3.0.14 / dbmはOK、dbaはダメ / 激重でまともに使えない
・●めいん屋、、、PHP4.03pl1/ dbmはOK、dbaはダメ / テレホでも快適
・ア●ム、、、、、PHP4.05 / dbm、dbaどちらもダメ / テレホでも快適
有料でもよいので、dbm,dbaどちらも使えるレンタル鯖どこかご存じありませんか?
dbaだけでも良いのですが、、、(スレちがいの質問でしょうか)
0300電動ナナシ
2001/06/02(土) 17:02ID:???入れてないと面倒かも
レンタルサーバーの話題はそれこそレンタルサーバー板でやったほうが
いいだろうね
0301PHP初心者(295)
2001/06/07(木) 09:41ID:sUHW0iBs>入れてないと面倒かも
jstringが入っているかどうかはphpinfoのどの部分を見れば分かるのでしょうか?
それとイメージ関数でgif画像を表示させてみましたが、画面の左隅に出てきてしまいます。
まん中に表示されるには、どのような方法がありますか?上記画像を表示中は、HTMLタグが
使えないので<CENTER>や<DIV ALIGN=CENTER>などでセンタリングできませんでした。
0302名無しさん@お腹いっぱい。
2001/06/07(木) 09:48ID:???Multibyte (Japanese) Support が enabledになってればOK。
下の方の質問は意味不明。
0303名無しさん
2001/06/07(木) 12:03ID:???Perlでよくある sendmail に渡して送るのとでは、どちらが
サーバへの負荷が少ないでしょうか?
今は、mail()で送ってます。1日数百回程度。
0304YO
2001/06/07(木) 15:33ID:Og9QEOH2質問です。
POSTでデータを送った場合、ブラウザで再読み込みすると、またまた
同じデータが送られてしまうんですが、どうにかなりませんか。
(掲示板、アプローダなど)
0305YO
2001/06/07(木) 15:34ID:Og9QEOH2質問です。
POSTでデータを送った場合、ブラウザで再読み込みすると、またまた
同じデータが送られてしまうんですが、どうにかなりませんか。
(掲示板、アプローダなど)
0306名無しさん@お腹いっぱい。
2001/06/07(木) 15:40ID:???書き込み処理後 Location で飛ばす。
# 2chはそうなってるけどあなたは二重書き込みしてますが(w
0307名無しさん@お腹いっぱい。
2001/06/07(木) 15:58ID:???0308YO
2001/06/07(木) 16:10ID:???カチューシャ使用なんです。
0309初期不良
2001/06/07(木) 17:02ID:v8J6N31cってできないの?どんなにいじくり倒してもうまく動いてくれない。
\\1 にはきちんと文字が取り込まれているのに...
0310松下くん
2001/06/07(木) 21:15ID:G09eKIiUmail関数はsendmailつかってるから同じダヨ
phpinfo()のsendmail_path見てね
0311PHP初心者(295)
2001/06/07(木) 21:24ID:sUHW0iBsConfigure Commandをみたところ、jstringの項目自体ありませんでした。
これがあるかどうかで、日本語表示に影響があるのでしょうか?
【Configure Commandの項目抜粋】
'./configure' '--with-apache=//home/mleber/src.he.net/
apache-1.3.6.work/apache_1.3.6' '--enable-track-vars'
'--enable-magic-quotes' '--with-mysql' '--with-gd'
'--with-ttf' '--enable-ftp' '--with-zlib'
それと、イメージ関数(GD)が説明不足でした。m(_ _)m
以下のようなスクリプトでgif画像をだしてみたのですが、
画像が左隅に寄ってしまうので、まん中にするには
どうしたらよいのか分かりません。(以下、座標は適当です)
header("Content-type: image/gif");
$im = imagecreate ($width ,$height);
$black = imagecolorallocate ($im,0,0,0);
$red = imagecolorallocate ($im,255,0,0);
$green = imagecolorallocate ($im,0,255,0);
$blue = imagecolorallocate ($im,0,0,255);
imageline($im,x1,y1,x2,y2,$red);
imagestring ($im,fontsize,x3,y3,"文字",$red);
imagestring ($im,fontsize,x4,y4,"文字",$green);
imagestring ($im,fontsize,x5,y5,"文字",$blue);
imagegif ($im);
imagedestory ($im);
0312初期不良
2001/06/08(金) 04:15ID:yNn8Dm5U自己レスだけど、後方参照と変数展開のタイミングの問題か?
後方参照は \\ と二つ打つあたりから見ても文字として
ereg が取り込んだあとに解釈しているっぽい。
それ以前に変数展開しようとするからエラーになる、と。
もしかして perl でこんなことできるのってかなりすごいこと?
%tmp = ("str" => "succeeded.");
$str = '$str succeeded.';
$str =~ s/\$([\w]+)( $tmp{\1})/$tmp{$1}$2/;
$str は "succeeded. succeeded."
どうしたら PHP で後方参照を元に変数展開できるかな。
0313初期不良
2001/06/08(金) 04:21ID:yNn8Dm5U↓
$str = ereg_replace("\\$([A-Za-z0-9_]+)", '${\\1}', $str);
もしかしてあとで変数展開してくれないかなと
期待してこうしてみたけどだめだった。
本格的にだめなのか?
0314名無しさん@お腹いっぱい。
2001/06/08(金) 13:45ID:Ec8tYdQk複数のチェックボックスがあった場合、foo[]という風に配列
で受け取れますが、複数のテキストフィールドの場合でもbar[]
という風に配列で受け取っても問題無いのでしょうか?
テストした所、一見問題なく動いているようなのですが・・・
0315名無しさん@お腹いっぱい。
2001/06/08(金) 16:51ID:Nor6.bTwとだけ書かれたURLにPOSTしてみて、渡される内容を確かめてみるといいぞ。
0316名無しさん@お腹いっぱい。
2001/06/09(土) 03:02ID:5/7kfvYw呼ばれた関数一覧を取得する方法はないのでしょうか?
function Hoge()
{
Mnu();
}
function Mnu()
{
//呼ばれた関数の取得.
Hoge , Mnu と表示.
}
0317名無しさん@お腹いっぱい。
2001/06/09(土) 03:19ID:sb0cuGDwperldoc -f caller
0318名無しさん@お腹いっぱい。
2001/06/09(土) 03:20ID:???0319電動ナナシ
2001/06/10(日) 03:02ID:???ううむ、変数の中に "\\n" を含めるとワーニングが出るなあ。
1 行増えるけど、こういう書き方もあるだろうね。
$base = array('$hoge' => "hage", '$foo' => "bar");
$str = '$foo is bar';
$pattern = "(\\\$[A-Za-z0-9]+)";
ereg($pattern, $str, $match);
$str3 = ereg_replace($pattern, $base[$match[1]], $str);
結果は "bar is bar" になる。
0320電動ナナシ
2001/06/10(日) 03:43ID:???jstring は別途組み込まないとダメだ。Google とかで php と jstring を
キーに検索してみろ。
なお、jstring がないと EUC 以外の文字コードの扱いに困難をきたすが、
コードの変換をしないとか正規表現を含む文字列関数を使わないなら別に
なくてもいい。
0322名無しさん@お腹いっぱい。
2001/06/10(日) 10:30ID:7GXX5a22$fp = fsockopen ($host, 80, $errno, $errstr, 30);
のような書き方をしているのですが、時々タイムアウトして
「Fatal error: Maximum execution time of 30 seconds in hoge.php on line 42」
とエラーメッセージが出てしまいます。
この際、用意された(?)エラーメッセージではなく
独自のエラー処理をしたいのですが、どうすれば良いでしょうか?
よろしくお願いします。
0323名無しさん@お腹いっぱい。
2001/06/10(日) 19:16ID:mZEbGQ.kif(!$fp){ echo __LINE__."行目でえらあ出ちゃった";
}else{
while(!eof.....
@でエラー抑制できます
0324初期不良
2001/06/10(日) 23:16ID:1hgwnV2Yそんな感じに見つかった数だけ再検索って事になっちゃうのかな...
どーでもいいんだが
warning ってウォーニングって読むんじゃないのか?
なんかワーニングって書く人多いが。
0325PHP初心者(295)
2001/06/11(月) 01:27ID:1Tk0xrdc>コードの変換をしないとか正規表現を含む文字列関数を使わないなら別に
>なくてもいい。
いまのところ、これが不足することによる弊害はないようですので、
大丈夫だと思います。
ところで、1つのデータベース(ファイル)に多くの人が同時に
アクセスしたら(通常の書込みファイルのように)壊れることは
あるのでしょうか?
汎用ファイルロック(flock)はデータベースには使えませんし・・・。
Perlの場合は、データベースでもダミーファイルでロックできましたが、
PHPの場合、どうやるのかわかりません。
ちなみに、ユーザーが100人くらいいて、1つのデータベースを読み書き
しています。全員が同時にアクセスはしませんが、今後のに備えて
おきたいです。よろしくお願いします。
0326名無しさん@お腹いっぱい。
2001/06/11(月) 02:47ID:GHljoYjE古・・・・
こっちだろ。
$fp = fsockopen($host, 80, $errno, $errstr, 30) or die('なんたら');
0327あなたも億万長者をめざしませんか?
2001/06/11(月) 16:52ID:p/rGLx3E0328名無しさん@お腹いっぱい。
2001/06/12(火) 00:22ID:???のですが、cronはCGI版のPHPでしか使えないのでしょうか?
0329名無しさん@お腹いっぱい。
2001/06/12(火) 00:54ID:???0330PHP初心者(325)
2001/06/12(火) 02:17ID:???perlのデータをPHPに書き直したら、上手くいきました。
0331名無しさん@お腹いっぱい。
2001/06/12(火) 07:22ID:???> wget
何を集計するんだよ?
0332名無しさん@お腹いっぱい。
2001/06/12(火) 09:29ID:???コマンドライン版PHPが嫌ならwgetとかで定期的にHTTP越しで
PHPにアクセスしろってことだろ
0333名無しさん@お腹いっぱい。
2001/06/12(火) 09:30ID:???コマンドライン版PHPが嫌ならwgetとかで定期的にHTTP越しで
PHPにアクセスしろってことだろ
0334名無しさん@お腹いっぱい。
2001/06/12(火) 09:38ID:mCD2wIA.Linuxは難しいです。教えてください。
参考書どおり./configure --with-mysql --with-apxs=/
usr/local/apache/bin/apxs と打つと
cannot find outputfile from lex
となります。アパッチと、MySQLのインストールは終わってます。
よろちく
0335YO
2001/06/12(火) 12:48ID:???DBに何を使ってるのか知りませんが、RDBMSと菜の九十九のなら、
書き込みがいくら有ろうが、DBエンジンのほうで制御されます。
参照整合性がとれないのはDBとはいえませんから。100人程度なら
なんら問題ないと思います。
0336PHP初心者(325)
2001/06/12(火) 14:12ID:???問題なさそうで、安心しました。ありがとうございます。
いま、自作のオンラインゲームで、パスワードや所持金の情報を記録するために
DBを使っております。ユーザーの所持金などが消えたら大変ですので、、、
バックアップは、まめにとっています。
DBは、簡易DB(GDBM: dbmopen命令 等)でやっています。
0337名無しさん@お腹いっぱい。
2001/06/14(木) 10:38ID:GlZ04kWoPerlで検索フォーム作るときには、EUCが基本でしたが、
どうやらそんなことお構いなしに、SJISでやってますが、問題ありますか?
Linuxのブラウザーから検索した時は、駄目でしたが、クライアントが
win系なら問題ありませんよね?そのへん教えてください。
0338名無しさん@お腹いっぱい。
2001/06/14(木) 12:01ID:???何故EUC-JP使うか分かってないだろ
0339名無しさん@お腹いっぱい。
2001/06/14(木) 13:12ID:8MasEgfI0340337
2001/06/14(木) 14:02ID:GlZ04kWoはい、>338さん
1.SQLではSJISでも問題が起こらないか。
2.なぜLinuxのブラウザーではおかしくなるのか。
教えてください。
0341名無しさん@お腹いっぱい。
2001/06/14(木) 14:53ID:???>はい、>338さん
なんか偉そうだな。
>1.SQLではSJISでも問題が起こらないか
MySQLは使用する文字コードの設定できるだろ。
基本中の基本だと思うがね。
>2.なぜLinuxのブラウザーではおかしくなるのか。
Linuxで使えるブラウザが何種類あるか知ってますか?
なんというブラウザでどんな現象が起こるかくらい書けや。
質問の仕方から勉強しなおせ。
0342名無しさん@お腹いっぱい。
2001/06/14(木) 14:52ID:???>はい、>338さん
なんか偉そうだな。
>1.SQLではSJISでも問題が起こらないか
MySQLは使用する文字コードの設定できるだろ。
基本中の基本だと思うがね。
>2.なぜLinuxのブラウザーではおかしくなるのか。
Linuxで使えるブラウザが何種類あるか知ってますか?
なんというブラウザでどんな現象が起こるかくらい書けや。
質問の仕方から勉強しなおせ。
0343名無しさん@お腹いっぱい。
2001/06/14(木) 16:22ID:qoE/XP/M0344名無しさん@お腹いっぱい。
2001/06/18(月) 01:46ID:vO5h5Je.自己レスだけど、一部 preg_replace で解決した。
http://www.php.net/manual/ja/function.preg-replace.php
これで後方参照しまくりだー
と思ったら配列とか可変変数には使えなかった...
んで一部解決ってのはグローバル変数に限っての話で、
こんなコードが書けた。
$str = '<font size="$size" color="$color">';
$size = 3;
$color = '#ccffcc';
func($str);
function func($str){
echo preg_replace("/\\$([A-Za-z0-9_]+)/e", "tmp(\\1)", $str);
}
function tmp($str){
global $$str;
return $$str;
}
結果は <font size="3" color="#ccffcc">
単にグローバル変数を使っちゃうと混乱するから、
グローバルな配列に置換用の変数をまとめておくと
使いやすいかもしれん。
それにしても tmp() ってやらなきゃいかんのはださいな...
デザイナーの人には置換されるものが見えるってのが
必要だと思うからこれは結構役に立つかも。
0345初期不良
2001/06/18(月) 02:31ID:vO5h5Je.return $GLOBALS[$str];
}
この方がいいか。
それにしても人がいないね...
0346名無しさん@お腹いっぱい。
2001/06/18(月) 21:48ID:65ECvBhUそこそこできあがった物を会社のサーバーで動かそうとしたら、
会社のサーバーにはPHP3が入っていて、あちこちで文法
エラーが出てしまいました。
foreachとか、直せるところは直したんですが、
クラス内でのクラスの書き方がよくわからないんです。
class aaa{
function aaa(){
}
function aaaput(){
echo 'test';
}
}
class bbb{
var $ccc;
function bbb(){
$ccc=new aaa;
}
function ddd(){
echo $this->$ccc->aaaput();
}
}
こういう書き方で、自分のマシンのPHP4では動いたのですが、
会社のPHP3マシンだと「 $this->$ccc->aaaput(); 」の部分で
文法エラー(?)が出ます。
クラス内で別のクラスを使用するには、どのような書き方をすれば
よいのでしょうか。
0347電動ナナシ
2001/06/18(月) 23:17ID:???0348電動ナナシ
2001/06/18(月) 23:23ID:???function bbb(){
$ccc=new aaa;
}
は
function bbb(){
$this->ccc=new aaa;
}
じゃないか?
$ccc だと関数スコープになるから、function bbb() が終了した時点で
変数の内容は破棄されるぞ。$this->ccc じゃないと保存されない。
0349346
2001/06/19(火) 01:07ID:VXxYGWVg> function bbb(){
> $this->ccc=new aaa;
> }
そのとおりです。誤記です。
>>347
私もそう書くのが正しいと思っていたのですが、
PHP3でも4でもエラーになってしまいました。
// 2chぽい掲示板はだいぶ良くなってきました・・・。
0350電動ナナシ
2001/06/19(火) 09:59ID:???$temp->aaaput();
じゃあだめかな。
# もう自分のまわりから PHP3 な環境は死滅した・・・。
0351346
2001/06/19(火) 13:01ID:Hz69Pzw.なりましたが、変更ができないですね。
でもこれで一歩前進。
PHP3でもなんとか動くようになりました。
0352電動ナナシ
2001/06/19(火) 13:09ID:???$temp = $this->ccc;
$temp->setAttribute("hogehoge");
$this->ccc = $temp;
で十分だろ?
特に PHP の場合、あるオブジェクトに対して同時に複数プロセスから
アクセスされることはないのだから。
0353346
2001/06/19(火) 16:02ID:Hz69Pzw.本当にありがとうございます。
しかし、これだけのために無駄な記述が増えますね。
正直言ってPHP3は変だ、と思いました。
0354電動ナナシ
2001/06/19(火) 16:54ID:???0355名無しさん@お腹いっぱい。
2001/06/19(火) 18:34ID:???ハハハ
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0356346
2001/06/20(水) 01:50ID:uEnCJcj6上司に相談します・・・。
で、連続して申し訳ないのですが、index.php?hoge=fugaの
出力内容をindex.htmlに書き出すといった処理は、どのよう
にやるのが一般的でしょうか。
私なりに考えたら、こうなってしまいました。
ob_start();
$hoge='fuga';
include 'index.php';
$buf=ob_get_contents();
ob_end_clean();
$DB=fopen('index.html',"w");
fwrite($DB,$buf,strlen($buf));
fclose($DB);
他に考えたのは、
file('http://localhost/xxxxxxxxx/index.php?hoge=fuga');で
読み出して書き出すとか・・・・・・。
0357電動ナナシ
2001/06/20(水) 14:35ID:???作って使うのがいいんじゃないの?
参考 URL
http://www.faqts.com/knowledge_base/view.phtml/aid/3510
要するに、
system("/usr/local/bin/php -q /path/to/index.php '&hoge=fuga' > index.html");
とすればいいんじゃないかな。
index.php からは $HTTP_GET_VARS["hoge"] で参照できる。
余計なプロセスが一つ立ち上がるから忙しいサーバーでは難しいかも。
ロックをどうするかという問題もあるしね。
0358ヤスミン
2001/06/21(木) 02:13ID:???ヤスミンどこに質問したらいいのかわかんないので
ここでしつもんしま〜す。
え〜と
<form action="・・・" method="post">
<form action="・・・" method="get">
の違いって・・・
データベースに日本語のデータを格納するときに
<form action="・・・" method="post">
で
データベースからデータを取り出すときに
<form action="・・・" method="get">
でいいの?
ヤスミンってドキュソな人だからW3Cのドキュメント見ても
よくわかんなかったです。
教えて、とってもやさしい2chの皆様&heart;
0359名無しさん@お腹いっぱい。
2001/06/21(木) 09:07ID:CwIMdjnQget:変数リストをURLの末尾にくっつけて送る(http//〜?foo=bar&...)
post:変数リストを標準入力経由で渡す
0360名無しさん@お腹いっぱい。
2001/06/21(木) 09:10ID:CwIMdjnQデータベースへのデータの受け渡しは全く別の
問題ですよ。
0361名無しさん@お腹いっぱい。
2001/06/21(木) 13:21ID:Xtwu7Ct.post: if($REQUEST_METHOD != "POST") がなかったらgetと同じ
0362へのへのもへじ
2001/06/21(木) 13:53ID:Q3kgaj.2超初心者ですがよろしくおねがいします。
環境は
Linuxディストリビュージョン:Kondara 2.0
Apache:1.3.12
PHP:php-3.0.18(国際化版)
です。
さて質問ですが、PHPで画像の変換JPG→PNGやサイズの変更は
できるようですが、元データJPG→PNGで携帯で見ようとすると
ezwebの場合見れません。(もちろんi-modeはGIFなので×)
J-skyだと見れるのですが・・・。なぜでしょう・・・。
それと、文字や画像を指定の位置に表示させる方法はどうすれ
ばいいのですか?(表示開始座標の指定方法とか・・・)
よろしくおねがいします。
0363名無しさん@お腹いっぱい。
2001/06/21(木) 14:36ID:CZuz.1cs現在PHP4を使用していますが、文字コードにEUCを使用している限りに
おいては、正規表現関数などによる文字列操作で文字化けは発生しない
という認識は正しいでしょうか?
0364名無しさん@お腹いっぱい。
2001/06/21(木) 16:38ID:CwIMdjnQうまく動いている方、いますでしょうか?
0365レタペパ
2001/06/21(木) 20:18ID:Nd76xGdUひらがな以外が入力されたときにエラーを出すのは何が一番
効率がよいのでしょうか?
日本語関数を使えば簡単に出来る物と思っていましたが、
マニュアルを見てもそれらしきものを見つけられません。
もしないのなら正規表現を使うのか。
Rubyなら一発で出来るよ、と聞いたのでなおさら気に
なります。
0366初期不良
2001/06/21(木) 21:24ID:ujECfFiwphp4+mbregex で mbereg() をテストしてみた。
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/php-book/supplement.html#mbregex
if(mbereg('[^あ-ん]', $str)){
echo "ひらがなだけを使ってください\n";
}
とかできるよ。ちなみに Ruby の正規表現エンジンらしい。
0367名無しさん@お腹いっぱい。
2001/06/21(木) 23:27ID:???<b>Fatal error</b>: Maximun execution time of 30
seconds in <b>test.php</b>
と出ます。
$fp = fsockopen($host, 80, $errno, $errstr, 30);
と書いているのですが、この30秒のことでしょうか?
また、このようなエラーではなく「接続失敗」
という感じで表示させたいのですが、どうすればいいでしょう?
#www.shoeisha.com に繋がらないのは現時点でのものです。
0368名無しさん@お腹いっぱい。
2001/06/22(金) 00:00ID:D.i2sKVg0369名無しさん@お腹いっぱい。
2001/06/22(金) 02:56ID:sUtzd/WEタイムアウトになるって現象、確認した人居ますか?
0370名無しさん@お腹いっぱい。
2001/06/22(金) 10:01ID:???./configure: lex: command not foundで止まります。
解決方法を教えていただければ・・・。
0371antique
2001/06/22(金) 10:10ID:???lex若しくはflexをいれませう。
http://www.yynet.tama.tokyo.jp/~yokota/INSTALL/Flex/
0372名無しさん@お腹いっぱい。
2001/06/22(金) 10:32ID:yk00SzmE間違ってるとか・・・
0373名無しさん@お腹いっぱい。
2001/06/22(金) 11:14ID:???ありがと。でもflexのコンパイルにyaccがねえとか
いわれた。Linuxはどうなってんだか、やれやれ。
0374antique
2001/06/22(金) 12:00ID:???ほい
http://www.anna.iwate-pu.ac.jp/~kojima/EWS/ews-gnu.html#bison-1.25
0375名無しさん@お腹いっぱい。
2001/06/22(金) 12:22ID:rSWbAQtMgetdate( time() )ってやって日付時刻を取得すると、
アメリカ時間(時差13時間)が返ってくるんです(当然だけど)。
これを日本語時間にするにはどうすればいいんでしょう?
0376antique
2001/06/22(金) 12:29ID:???0377名無しさん@お腹いっぱい。
2001/06/22(金) 14:24ID:???ありがたぅ。
なんとかインストール成功しました。
0378363
2001/06/22(金) 15:22ID:rt3YCcj2検索してみてもどのサイトにもはっきりとは書いてないんですー。
現在PHP4を使用していますが、文字コードにEUCを使用している限りに
おいては、正規表現関数などによる文字列操作で文字化けは発生しない
という認識は正しいでしょうか?
0379名無しさん@お腹いっぱい。
2001/06/22(金) 15:42ID:ImTslAWIjstringとmbregex使えば心配いらないんじゃない?
EUCで文字化けって聞かないけど、SJISの2バイト目がASCIIとかぶる事ぐらいでしょ?
あとはブラウザの問題
0380電動ナナシ
2001/06/22(金) 15:50ID:???実際に化ける事例が PHP-jp の 11443, 11447 に出ているので参照する
ことをお勧めする。
0382363
2001/06/22(金) 16:41ID:rt3YCcj2ML確認しました。確かに化けます。
実は、preg_match_allを使用したいんですけど、mberegでは無理ですよね。
なんとか上手い方法はないでしょうか?
0383名無しさん@お腹いっぱい。
2001/06/22(金) 16:52ID:???なんかイイ案ないの?
0384???^?y?p
2001/06/22(金) 20:49ID:MEheHncoばっちりうまくいきました、ありがとうございます。
0385眠い。
2001/06/22(金) 21:35ID:MEheHncoPHP4では問題なく日本語が入るのにPHP3国際化版
で使うと、例えば"あいう"が勝手に"シスシオシヌシニ"に
なってしまうのです。もちろん"charset"はeuc-jp
にしてあるのですが。
どうすれば文字化けしないようになるのでしょうか?
0386名無しさん@お腹いっぱい。
2001/06/22(金) 21:53ID:QfivNl3kPHP を覚えようと思って WIndowsNT4.0 に Apache、PHP4、MySQL を
入れてます。で、今は入出力時の SJIS <-> EUC 変換に
jcode.php を使ってるのですが、PHP4.0.6 で jstring が組み込まれる
んだったら jstring を使いたいな〜と。。。
0387名無しさん@お腹いっぱい。
2001/06/22(金) 22:00ID:???やってみれば?
0388386
2001/06/22(金) 22:34ID:???いえ、既に出来ませんでした〜。
jstring を組み込めなかったので jcode 使ってます。
いろいろサイト探索したんですけど情報が無くて。。。
jstring の Windows 用バイナリなんか無いですよね。
てか、やってる人いるのかな〜。
0390386
2001/06/22(金) 22:56ID:???ちょとスッキリしました〜。
4.0.6 に期待!
ところで下1桁のバージョンアップの間隔って短いですか〜?
あ、いや、いつ出るのかなと。
昨日からPHP勉強始めたのでピンとこなくて
1年先とか、そんなんじゃないですよね。。。
それとバカな質問かもしれませんが海外のサーバって
jstring は組み込まれてないと考えた方が良い?
逆に国内はほとんど組み込まれてるとか。。。
0391ねたろ
2001/06/23(土) 00:04ID:I6yaTfIE4.0.4から4.0.5は半年
0392名無しさん@お腹いっぱい。
2001/06/23(土) 00:13ID:???0393antique
2001/06/23(土) 00:19ID:???つか記事は既にPHP4.0.6が有るかのような書き方だし。
待ちきれないなら
http://snaps.php.net:8000/
0394Error401
2001/06/23(土) 21:56ID:WcK6Rl5Yhttp://jp2.php.net/
うーむ、これからApache 1.3.20 + SSL + PHP 4.0.5をサーバにインストール
しようとしてたんだが・・・。
0395名無しさん@お腹いっぱい。
2001/06/23(土) 21:56ID:???アクセスカウンタをIPアドレスの重複があったら数えないようにしたい(リロードを無効にしたい)の
ですが、何故かローカルアドレス(127.0.0.1)しか表示されません。
解決策はありませんか?教えてください。
0396名無しさん@お腹いっぱい。
2001/06/23(土) 22:47ID:???0397名無しさん@お腹いっぱい。
2001/06/23(土) 23:01ID:tHZzk4jg以前掲示版に投稿があったときに lynxをexecしてhtmlファイルを生成していたのですが、ヴァーチャルホストのレンタル鯖に移転したのでlynxが使えなくなりました。
ちなみにphpのコマンドライン版も使用不可でした。
他にいい手はありますか
0398名無しさん@お腹いっぱい。
2001/06/23(土) 23:47ID:???Change Logみたが、 jstring組み込みは見送られたようですな。
0399電動ナナシ
2001/06/24(日) 00:08ID:???ここはいっちょ perl と連携するしかないね。
index.html 相当の PHP ページを呼び出して保存するスクリプトを利用するとか。
Socket 叩いて localhost の port80 開いて読み出した内容をそのまんま
ファイルに保存するという手段もあるだろうけど。
0400Error401
2001/06/24(日) 00:12ID:Ey7Cmqacちょこっと試したらApacheは起動しないわ、PostgreSQLには津ながらないわで、
じっくり検証する必要がありそうな予感です。
0401電動ナナシ
2001/06/24(日) 00:13ID:???> Added Japanese multibyte string functions support. (Rui)
というのがあるし、PHP-4.0.6 のソースには mbstring というモジュールが
追加されている。多分これが jstring に相当するんじゃないのかな。
Windows 環境での jstring サポートだけ php-4.0.7 までおあずけって
ことみたいだね。
0402電動ナナシ
2001/06/24(日) 00:16ID:???Apache for Win32 1.3.20 な環境で PostgreSQL 7.1 への接続に成功。
Linux 環境では明日か明後日に評価予定。
そっちはどんな環境?
0403395
2001/06/24(日) 00:18ID:???$filename = "foo";
$file = fopen($filename,"r+");
$count = fgets($file,64);
$lastIP = fgets($file,256);
$IP = getenv("REMOTE_ADDR");
$count = chop($count);
if($lastIP != $IP)
$count = $count + 1;
print("$count");
print("<br>lastIP=$lastIP");
print("<br>IP=$IP");
ftruncate($file,0);
rewind($file);
fwrite($file, $count);
fwrite($file, "\n");
fwrite($file, $IP);
fclose($file);
このスクリプトで、IPアドレスがローカルしか表示されません。
ブラウザの問題でしょうか…?
0404Error401
2001/06/24(日) 00:40ID:Ey7CmqacTurboLinux Server 6.1
Apache 1.3.20
openssl 0.9.6a
Apache-SSL 1.44 (Apache 1.3.19用)
PostgreSQL 7.1.2
です。
./configure --with-pgsql=/usr/local/pgsql --with-apxs=/usr/local/apache/bin/apxs
--with-openssl=/usr/local/ssl --enable-mbstring --enable-mbstr-enc-trans
とやったらApacheは起動するがPostgreSQLにはPEARで繋がらず。
--with-oci8を加えると、Apacheも起動せず。
まぁ、テスト用のごちゃごちゃの環境なのであまり気にしないでください。
今OSからクリーンインストール中(ってWindowsみたいだな(笑)
0405名無しさん@お腹いっぱい。
2001/06/24(日) 02:03ID:.r4D07rIF2sなんちゃう?F2sならHTTP_X_FORWARDED_FORだよ
0406Error401
2001/06/24(日) 08:31ID:Ey7Cmqacさっそく、PostgreSQLへの接続を試してみる。コードはこれ。
$db = DB::connect("pgsql://localhost/test");
・・・繋がらない・・・
FATAL 1: user "password=" does not exist
というエラーが発生していることに気づく。
うぬ、DSNが悪いのか?と思い修正してみる。
$db = DB::connect("pgsql://nobody@localhost/test");
・・・繋がった。
PHP4.0.5ではhttpdを動かしているユーザで接続しに行ってるようだ。
うーむ、これは仕様変更なんでしょうか?
それとも、どこかに設定があるのかなぁ?
しかし眠いので家に帰ったりする。
0407Error401
2001/06/24(日) 08:48ID:Ey7CmqacDB.phpのparseDSNで
$parsed = array(
...
'username' => false,
...
);
とやり、pgsql.phpで
if (isset($dsninfo['username'])) {
$connstr .= ' user=' . $dsninfo['username']; // (*)
}
としている。
実験すると(マニュアル見ろよ)、isset()は対象の値がfalseでもtrueになる
らしい。だから(*)は必ず実行されてしまう。
・・・ということでした。
0408Error401
2001/06/24(日) 08:55ID:Ey7Cmqacisset()は変数の存在チェック。
empty()は変数がセットされているかどうかのチェック。
<?php
$a = false;
echo isset($a);
echo empty($a);
?>
結果は「11」。
ということは、
if (isset($dsninfo['username'])) {
は、
if (!empty($dsninfo['username'])) {
とすればいいね。
うーむ、こういうちょっとした所に時間を取られるから、PEARって敬遠されるのかも。
じゃ、帰る。
0409Error401
2001/06/24(日) 09:03ID:Ey7Cmqac件の個所はisset()のままだ。
うーむ、俺の使い方が悪いのか、設定が悪いのか、それともバグなのか・・・。
0410名無しさん@お腹いっぱい。
2001/06/24(日) 10:48ID:YuSz4H3E<?php
echo $hoge;
?>
・・・とだけ書いたものを
http://localhost/hoge.php?hoge=fuga
として実行しても、$hogeに値が入りません。
(ブラウザに、なんにも表示されない。)
「echo $hoge;」を「phpinfo();」として、実行してみると
QUERY_STRING とか HTTP_GET_VARS["hoge"] などに、値は入ってます。
原因に心当たりのある方は、教えてください。
>>369
自分のとこだと、DB関係なくても、そうなることがあります。
0411名無しさん@お腹いっぱい。
2001/06/24(日) 13:24ID:bWNntLFoタイムアウトになるって現象、確認した人居ますか?
0412電動ナナシ
2001/06/24(日) 16:09ID:???php.ini で Register_Globals が Off になっているから。
>>411
確認したことはない(バグで無限ループを作ってしまった場合くらい?)。
どんなスクリプトで発生するのか分からない以上コメントのしようがない
と思うのだが。
0413電動ナナシ
2001/06/24(日) 16:20ID:???本当だ。oci8.php や mysql.php を見る限り、
if ($dsninfo['username']) {
// hogehoge
} else {
// セットされて無いぞゴラァ
}
という風にするつもりだったようだね。
0416410
2001/06/24(日) 22:56ID:KyxruLvYありがとうございます〜! うまくいきました。
以前に、http://www.php4win.de/ にあったインストーラーを使うと
register_globals は、デフォルトが Off になっていたのでした。
本などには、さも当然のように、「項目名と同名の変数に値が入る。」って書いてあるので
まさか、設定が存在するとは、気づきませんでした。
0417名無しさん@お腹いっぱい。
2001/06/25(月) 00:33ID:f4nW7jKgどのような正規表現になるのでしょうか?
0418名無しさん@お腹いっぱい。
2001/06/25(月) 02:32ID:???http://127.0.0.1/2.php
http://127.0.0.1/3.php
がありまして、1.htmlには、2.phpへのリンクが張ってあります。
まず、そのリンクをクリック。
2.phpは、
<?
header("Location: http://127.0.0.1/3.php");
?>
これだけです。
そして、3.phpで、よくあるアクセス解析をします。
この時、HTTP_REFERER にはhttp://127.0.0.1/1.html
が入るのですが、http://127.0.0.1/2.php が入るように
する方法はないものでしょうか?
HTTP_REFERER を偽造したいわけではなく、素直に直前のものが入るように
したいだけなのですが。
0419名無しさん@お腹いっぱい。
2001/06/25(月) 06:05ID:NUpNurAIレスありがとうございます。下のようにやったら出来ました。
// opens bbs file thru 80
$fp = fopen("http://hoge.com/bbs.php3?bbs=1","r");
// opens and locks destination file
$dfp = fopen("./data/1.html","w");
flock($dfp,"2");
// puts on new file line by line
while (!feof($fp)) {
$buffer = fgets($fp, 4096);
fputs($dfp,$buffer);
}
// unlocks and closes files
flock($dfp,"3");
fclose($fp);
fclose($dfp);
0420名無しさん@お腹いっぱい。
2001/06/25(月) 06:36ID:8zsiOQoQ全く試してないからアレだけど…
Locationで飛ばさないで、HTMLの Refreshあたりで飛ばすのはどう?
0421名無しさん@お腹いっぱい。
2001/06/25(月) 08:45ID:???それは HTTP_REFERER を「無効にする」技として使われてる。
ブラウザにもよるんだろうが、大抵は HTTP_REFERER を
空にするらしい。
0422Error401
2001/06/25(月) 10:58ID:lAmDpIkw自己レス。
> --with-oci8を加えると、Apacheも起動せず。
これは、Apacheをconfigureするときに、-lpthreadをつけてなかったためでした。
Web+DB PRESSを読んでて思い出しました。あぁ、最近記憶力が・・・。
ところで、PHP4.0.6にしたら、phpinfo()で表示されるはずのPHPのロゴ画像が
表示されなくなったんですけど、みなさんの所はどうですか?
関係あるかどうかわかりませんが、いじったphp.iniの項目を書きます。
output_handler = mb_output_handler;
mbstring.detect_order = AUTO
mbstring.internal_encoding = EUC-JP
mbstring.http_output = EUC
mbstring.http_input = AUTO
configureは以下のオプションをつけて実行。
./configure
--with-pgsql=/usr/local/pgsql
-with-apxs=/usr/local/apache/bin/apxs
--with-openssl=/usr/local/ssl
--enable-mbstring
--enable-mbstr-euc-trans
--with-oracle=/u01/app/oracle/product/8.1.6
--with-oci8=/u01/app/oracle/product/8.1.6
--enable-trans-sid
--enable-sigchild
0423418
2001/06/25(月) 13:31ID:???Refreshで試してみましたが、421さんの言われるとおり
HTTP_REFERER は空になりました。
無理なんでしょうかね
0424電動ナナシ
2001/06/25(月) 14:16ID:???output_handler = mb_output_handler;
これを有効にするとロゴがだめになるね。バイナリとテキストを区別せずに
変換してしまっているとかかな?
0425名無しさん@お腹いっぱい。
2001/06/25(月) 14:44ID:???1.htmlのリンクからきた人だけ別処理するしかないんじゃないか?
0426Error401
2001/06/25(月) 16:28ID:???> output_handler = mb_output_handler;
うぬ、これが原因だったのか。うーむ。
0427Error401
2001/06/25(月) 17:23ID:???PHP4.0.6+mbregexをインストールしてみました。
phpinfo()してみると・・・ロゴが表示されてる。謎だ・・・。
0428名無しさん@お腹いっぱい。
2001/06/25(月) 22:27ID:???それって、遅くないですか。
めがびみたいに、変数に全部つっこんで、書き出す方がよくないですか。
0429名無しさん@お腹いっぱい。
2001/06/26(火) 04:05ID:Rztmdmp6もっとも単純化したサンプルでテストしても、
送られてこないんだけど…。
もし成功者がいたら、ソースキボン。
# phpinfoで見ると、sendmailパスは入ってるんだけど…
# あれが嘘?
0430名無しさん@お腹いっぱい。
2001/06/26(火) 05:41ID:???mail( "***@********", "subjectsubject", "ascii_only\nascii_only\nascii_only\n", "From: [email protected]\nReply-to: [email protected]\nX-Mailer: PHP/".phpversion() );
echo "<html><body>\nOK!<br>\n</body></html>\n";
?>
このコードで送れないって事は、ダメなんだろうなぁ。
まぁ良いけど…。
0431名無しさん@お腹いっぱい。
2001/06/26(火) 16:38ID:???>ぼくとしては、Apache+perlとか、Apache+rubyはアプリケーションサーバーにな
>りうると思います。
>そのとき、上記のサイボウズOfficeの例だと、システムの中で、cbof40ja.exeを
>インストールしたマシンが、「アプリケーションサーバー」になります。
>Webアプリケーションシステムの中でのサーバー、つまり「アプリケーションサー
>バー」になると思います。
そうかなぁ?思いっきりはずしているような気がする・・・。
どっかに「アプリケーションサーバスレ」があったのだが、見つからない。
MLでレスすると荒れるかもしれないのでしない(藁
0432名無しさん@お腹いっぱい。
2001/06/27(水) 12:13ID:c2ANRhTsって出来ませんか?
変数のスペルミスをデバッグするのは辛いです。
0433Error401
2001/06/27(水) 12:46ID:2vjnwCDU> PHP4でPerlのuse strictみたいに、変数の宣言を強制すること
> って出来ませんか?
出来ません。
> 変数のスペルミスをデバッグするのは辛いです。
php.iniのerror_reportingでE_NOTICEを有効にしておけばある程度は防げるかと。
0434名無しさん@お腹いっぱい。
2001/06/27(水) 22:01ID:0dBIrHQE<?php
exec("tar xf abc.tar");
?>
このような処理を行いたいのですが、ファイルが展開されません。
なぜでしょうか?
abc.tar と そのディレクトリは、 nobody権限にしております。
よろしくお願いします。
0435
2001/06/27(水) 23:48ID:.AU9Z/rA0436名無しさん@お腹いっぱい。
2001/06/27(水) 23:56ID:TXkcwEzYマニュアルによると
int connection_timeout(void);
とのことですが、具体的にはどう使うのでしょうか?
宜しくお願いします。
0437電動ナナシ
2001/06/28(木) 03:07ID:???PHP 4.0.5 から廃止されたみたいだし気にしなくていいんじゃない?
きちんとした説明がほしければこちら。
http://www.php.net/manual/en/features.connection-handling.php
ちなみに
> スクリプトを終了させるためにクライアントとの接続を切断するかどうかを
> 決めることが出来ます
は
> クライアントの接続の切断を、スクリプトを中断させる原因として用いるか
> どうかを決めることができます。
だと思う。
0438電動ナナシ
2001/06/28(木) 03:08ID:???http://www.php.net/manual/ja/features.connection-handling.php
0439名無しさん@お腹いっぱい。
2001/06/28(木) 10:34ID:ucUrq.A6されたものってどこかにないですか?
0440名無しさん@お腹いっぱい。
2001/06/28(木) 11:12ID:???それは、無理です。
0443名無しさん@お腹いっぱい。
2001/06/29(金) 02:30ID:???flockの方法が微妙に違っている気がするのだが
0444名無しさん@お腹いっぱい。
2001/06/29(金) 09:51ID:Uk1KO0LU「処理が始まって何秒経っている」というのは分かりますでしょうか?
0445NANASISAN
2001/06/29(金) 10:24ID:???0446名無しさん@お腹いっぱい。
2001/06/29(金) 13:10ID:???$begin = time();
while (time() < ($begin + 20)) {
..........
}
0447名無しさん@お腹いっぱい。
2001/06/29(金) 14:28ID:q2Iv8qckその処理というのがPHPで記述されたループとかなら、>>446のように時間を調べれば済むけど、DBの検索とかで逝ったっきり戻って来ないのなら、調べようがないのでは。
0448名無しさん@お腹いっぱい。
2001/06/29(金) 18:34ID:oq4Ig75E4.0.6にupgradeしたくなりました。
php3のアンインストールってどうやってやるのでしょーか?
0449名無しさん@お腹いっぱい。
2001/06/29(金) 18:47ID:???「スタート」⇒「設定」⇒「コントロールパネル」⇒「アプリケーションの追加と削除」
0450448
2001/06/29(金) 18:58ID:oq4Ig75Eゴメン。OSはFreeBSD 4.2なんですわ。
0451電動ナナシ
2001/06/29(金) 20:12ID:???DSO なら /hoge/libphp3.so を削除し、httpd.conf から
AddType application/x-httpd-php3 .****
AddType application/x-httpd-php3-source .****
な行をすべて削除し、Apache 再起動。
Apache 埋め込みなら apache の再 make を行い、
AddType application/x-httpd-php3 .****
AddType application/x-httpd-php3-source .****
な行をすべてを削除し、Apache 再起動。
0452448
2001/06/30(土) 00:00ID:3K0XqkKwありがとう!
AddTypeの他にLoadModuleとAddModuleの行を消したら
apacheをgraceful出来ました。
0453名無しさん@お腹いっぱい。
2001/06/30(土) 01:08ID:dvDjOjVg値を2つ以上渡したいのですが、
どのような感じで記述するのでしょうか?
0454電動ナナシ
2001/06/30(土) 13:10ID:???system("script hoge hage");
変数を渡すなら system("script $hoge $hage");
値の個数が不定ならループをまわして空白をはさんで連結する。
0456質問
2001/07/05(木) 08:30ID:3RSnVQik導入するにはどのようにしたらよいのですか?
0457マニュアル
2001/07/05(木) 16:04ID:7LxvDI6kPDFになってるとこ、誰か知らない?
0458飛ばんな
2001/07/05(木) 16:09ID:fhMv8ZJIこんふぃぎゃ〜のときに指定しなくても自動ではいるのでしょうか?
0459名無しさん@お腹いっぱい。
2001/07/05(木) 16:44ID:9qQ4s6Dgphpinfoとかで見れるのでしょうか。
海外のホスティングサーバーで
PHPが国際化されてるかどうかを
申し込み前に確認する方法などありましたら
教えてください。
0460電動ナナシ
2001/07/05(木) 17:39ID:???Module として組み込まれているなら HTTP Header を見るという手も
あるだろう。CGI 版や 4.0.x では使えないが。
やっぱり管理者に問い合わせるしかないねえ。
普通 phpinfo() の内容をそのまま見せるような真似はしないと思うし。
0461名無しさん@お腹いっぱい。
2001/07/05(木) 18:17ID:9qQ4s6Dgどうやらここは男らしく
管理者さんにメールしてみるのが確実そうですね
海外サーバーのサービス内容には
何度か騙されたことがあったので、
実に不安なのでした
情報仕入れたらまたphp鯖スレにでも書きにきます
0462名無しさん@お腹いっぱい。
2001/07/05(木) 18:20ID:???$PHP_AUTH_PASS とかも丸見えになっちゃうし。
0463初級ぷろぐらま
2001/07/05(木) 18:38ID:vv3sbEEs注意点として、アップロードするファイルは画像のみにしたいのですが。
一応、今考えているのはフォームでpic[$i]を渡したあと
>?php
for($i=0; $pic[$i]; $i++)
if(is_uploaded_file($pic[$i]))
if($pic_type[$i] == "image/gif");
copy($pic[$i], "$file_updata_dir/image$i.gif");
echo ("<img src=\"$file_updata_dir/image$i.gif\">");
?<
のような処理なのですが、これでは扱う画像の種類を増やしたときに処理が煩雑になってしまう気がします。
ほかにうまいやり方があれば教えていただけないでしょうか。
0464初級ぷろぐらま
2001/07/05(木) 18:39ID:vv3sbEEsすいません。反省。
0465電動ナナシ
2001/07/05(木) 22:10ID:???関数を使う形で書いたが、別に Class を使ってもよい。
もし mediatype を追加する場合、"type_主タイプ_副タイプ" という関数を
追加すればよい。例えば "image/bmp" に対応するなら、"type_image_bmp()"
という関数を定義すればよい。
きちんとチェックしていないのでバグとかあるかも。
<?php
$file_updata_dir = ".";
function type_image_gif($pict, $i) {
global $file_updata_dir;
copy($pict, \"$file_updata_dir/image$i.gif\");
echo ("<img src=\"$file_updata_dir/image$i.gif\"><br>\r");
}
function type_image_jpeg($pict, $i) {
global $file_updata_dir;
copy($pict, \"$file_updata_dir/image$i.jpg\");
echo ("<img src=\"$file_updata_dir/image$i.jpg\"><br>\r");
}
// For test
$pic_type = array();
$pic_type[0] = "image/gif";
$pic_type[1] = "image/jpeg";
$pic_type[2] = "image/png";
$pic_type[3] = "text/html";
for($i=0; $pic_type[$i]; $i++) {
$funcname = "type_" . strtr($pic_type[$i], "/", "_");
if (function_exists($funcname)) {
$funcname($pic[$i], $i);
} else {
echo "Unknown file type: $pic_type[$i]<br>\r";
}
}
?>
046612
2001/07/06(金) 00:37ID:XtSdIVt6PHPで解像度を取得することは、できないのでしょうか。?
0467名無しさん@お腹いっぱい。
2001/07/06(金) 01:00ID:???copy($pic[$i], "$file_update_dir/$pic_name[$i]");
$img_type = getiimagesize("$file_updata_dir/$pic_name[$i]");
switch($img_type[2]){
case 0:
die("画像しかダメよーん");
break;
case 1:
rename("$file_updata_dir/$pic_name[$i]", "$file_updata_dir/image[$i].gif");
echo ("<img src=\"$file_updata_dir/image$i.gif\"><br>\r");
break;
case 2:
以下略
image$i.jpgとかしたら上書きされちゃうと思うんだが
0468名無しさん@お腹いっぱい。
2001/07/06(金) 01:10ID:???PHPでは無理。JavaScriptからもらうしかない
http://bizit.nikkeibp.co.jp/it/fresh/news/2001/04/02/statit.html
0469名無しさん@お腹いっぱい。
2001/07/06(金) 11:23ID:vwJLwdjI忘れてしまったさ・・・
0470電動ナナシ
2001/07/06(金) 12:38ID:???0471名無しさん@お腹いっぱい。
2001/07/06(金) 13:12ID:???0472名無しさん@お腹いっぱい。
2001/07/06(金) 14:00ID:???ものぐさしないでマニュアル見れ
http://www.php.net:8000/manual/ja/html/security.html#security.cgi
http://www.php.net:8000/manual/ja/html/install.configure.html#install.configure.enable-force-cgi-redirect
0473初級ぷろぐらま
2001/07/06(金) 16:14ID:bxX75Nccありがとうございます。
早速試してみます。
>>467
なるほど。
そういうやり方もあるんですね。
少し考えてみます。
画像の名前については、今回は$iで簡略化しましたが実際には通し番号
か取得日時をファイル名にして管理しようと考えています。
ご指摘ありがとうございました。
0474名無しさん@お腹いっぱい。
2001/07/06(金) 16:47ID:XtSdIVt6JavaScript切ってる人が多いみたいなんで
何かあるんじゃないかと思ったんですが、やっぱりダメですか。
ありがとうございました。
0475名無しさん@お腹いっぱい。
2001/07/06(金) 16:52ID:???あくまでもPHPは、サーバ側の処理でし
0476474
2001/07/06(金) 17:55ID:XtSdIVt6>サーバに解像度を送ればOK
もう少し詳しく教えていただけませんでしょうか。?
お願いします。
0477飛ばんな
2001/07/06(金) 20:57ID:T/4m6ri6やっとまともにすべてうまくいきました。
うぃ
MING・・・やってやるでぇみてろよぉがんばるぞぉ
0478名無しさん@お腹いっぱい。
2001/07/06(金) 22:09ID:???0479飛ばんな
2001/07/09(月) 15:44ID:Gvim121UことができないらしいのですがPNGを使いたい場合DBLに変換してから使えとかいてあるみたいなんですが
そもそもDBLってなんですか?変換ライブラリもみつかりません。
もっかT(;_;)Tオテアゲェー
0480飛ばんな
2001/07/09(月) 16:34ID:Gvim121Upng2dblというTOOLがMINGの中にあるのを発見
適当にコンパイル
・・・・で?・・・・(・・;)
0481名無しさん@お腹いっぱい。
2001/07/09(月) 17:07ID:V6CzbqY2拡張子phpはリンクにならないみたいですけど。
0482名無しさん@お腹いっぱい。
2001/07/09(月) 17:22ID:???0483>>476=474
2001/07/09(月) 20:26ID:???または、諦めたほうがいいと思いますよ。
0484ひで
2001/07/10(火) 01:40ID:XjbYyZYE結局自己解決しました。
png2dblはmingのオリジナルバイナリについてくるTOOLです。
utilディレクトリーにあるのでmakeします。
できたファイルを適当にコピーします。
そして
png2dbl 読み込みパス.png 書き出しパス.dbl
とします。これでdblファイルが作成されます。
あとはmingでdblファイルを読み込んでつかいましょう。
あ〜疲れた。
0485名無しさん@お腹いっぱい。
2001/07/10(火) 19:22ID:7GXX5a220486名無しさん@お腹いっぱい。
2001/07/10(火) 22:50ID:???(;´Д`)ハァ?
0487初期不良
2001/07/11(水) 01:37ID:gNdf5gQg以前こんな事やってたけど、
もしかしてさ、eval で一発?eval って初めて使ったんだけど。
だれか教えてくれてもいいじゃん(T_T)
$str に含まれる文字列 '$hoge' をその値に置換したい場合は
eval("\$str=\"$str\"");
php コードを含む HTML ファイルの body タグ内だけを持ってきたい時は
ファイル全体の文字列を $file とすると
$file = spliti("</?body[^>]*>", $file);
eval("?>$file[1]<?");
とかできるのね。
define とかも役に立つかな。
eval を使えば HTML として編集できる php コードを
つぎはぎするのが楽になりそう。
0488初期不良
2001/07/11(水) 01:54ID:???eval("\$str=\"$str\"");
は $str 内の " に注意しないとダメか。
じゃあヒアドキュメント。
eval("\$str= <<<HERE\n$str\nHERE;\n");
php のヒアドキュメントって最後に \n 必要なのね。
0489初期不良
2001/07/11(水) 02:02ID:???って perl モナー
0490名無しさん@お腹いっぱい。
2001/07/11(水) 05:25ID:???<<<HERE
hoge
hoge
hoge
HERE;
0491初期不良
2001/07/11(水) 13:51ID:gNdf5gQgん?なんすか?書いてる意味が分からない。
0492rissen-truchi
2001/07/11(水) 14:15ID:hhs/YcqIPHPからPostgresqlに接続してdbにWebからデータ($data[1〜3])を書き込み
たいんだけど、こんなんじゃ駄目なんですよね?
pg_exec("insert into テーブル名 values($data[1],$data[2],$data[3])");
3冊の本を見比べながら悩んでるんですけど、ズバリこれっていうのも
ないし(mysql接続だとそれっぽいものがあったんですけど)、ネットで
検索しても見つからないし。
ちなみに作るのはただのアンケートなのでsql使う必要もないんですけど、
PHPのみでテキストファイルにcsvで保存する方法とかもあるんでしょうか?
ああ…初心者丸出し…。
0493osiete
2001/07/11(水) 15:34ID:???パールオンリーでCGIいじってるんですけど
PHPってやっぱいいの?
あと書き方説明してるサイトとかない??
CGI→PHP変換ツールなんてないよね?あたりまえか・・
PHP・・・なにげにいいかも・・・・
0495osiete
2001/07/11(水) 15:49ID:???やっぱ本かわないといけないのかYO!
0496osiete
2001/07/11(水) 15:55ID:???ムダレススマソ。
0497名無しさん@お腹いっぱい。
2001/07/11(水) 15:55ID:ovp7jwtYhttp://www.tempest.jp/db/phonebook.html
0498名無しさん@お腹いっぱい。
2001/07/11(水) 16:11ID:IWAeimzgPerl2Php
http://www.cs.wcupa.edu/~rkline/csc417/Perl2Php/
0499osiete
2001/07/11(水) 16:24ID:???いってみます ありがとね
0500名無しさん@お腹いっぱい。
2001/07/11(水) 17:19ID:???テーブルの定義はどうなっている?
$data[n] は常に 1 から 3 までしかないのか?
テーブルに格納して、何をどう集計したいのか?
その辺がわからないことには回答のしようがない。
0501名無しさん@お腹いっぱい。
2001/07/11(水) 17:50ID:???"ABC"または"何も入ってない。"をどう表現するんでしょうか?
if (ereg("ABC|", $なんとか)){
}
print "こんな風にいろいろ試したけど駄目だった";
0502名無しさん@お腹いっぱい。
2001/07/11(水) 18:00ID:???じゃいかんの?
0503ひで
2001/07/11(水) 21:34ID:uaq5cfN6メソッドの受け取りを自動でやってくれます。
いきなり変数の状態でつかえます。
くらいかなぁちがいと言えば・・・parlのほうが自由度は高いけど
PHPのほうがつかいやすいかなぁ
0504501
2001/07/12(木) 00:46ID:???Resサンクス。
「それだと「ABC」もしくは「$honyarara」ではないとき」って
意味じゃないの?
初心者スマソ。 ||とかeregとかPerlの正規表現と微妙に
違うからちょっと困ってるのよね。
まあ、また明日試してみます。
0505ねたろ
2001/07/12(木) 01:16ID:cva8br1E0506501
2001/07/12(木) 11:16ID:???ありがとう。pregなんて俺のもってる
「プロフェッショナルPHPプログラミング」に載ってない。
ドキュンな本を買ってしまった。
0507名無しさん@お腹いっぱい。
2001/07/12(木) 15:07ID:???その本が出た当時には preg* 関数はなかったからある意味仕方が無い。
出すとしたら "Beginning PHP4" だったと思う。> Impress
0508501
2001/07/12(木) 16:27ID:???PHPのマッチングでeregもしくはpregどちらにおいても
片仮名の「ー」が含まれる単語をマッチさせようとすると
Warning: Compilation failed: missing terminating ] for character class at offset 21 in
のようなエラーが出てしまいます。
解決方法をご存じでしたら教えてください。
Server version 3.23.38-max-debugです。
0509rissen-truchi
2001/07/12(木) 18:34ID:3vreGZWsリンク先のでズバリでした。
少しいじって動作確認しました。
ありがとうございました。
>>500
アンケートの項目が51あるんで、$dataも[50]まであります。
そこまで書くのも気が引けましたので。
$data[1]から$data[50]まで並んでいて何とも見た目が
カッコ悪い事になっていますが、とりあえず今回は動けば
良いのでこのままです。
web上からの書き込みが出来たんでpgaccessでもインストール
しようと思ったら、/usr/binに既に入っていたみたいで
2重インストールの結果動作しなくなってしまいました…。
仕方ないのでデータ編集用のPHPスプリクトも書かないと…。
0510rissen-truchi
2001/07/12(木) 18:40ID:???でもgoogleでスプリクトで検索したら2800件出たよ。
0511ロックマン
2001/07/13(金) 14:11ID:6a1YxCykしなくてもOKなんでしょうか?
ログ管理用に "a" で開いてすぐに書き込んで閉じる、ような状況です
PHPだと
$a = "xxxx 1111 2222\n";
$fp = open( "log.txt", "a" );
fwrite( $fp, $a );
close( $fp );
こんなの
HTTPのログみたいな使い方なんで、ちょっとくらい壊れても平気かと(汗
0514教えて君
2001/07/13(金) 19:48ID:xp1kDj12configure のパラメータ教えてください。
あと GD の Makefile の内容も。
フォント系疎いので、FreeType1/2 とか libttf とか
T1lib とか何のこっちゃよくわかんないんです。
そのあたり書いてあるサイトでもいいです。
0515名無しさん
2001/07/14(土) 16:03ID:???と
define('hoge', aa);
では、どちらがお勧めでしょうか?
0516E_ERROR
2001/07/14(土) 19:11ID:HJGOqKR.マルチバイト文字へのPHPの対応がまだって話とちゃいます?
たしか、まだのはず。
4.0.6でもまだ全てではない筈([PHP-users 694] 参照)。
>>515
ベンチとかして見れば違いは出てきそうですけど、内部的にはどうなんでしょうね?
ソースは読めないので分かりませんが。
でも、その程度なら、可読性・分かりやすさを優先した方が良いかも。
0517教えて君
2001/07/14(土) 22:52ID:LOUm3X7Y定数という意味だけでなく、グローバルに使いたいなら断然 define()
いちいち
function
func()
{
global $hoge
}
とやらなくていいので。
そうでなければどっちゃでもいいでしょう。
ちなみに僕は必ず先頭で
define(MYSELF, $PHP_SELF);
としたりしてます。
0520516じゃないけど
2001/07/17(火) 09:24ID:???http://ns1.php.gr.jp/pipermail/php-users/2001-July/000701.html
PHP関連のメーリングリスト
http://ns1.php.gr.jp/ml.html
0521名無しさん@お腹いっぱい。
2001/07/18(水) 00:33ID:0etvM2jk0522名無しさん@お腹いっぱい。
2001/07/18(水) 23:48ID:/L71tA9s0523名無しさん@お腹いっぱい。
2001/07/19(木) 16:33ID:???ロックもけっこう気を使う必要があったような。
0524名無しさん@お腹いっぱい。
2001/07/19(木) 16:48ID:???0525523
2001/07/19(木) 17:08ID:???ttp://www.mysql.gr.jp/jpdoc/3.23/manual.ja_Reference.html#COMMIT
0526電動ナナシ
2001/07/19(木) 18:08ID:???PHP で特にすることはない。SQL 文を発行する前に "begin" して
終わったら "commit" または "rollback" を発行するだけ。
http://www.mysql.gr.jp/jpdoc/3.23/manual.ja_Reference.html#COMMIT
なお、Transaction サポートの恩恵を得るためには、テーブルを作成する
ときに TYPE=BDB か TYPE=InnoDB オプションを指定することが必要。
普通にオプションなしで作ってしまった場合には、テーブルの作り直しが
必要なので注意。
http://www.mysql.gr.jp/jpdoc/3.23/manual.ja_Reference.html#CREATE_TABLE
0527521
2001/07/20(金) 00:26ID:???精進します・・・( ´∀`)
0528わ、
2001/07/20(金) 03:37ID:O.8zSDuM0529名無しさん@お腹いっぱい。
2001/07/20(金) 19:57ID:wVCDVsI.http://www2.to/03F
http://www2.to/01F
http://www2.to/02F
http://www2.to/04F
0530ねたろ
2001/07/21(土) 01:46ID:pakIXXRA__FILE__ではだめなの?
0531名無しさん@お腹いっぱい。
2001/07/22(日) 02:51ID:omUKsDB6下のエラーがでてしまいます。
Syntax error on line 49 of /usr/local/etc/httpd/conf/httpd.conf:
Cannot load /usr/home/x31/usr/local/etc/httpd/modules/libphp4.so
into server: Shared object "libpq.so.2" not found
なお、httpd.confのphp,postgres関係は、以下のとおりです。
LoadModule php4_module /usr/home/x31/usr/local/etc/httpd/modules/libphp4.so
LoadModule php4_module modules/mod_php4-4.0.6-module-pgsql.so
LoadModule php4_module modules/mod_php4-4.0.6-module-pgsql-imap.so
LoadModule php4_module modules/mod_php4-4.0.6-module-pgsql-ftp-imap-freetype-gd.so
LoadModule php4_module modules/mod_php4-4.0.6-module-pgsql-mcrypt-freetype-gd.so
LoadModule php4_module modules/mod_php4-4.0.6-module-pgsql-mcrypt-ftp-imap-freetype-gd-xml.so
LoadModule php4_module modules/mod_php4-4.0.6-module-pgsql-mcrypt-ftp-imap.so
ClearModuleList
AddModule mod_php4.c
どしたらよいのでしょうか?
postgresは、/usr/local/pgsqlに 入っているのですが。。。
0532電動ナナシ
2001/07/22(日) 10:03ID:???LoadFile /usr/local/pgsql/lib/libpq.so
/etc/ld.so.conf に以下の行を定義し、ldconfig を実行
/usr/local/pgsql/lib
0533531
2001/07/22(日) 21:32ID:???すんまそん。
ところで、
AddModule mod_php4.c
を入れなくても、php4もpostgresも正常に動いているのですが、なぜなのでしょう?
0534名無しさん@お腹いっぱい。
2001/07/23(月) 03:42ID:xOk2bt2Uphpで組むときの、ディレクトリの構造って、どんなのにしたら便利(というか管理が楽)
なんでしょうか?
images include template config etc...。
htmlのときと大してかわらないですか?
0535教えて君
2001/07/23(月) 05:40ID:VSd5TUcMとりあえずあとでまとめて tar しやすいように近所に掘るとしても
./images ../include ../template ../config
やろ( . の数に注意)
images 以外は見えないとこに置くべし
0536名無しさん@お腹いっぱい。
2001/07/23(月) 05:55ID:???0537名無しさん@お腹いっぱい。
2001/07/23(月) 06:00ID:xOk2bt2Uみなさんは、どんなディレクトリで分けてますか?
0538名無しさん@お腹いっぱい。
2001/07/23(月) 06:23ID:???0539教えて君
2001/07/23(月) 08:53ID:VSd5TUcM最近は
./image ../inc ../ihtml
かな
0540電動ナナシ
2001/07/23(月) 09:01ID:???共通に利用するページ(エラー告知、トップページ等)は common とか
share とか作ってそこに格納。Image や Template も上記基準に従って
分類。
ASP でよくやるディレクトリの分け方にかなり近い(ASP だと上記一連の
ページの流れをアプリケーションとして定義し、アプリケーションごとに
ディレクトリを掘るという分け方をよくやる)。
一つのディレクトリの中に多数のファイルがあると、どのファイルが何に
関係しているかわかりにくくなる(その結果、修正・削除すると思わぬ
ところで意図しない障害に出くわしたりする)のでそうしている。
0542名無しさん@お腹いっぱい。
2001/07/23(月) 15:32ID:3cQ3is6oPHP-3.0.18-i18n-ja2
sybase Adaptive Server Enterprise 11.0.3
なのですが
PHPでsybaseにアクセスする時に、Apacheのエラーログに
[notice] child pid 993 exit signal Segmentation fault (11)
と吐かれるんですが、どうすれば吐かれなくなりますか?
Apacheが落ちたり等ではなく、ずっとPHPファイルを読み込みっぱなしで
表示されません。
↓のような簡単なPHPとsybaseの連携スクリプトなら大丈夫なのですが。。
+------------------------------------------------+
<?php
$conn = sybase_connect("","hoge","hogehoge");
$sel = sybase_select_db(hogedb,$conn);
$sql = "select * from hogetable";
$res = sybase_query($sql,$conn);
$obj = sybase_result($res,0,hogecolumn);
echo "$obj";
?>
+------------------------------------------------+
require等を使ってるような複雑なPHPファイルが表示されないのです。
すでに稼動しているサイトからソースをコピーして来たので
スクリプトの記述が間違っているというわけではありません。
http://www.pat.hi-ho.ne.jp/dimension/php/trouble.shtml#segment
症状等が違いますが↑を参考にしてみましたが改善されません。
よろしくお願いします…。
0543電動ナナシ
2001/07/23(月) 16:19ID:???この辺見たら?
http://www.nendai.nagoya-u.ac.jp/~kato/FreeBSD/sig11.html
http://www.numtech.co.jp/documents/LifeWithSolaris/Solaris0113.htm
0544542
2001/07/23(月) 16:25ID:3cQ3is6oありがとうございます。見てみます。
0545名無しさん@お腹いっぱい。
2001/07/23(月) 22:01ID:???/cgi-binにindexすら置いておらず丸見え
はっきり言ってアホ
0546名無しさん@お腹いっぱい。
2001/07/24(火) 10:36ID:???8kぐらい?
0547名無しさん@お腹いっぱい。
2001/07/24(火) 14:18ID:vvOEpIvw別処理をしたいのですが、"Fatal error" は戻り値などで
分かるものなのでしょうか?
それとも、必ず "Fatal error" と表示されるのでしょうか?
0548電動ナナシ
2001/07/24(火) 16:19ID:???Fatal Error が出た時点で処理を中断するから、そもそも別処理は無理。
@ や error_reporting() を使えばメッセージ表示の抑制はできるけど。
0549名無しさん@お腹いっぱい。
2001/07/25(水) 02:51ID:???> PHP4.0.6では、PHPファイルと、内部コードは、合わせないとなりません
> また、内部コードをSJISにすることはできません
> (\が2バイト目にこない文字だけつかうなら大丈夫だけど)
'PHPファイル' と '内部コード' とは何を指すのでしょうか?
また、SJIS で記述した場合はどうなるのでしょうか?
0550教えて君
2001/07/25(水) 05:06ID:/ngu5PCEWEB+DB Press Vol.3 読みなはれ
0551名無しさん@お腹いっぱい。
2001/07/25(水) 11:48ID:???例外を捕まえられるようになれば嬉しいんだけどね〜
VBやRubyでさえできるのに…
0552名無しさん@お腹いっぱい。
2001/07/26(木) 17:15ID:???\bの意味で\B使ったら上手くいったんですけど・・・。
0553Thanks
2001/07/27(金) 12:32ID:Mtq49UWA今、掲示板のような情報登録&検索システムを作ろうと思っています。
http://world.gokinjo.net/
↑こんなかんじのです。
情報を登録してもらう件数が、1000件程度なら、Perlのみで作ればいいのかなと思ってます。(=DBは使わない)
しかし、1万件以上の登録数になったら、PHP+DBでないと検索が遅くなってしまうのかなと心配しています。
今、オライリーのプログラミングPerlを17ページまで読んだだけですが、できればPerlで作りたいと思っています。
もし、PHP+DBを使う場合は、Perlに比べてどのような優位性がありますか?
よく知らないのですが、Java+DBとPHP+DBではどんな違いがありますか?
(=プログラム作成や改変の容易性、動作の速さ、コスト等)
(他の板に書いたら、板違いとのことで、ここに書かせていただきました。。。)
0554名無しさん@お腹いっぱい。
2001/07/27(金) 17:00ID:uC6ed62cPerlとPHP、Javaを比べると、PHP,Javaの方がサーバの負荷が低いです。
でもJavaはブラウザを選ぶので、不特定多数のユーザが利用するなら
PHPがお勧めです。
0555名無しさん@お腹いっぱい。
2001/07/27(金) 18:07ID:TfpoiEN6今後の拡張を考えるなら、何かしらのDBを置いておいた方が
吉かも。
言語に関しては、規模によるけど、それほど大きな規模でなければ
好みの問題になるのかな。
Perl・PHP・Javaなら、どれでもフリーで環境構築できるしね。
Perlに慣れているなら、Perl+DBで良いかと。
>>554
>でもJavaはブラウザを選ぶので
なぜ?サーバ側で動くから関係ないよね。
アプレットと勘違いしてない?
0556名無しさん@お腹いっぱい。
2001/07/28(土) 10:32ID:VMQSoJQc0557名無しさん@お腹いっぱい。
2001/07/28(土) 10:45ID:sgB6IwE.0559名無しさん@お腹いっぱい。
2001/07/29(日) 12:04ID:???はじめてCGIやるのでよく分からないんですが、
perlだとJPNICをハックした時に使われたとかいうやつが
があるじゃないですか?
それの対処法は「ユーザーからの不正な入力排除する処理ををする。」
と解釈したんですがそれはPHPでも起こるんでしょうか?
UNIXとかLINUXとかが分からないので本質的なものが理解できなくて
わからん。
0560教えて君
2001/07/29(日) 16:48ID:emkJF2AcPHP 勉強する前に
UNIXとかLINUXとか勉強しなはれ
そういうこと聞いてる時点でいくら気をつけても無駄だと思うよ
0561名無しさん@お腹いっぱい。
2001/07/29(日) 17:35ID:???0562名無しさん@お腹いっぱい。
2001/07/29(日) 19:47ID:a3gXH7sI0563名無しさん@お腹いっぱい。
2001/07/29(日) 23:10ID:qtl7W5xkセキュリティとかで気をつけるのは、
掲示板とかでGETで書き込めないようにするとか?
includeするファイル名を外部から直接渡さないとか?
http://www.securereality.com.au/studyinscarlet.txt
0564名無しさん@お腹いっぱい。
2001/07/29(日) 23:27ID:BpCjvsHMtouch index.html
0565Thanks
2001/07/30(月) 15:21ID:n55Ttkok(Interbaseが使えるレンタルサーバーがあったもので。。。)
http://www.inprise.com/devsupport/interbase/opensource/
0566名無しさん@お腹いっぱい。
2001/07/30(月) 18:29ID:???http://www.japu.org/cgi/security/
0567ドメイン名がみつかりません
2001/07/31(火) 04:06ID:fBm.6Z4YPHP=CGIということを書くと敏感に反応されるぞ。
0568名無しさん@お腹いっぱい。
2001/08/01(水) 14:57ID:???に氏名 ($name)とパスワード($password)という項目を作成した
場合、データベースに登録する前にこれら2つの項目がちゃんと
入力されているのか?、また入力されていた場合に指定の正規
表現であるのかどうかをチェックしたいと思います。
この場合、
if ($name != "") {
print ("名前がありません。");
{
elseif (名前の正規表現をチェック) {
print ("名前の入力が正しくありません。");
}
elseif ($password != "") {
print ("パスワードがありません。");
}
elseif (パスワードの正規表現をチェック) {
print ("パスワードの入力が正しくありません。");
}
みたいな処理でいいのでしょうか?。
この例のようにフォームの欄が2つならこれくらいの項目を書く
のは楽ですが、もし項目があと10、20と増えてチェックをしてい
かなければならないようば場合も同じようにスクリプトを書いて
いかなければならないものなのでしょうか?
0569名無しさん@お腹いっぱい。
2001/08/01(水) 15:13ID:XIFRUU8Iperl互換の正規表現関数でパターンと文字列に配列を使ったのをみたことあるよ。
0570教えて君
2001/08/01(水) 15:44ID:T8OlEVZkちゅーか入力項目が10も20もある時点で客は去っていくと思われ
0571電動ナナシ
2001/08/01(水) 20:46ID:8IuXT3SQモジュールに分割せよ。アプリケーションを作っていく上で、変更が入り
やすい部分(例えば認証方法とか)とそうでない部分(処理の大まかな
流れとか)とに分けるのは基本中の基本。これ以上は「アプリケーションの
設計」とかをテーマにした書籍にあたると吉。
モジュールって何かって話なら、
・チェック用関数を定義した、include 可能なファイル
・チェック関連のメソッドを保持している、include 可能な Class 定義ファイル
くらいのことだと思ってほしい。
0572名無しさん@お腹いっぱい。
2001/08/01(水) 23:54ID:???・ファイル全体を配列に読んで、それを逆にしたものを戻す
・全体を読みながら行頭アドレスを配列に保存
配列の後ろから1行読んでtmpfile()で作った所に書く
tmpfile()で作った所の先頭からファイルに書き戻す
このくらいしか思いつかないんですが、いい方法はないですか?
0573名無しさん@お腹いっぱい。
2001/08/02(木) 00:27ID:DguDE1y6禿同!
0574教えて君
2001/08/02(木) 00:52ID:B.cUN3ZE何? 掲示板とかチャットでも作ってんの? それによるんちゃうん?
0576電動ナナシ
2001/08/02(木) 02:19ID:VM7b3lbgファイルに保存するという前提なのか?
それなら、
・保存は正順、読み出しは逆順 -> 配列方式
・保存は逆順、読み出しは正順 -> tmpfile 方式
という関係になると思う。>>572 以外にもやり方はあるが、基本的には
>>572 のバリエーションになると思われる。
で、
・保存の回数が非常に多いとか、保存処理に負荷がかかる
-> 保存処理はなるべくシンプルに
-> 正順で保存し、読み出し時に工夫
-> 正順パターン
-> (゚д゚)ウマー
・保存回数が読み出し回数に比べてかなり少ないとか、保存処理の負荷より
読み出し処理の方が負荷がかかる
-> あらかじめ逆順で保存し、読み出し時の処理の負荷を軽減する
-> 逆順パターン
-> (゚д゚)ウマー
という関係になると思うが?
0577教えて君
2001/08/02(木) 02:20ID:???せっかくの PHP なんやから RDBMS と絡めてみたら?
掲示板程度だったら mySQL あたりでええんちゃう?
一発やで
0578困ってます。
2001/08/02(木) 19:41ID:o1n3hnSU分からないので教えてください。
以下のテーブルがあるとします。
tableAAA
colX colY
---- ----
1 A
2 B
3 B
4 C
5 B
tableBBB
colX colQ
---- ----
1 BI
2 AG
2 CD
3 SR
4 YE
5 WU
5 AO
tableAAAでcolYが「B」の行を削除する事によってcolXが「2,3,5」が削除されます。
そして、tableBBBでcolXが「2,3,5」の行を削除したいのですが
PHPではどのように書けばよいのでしょうか?
PHP3.0.6で、データベースはsybaseを使っています。
よろしくお願いします。
0580困ってます。
2001/08/02(木) 20:33ID:o1n3hnSUってやりたいんです。。
0581電動ナナシ
2001/08/03(金) 00:44ID:Oa5aY4k6SQL 的解法:
Table AAA の ColX を Table BBB の ColX の外部キーにし、削除が
CASCADE するように定義する。例えば、PostgreSQL なら
CREATE TABLE bbb (
colx int2,
varchar coly,
CONSTRAINT fk_aaa FOREIGN KEY (colx) REFERENCES aaa(colx) ON DELETE CASCADE
);
とする。
別解:
pg_Exec("BEGIN");
pg_Exec("DELETE FROM bbb WHERE colx IN (SELECT colx FROM aaa WHERE coly = '" . ${Key} . "')");
pg_Exec("DELETE FROM aaa WHERE coly = " . ${key} . ";");
pg_Exec("COMMIT");
0582電動ナナシ
2001/08/03(金) 00:48ID:???CREATE TABLE bbb (
colx int2,
coly text,
CONSTRAINT fk_aaa FOREIGN KEY (colx) REFERENCES aaa(colx) ON DELETE CASCADE
);
0583困ってます。
2001/08/03(金) 11:14ID:UwPOu2zoうちはSYBASEなんですが、同じような事が出来ると思うので
これからがんばってみます。
0584困ってます。
2001/08/03(金) 11:15ID:???0585教えて君
2001/08/03(金) 11:35ID:???俺、別に何もしてないで
だと情報量 0 なので
>>581 >電動さん
別解の方やけど、なんで一行ずつ pg_exec() するのん? もったいなくない?
0586コメント無しさん
2001/08/03(金) 13:45ID:DhQExyss581じゃないけど、結局エラー処理がはさまってrollbackしたりするから
まとめてpg_execしないほうがいいんじゃない?
0587電動ナナシ
2001/08/03(金) 13:56ID:???単純に SQL 文を書こうと思ったんだけど、何となく PHP スレだから
PHP のコードの方がいいかなと思って pg_Exec をつけただけ。
特に意味は無いよ。
0588電動ナナシ
2001/08/03(金) 13:59ID:???そうそう。少なくとも COMMIT だけは除外しないと。
本気で書くのだったら commit の前に pg_Exec の戻り値を拾って
エラーだったら rollback という手順が必要だよね。
0589困ってます。
2001/08/03(金) 15:04ID:UwPOu2zo今度はPHPの書き方でつまずいています。。
SQL文が1文だけの時は、以下のように書いてきましたが
<?
:
:
$CONN=sybase_connect("SERVER","USER","PASS");
$SQL="SELECT column FROM table WHERE column = 'hoge'";
$RES=sybase_query($SQL,$CONN);
:
:
?>
BEGIN
DELETE FROM bbb WHERE colx IN (SELECT colx FROM aaa WHERE coly = '" . ${Key} . "
DELETE FROM aaa WHERE coly = " . ${key} . "
COMMIT
このようなトランザクションとか複数のSQL文を実行させるためには
PHPはどのように記述すれば良いのでしょうか?
よろしくお願いします。
0590568
2001/08/03(金) 18:40ID:aNOrs4Vo>>570
>>571
皆さん、ありがとうございます。
>電動ナナシ様
当方、プログラミングはHTML以外でPHPが始めてなんです。
もし宜しければお書きいただいております「アプリケーショ
ンの設計」関連で初心者を対象とした良い書籍などを教えて
いただけませんでしょうか。
0591教えて君
2001/08/03(金) 22:26ID:???どうなるかわからんけど試しにちょっと書いてみようかとか思わん?
>$SQL="SELECT column FROM table WHERE column = 'hoge'";
の中をそのまま置き換えればええだけ。
あと、>>588
COMMIT も含んでええんちゃうん?
エラーが発生した時点でそのトランザクション成立してないわけやし。
あ、でも RDBMS によってはマズいやつもあんのかな?
0592電動ナナシ
2001/08/04(土) 00:22ID:yWM3EPUw自分はオブジェクト指向から入った人間なので、テーマがオブジェクト
指向分析・設計になってしまうけど、
「オブジェクト指向とコンポーネントによるソフトウェア工学」
http://www.ogis-ri.co.jp/otc/hiroba/OoBook/BookRanking/UMLBooks/UsingUML.html
とか
「憂鬱なプログラマのためのオブジェクト指向開発講座」
http://www.seshop.com/bm_detail.asp?sku=56190
とかがよかったと思う。ただ後者については C++ の基礎知識がないと
読むのが面倒かもしれない。
英文を読めるなら
"The CRC Card Book"
http://cseng.aw.com/book/0,3828,0201895358,00.html
もいいと思う。翻訳が出るという噂もあるが、いつ出るかは不明。
0593電動ナナシ
2001/08/04(土) 00:27ID:yWM3EPUwbegin して処理が中断されたときに勝手に commit するような実装は
まずないと思うけど、なるべく後始末を明示的にきちんとやる習慣を
つけた方がよいと思ってああ書いた。それにほかの人がコードを見た
ときに何をしているかを明らかにするという効果もあるだろう。
きちんと分かっている人どうしでなら省略してもいいだろうね。
0594名無しさん@お腹いっぱい。
2001/08/04(土) 01:12ID:h7D7YGic●ヒアドキュメントで格納した変数を表示しようとしたら、
printだといけて、echoだとエラーになりました。上記と関係あるんかな?
0595名無しさん@お腹いっぱい。
2001/08/04(土) 02:07ID:???ここに書いてあることがすべて
0596コメント無しさん
2001/08/04(土) 02:37ID:5S9xJi7Qプログラム知らない人間にそれは無謀と思われ。
0597コメント無しさん
2001/08/04(土) 02:48ID:5S9xJi7Q>>592ダタヨ。
>>590
とりあえず、ソフトウェア設計初心者向けの本はあってもプログラム
の知識が一通りあることが暗黙の了解。
プログラムがソフトウェア作成の1工程にすぎない&もっとも重要な
工程であることを意識しつつ、まずはプログラムをがしがし組んで見
るのが良いと思うよ。
>>592の本の中では「憂鬱な〜」が一番平易な表現で読みやすいと思う。
C++の知識が無くてもCの知識で充分なはず。
というか、Cの知識しかない人向けだったと思うが。
とはいえプログラムの知識がなくて読めるオブジェクト指向の本はこれ
だけだと思うよ。
0598コメント無しさん
2001/08/04(土) 06:17ID:5S9xJi7Qステートメントと関数の違い
0599名無しさん@お腹いっぱい。
2001/08/04(土) 16:12ID:h7D7YGicexpecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'
といわれてしまうのですが、なぜですか?
0600599
2001/08/04(土) 16:40ID:???0601電動ナナシ
2001/08/04(土) 17:49ID:yWM3EPUwこれで動いたけど?そういう話ではない?
<html>
<head><title>Test</title></head>
<body>
<?php
function heredoc($str) {
echo <<<EOT
<b>
TEST OF HERE DOCUMENT IN FUNCTION<br>
$str
</b>
EOT;
}
heredoc("hoge");
?>
</body></html>
0602電動ナナシ
2001/08/04(土) 17:59ID:yWM3EPUwやっぱり敷居が高い?
モジュール化、凝集度、結合度って概念を理解してほしいなって思った
んだけどね。
プログラミング言語の知識なしに読める本なら、これもいいかもしれない。
「オブジェクト指向プログラミング入門」Timothy Budd 著
http://www.amazon.co.jp/exec/obidos/tg/detail/glance/-/books/4795297088/
http://www.google.com/url?sa=U&start=4&q=http://home1.infonia.ne.jp/~delphian/delphi/history/bookrank2/bookrank/30.htm&e=642
ただ版元品切れかもなあ。大き目の本屋にいけば在庫があるはず。
0603599
2001/08/04(土) 18:12ID:h7D7YGic●エラーのでるスクリプト:
<html>
<head><title>Test</title></head>
<body>
<?php
echo <<<EOT
<b>
TEST OF HERE DOCUMENT IN FUNCTION<br>
</b>
EOT;
?>
</body></html>
Parse error: parse error in /。。。。/test-here.php on line 11
(11行目は、</body></html>の行)
●↑で、ヒアドキュメントをやめたら動いた例<html>
<head><title>Test</title></head>
<body>
<?php
echo
"<b> ".
"TEST OF HERE DOCUMENT IN FUNCTION<br> ".
"</b>";
?>
</body></html>
・・・ヒアドキュメントを可能/不可能にする設定なんてありましたっけ?みつからないのですが。。。
ちなみに、phpinfoでちゃんと、バージョンは4.0.6でした。
0604コメント無しさん
2001/08/04(土) 18:19ID:5S9xJi7Qまずモジュール1個強がまともに作れないと。
分割もなにも無いと思う。
漏れのプログラムってだらだら長くて見にくいな〜とまず思わなければ
実感できないんじゃない?
0605電動ナナシ
2001/08/04(土) 19:45ID:???まあそうだよね。それじゃ >>568 さんがそういうことを実感した頃に
また改めて質問してもらうことにしよう。
つうことで、まずはガシガシコードを書いてみなさいな。>>568
0606電動ナナシ
2001/08/04(土) 19:50ID:yWM3EPUwEOT; の行の先頭に空白とか入っているんじゃない?
EOT; はその行の先頭にないと機能しないよ。
0608名無しさん@お腹いっぱい。
2001/08/04(土) 21:28ID:???0609名無しさん@お腹いっぱい。
2001/08/05(日) 18:07ID:???STEVE McCONNELL著、アスキー刊
厚くて高いけどオススメ
0611568
2001/08/06(月) 12:04ID:sqMOPgc.604さんのおっしゃる通りかもしれません。
まだ自分でこれだ!っていうスタイルもないのに、楽することを考えて
おりました。
実際に色々なプログラムを作成してみて、初めてこのプログラムを何と
かできないかなぁ〜、が正しい姿でしょうね。
こんどはプログラム自体で判らないことがありましたら、また改めて質
問させていただきます。
0612電動ナナシ
2001/08/06(月) 16:17ID:???「プログラム書法」B.W.Kernighan 他著
http://kyoritsu-pub.topica.ne.jp/bookhtml/0306/000603.html
も手元に置いておくといいんじゃないかな。よいコードを書くにはどうすれば
よいのかという点に焦点を当てた本。古いけど、読みやすいし、初心者には
いいんじゃないかと思う。
0613名無しさん@お腹いっぱい。
2001/08/06(月) 21:55ID:jVbx6/lYシステムの開発をしています。
Apacheが動いている状態で、ExcelやPDFのファイルをクリックしても
関連付けされたアプリが立ちあがらなくなってしまいました。
(正確には、5分後ぐらいに立ちあがる)
PHP 3.0.18-i18n-jaだとこのような現象はなかったのですが、
なんとか回避する方法はないでしょうか?
それとも素直に Linux や FreeBSD にするか、PHP3 に
戻すしかないのでしょうか。
httpd.confに以下は記述してあり、PHP自体は問題なく動いています。
LoadModule php4_module C:/php4/sapi/php4apache.dll
ScriptAlias /php4/ "C:/php4/"
AddType application/x-httpd-php4 .php
AddHandler cgi-script .cgi .pl
Action application/x-httpd-php4 "/php4/php.exe"
マニュアル読んで、半日検索してみたのですが解決策不明…
よろしくお願いします。
0614電動ナナシ
2001/08/07(火) 01:36ID:hmQtM6Ycどういうシチュエーションなのかよく分からないのだが。
・Apache を起動していると、エクスプローラ等で普通に Excel ファイルなどを
ダブルクリックして起動させるのに時間がかかる。Apache を終了させると
すぐに立ち上がる
・HTML ページ上に Excel や PDF ファイルに対するリンクがあるが、その
リンクをクリックしても数分間応答がない。
後者の場合、リンク右クリックで「対象をファイルに保存」するとどうなる?
0615教えて君
2001/08/07(火) 02:22ID:xDDaQDl.配列の時ってどうやるか誰か知ってる?
{hoge[0]}
なんてやっても認識してくれないみたいなんやけど...
ソースちらっと見ただけではようわからんかった...
0616ナナ萌え(゚д゚)ウマー
2001/08/07(火) 02:43ID:???0617教えて君
2001/08/07(火) 03:10ID:xDDaQDl.えーと... これって俺のに対するレスだよな?
ありがたいけど違うみたいっちゅーか
ソースもうちょっと見てみたらどうもやっぱり無理っぽいような
気がすんのは俺だけ?
foreach ($this->variableCache as $name => $value) {
$regs[] = "@" . $this->openingDelimiter . $name . $this->closing
Delimiter . "@";
$values[] = $value;
}
ここと違う?
0618613
2001/08/07(火) 08:42ID:sBm9S5Ckレスありがとうございます。相談したケースは前者です。
後者を試してみたら、リンクから起動も「対象をファイルに保存」も
普通の速度でできたんですが…
0619名無しさん@お腹いっぱい。
2001/08/07(火) 10:16ID:B/Zo5TSw0620JAPU@エアコン直った...
2001/08/07(火) 11:39ID:???たとえば、EUC-JP ならこんなかんじで、
sub iskanji
{
return shift =~ /[\x8e\x8f\xa0-\xfe]/;
}
ASCII 以外の文字が含まれていれば真を返します。
0621JAPU
2001/08/07(火) 12:30ID:???0622名無しさん@お腹いっぱい。
2001/08/07(火) 13:48ID:???0623名無しさん@お腹いっぱい。
2001/08/07(火) 15:06ID:Ny4LYuIY{
print_r $esumoji;
}
else{
echo "(゚д゚)マイウー";
}
0624名無しさん@お腹いっぱい。
2001/08/07(火) 16:59ID:???0625JAPU
2001/08/07(火) 19:01ID:???氏んできます。
0626電動ナナシ
2001/08/07(火) 19:17ID:???せっかくの知識を生かさない手はないと思う。
Perl から PHP に翻訳可能なコードだったらどんどん出してもらって
いいと思う。翻訳可能かどうかはこっちが判断することにして、もし
翻訳不能なら、これは翻訳できないってフィードバックを返せばいいのでは
ないかな。そのうえでコミュニケーション不能って判断になるのだったら
それはそれで仕方が無い。
0627名無しさん@お腹いっぱい。
2001/08/07(火) 19:56ID:???良い事言うね。
0628Untitled
2001/08/07(火) 20:28ID:???0629名無しさん@お腹いっぱい。
2001/08/09(木) 18:16ID:TsBLqvp.i-modeに対応させようとi-mode用のHPも作ろうと試行錯誤してます。
PostgreSQLとphpを連動させてるんで、phpファイルなどの文字コードは
当然EUC-JPなんで、i-mode用のHPはファイルの出力の前にバッファリングして、
バッファの内容を一度変数に入れ、その変数をSJISにコンバートして出力してます。
で、フォームなどから入力されたデータは、$HTTP_POST_VARS、$HTTP_GET_VARSの
データを分解して、SJISからEUC-JPにコンバートしてデータを渡すようにしてます。
で、何故かi-mode端末からログインできません。
ユーザー認証が失敗した画面になります。
ちなみに、パソコンからは問題なくログインできます。
認証のIDやパスワードは英数字を使っているんで、文字コードの問題としても
通りそうなもんなんだけど。
ちなみに、ID、ユーザー名を空、つまりnull(という表現で合っているのか?)で
あらかじめ登録しておいて、認証画面の際に何も入力しないでログインボタンを押しても
行けるようにやってみたけど、やはりi-mode端末からはダメ。
考えられる原因があれば教えてください。
0630微笑
2001/08/09(木) 19:08ID:???〃 _`__
,,-=-、、l{,_'´..._ `ヽ、、
〃. ',.´二W´- ‐-`\ \ヽ、___
_{l,'.'´ 、 ヽ ヽ ヽ彡k、ヽ\
.//`/ i l. \ 、ヽ `、 i彡}ヽ`' ´ ▲女優,アイドル、脱がしました▲
. /| / i { |l {\ {ヽ、_!..ヽ」_/} .}./ |__〉、
\l.{. l.ヾ _.ゝ_土. ゝ -'fT;;ヽ,| lテ}| ||__〉
/iヽゝヽ/{~);;:l {:..''ノ'ノノ|{ノ |_!!女優,女子高生のエッチ画像ばかりを厳選収集!スクール水着,女優,画像ばかり。
.|_|l」ヽ. ヽ ゞ‐' 、  ̄`ノレヽソ|
(.ソ.ゝ -- /' {=}ノ ◆アイドル画像秘宝館◆
(=| l へ、 /ノノ((.)). http://www.futomomo.com/netidol/idolhappy/maki/
((!)ヾヽヽ` ;.- ' ´ |'' ''"'´◆アイドラー◆
`~^``/'l ゜>\_ http://www.futomomo.com/netidol/idoler/megu/
, -‐〃"´ |___/ >- 、 ◆セーラー服◆
/ ./〃 |=/ 〃/ \ http://www.futomomo.com/netidol/sailor/miku/
/ | ||, ‐-、_,...!、/_ ,..、 .〃/ ヽ ◆人妻◆
〈 / -ー.{ { {.= ヽ、|| l | http://www.futomomo.com/netidol/waif/mai/
| ヽ /| |\ / i 〉 | ◆スイート倶楽部◆
〈 ∧ l_/./ | | \ _/ / / http://www.futomomo.com/netidol/sweetclub/miyuki/
asfvbgbh
0631名無しさん@お腹いっぱい。
2001/08/10(金) 02:13ID:???0632名無しさん@お腹いっぱい。
2001/08/10(金) 15:20ID:mgFNCq6A0633名無しさん@お腹いっぱい。
2001/08/10(金) 15:46ID:DFraO..kフォントのディセンダ、アセンダは求められます
でしょうか?
0634名無しさん@お腹いっぱい。
2001/08/11(土) 14:39ID:???クライアント(ActiveX)からサーバ(PHP)にファイル名をEUC変換
してPOSTする。
クライアントからサーバにPOSTしてさっきアップしたファイル名を取得する。
取得方法はPHPの吐いたHTMLを見て<FILENAME>xxx</FILENAME>
の部分のxxxを取り出しEUC→SJIS変換
ここでアップするファイル名が全角のdで終わる場合、なんか↓のように
「<」が見えなくなってしまいます。
<FILENAME>〜EUC文字〜/FILENAME>
ほんとウンコな質問ですみません。
0635634
2001/08/11(土) 14:48ID:???みればいい。。。(のかな?)
0636名無しさん@お腹いっぱい。
2001/08/16(木) 15:21ID:WXA1sEiAPHPで作っているFORMからatコマンドで予約をしようと考えています。
実際はメールニュースの配信予約をしようと考えています。
以下はテストで作っているスクリプトの一部です。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 配信予約
$command = "/bin/ls -l /tmp |at 1500 2001-08-16";
$command = escapeshellcmd($command);
exec("$command") or Error("配信予約に失敗しました。");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
※Function Error()は別途作っています。
コマンドラインから
$ /bin/ls -l /tmp |at 1500 2001-08-16
と入力すると
warning: commands will be executed using /bin/sh
job 15 at 2001-08-16 15:00
というようにワーニングは出るものの登録されます。
$ atq
でも表示されるのですが、ウェブから実行しても登録されません。
exec()関数の使い方が間違っているのでしょうか?
0637名無しさん@お腹いっぱい。
2001/08/16(木) 16:32ID:???登録の確認はWebのユーザー (nobodyとか。サーバーの設定によって違う)でやってる?
0638電動ナナシ
2001/08/16(木) 16:36ID:byTTeF5oexec() する前の $command の内容を見てみな。
$command = escapeshellcmd($command);
echo "\$command is '" . $command . "'<br>\r";
exec("$command") or Error("配信予約に失敗しました。");
0639636
2001/08/16(木) 17:31ID:WXA1sEiAユーザの確認はしました。最初忘れてましたけど(^^;
ご指摘ありがとうございます。
>>638
電動ナナシさん
$command = escapeshellcmd($command);
を消したらうまくいきました。パイプが\回避されてるのがダメだったみたいです。
どうもありがとうございます。
0640電動ナナシ
2001/08/16(木) 20:23ID:byTTeF5oPHP3 までは GPL、PHP4 からは PHP ライセンス + Zend ライセンス
詳しくは以下を参照。
http://www.php.net/license/
>>633
無理そうだなあ。
# Ascent, Descent の意味は以下の通りでいいんだよね?
http://www.aceprocess.com/pro_tips2.html
>>634
なぜファイル名を 2 バイト文字で保存する必要が?
0641さる
2001/08/17(金) 04:31ID:???と同じことをphp3で実現するにはどうすればいいのでしょうか?
0642電動ナナシ
2001/08/17(金) 05:56ID:YqYraPdc0643629
2001/08/17(金) 10:27ID:yJr7QHdU原因は「local.inc」中の「Example_Sesson」クラスの「$fallback_mode」を
「"post"」にしていたから、みたい。
なんで「"post"」にしてたかっていうと、URLにセッションのID(?)みたいなのが
表示されるのがイヤだったからなんだけど。
でも今度は認証かけてある各ページに行く度にログイン画面になるし。
これもi-mode端末のみの現象なんだけど。
なんでだろうなぁ。
0644名無しさん@お腹いっぱい。
2001/08/17(金) 22:58ID:h5Ic9dxwえ?フリーじゃないってこと?よくわかんないや
0645名無しさん@お腹いっぱい。
2001/08/18(土) 00:37ID:???そういう分からない人の為にわざわざURI書いてくれてんのに、
よくそんな発言出来るよな・・・。(;´д`)シンジラレネーヨ
0646名無しさん@お腹いっぱい。
2001/08/18(土) 08:25ID:???英語も読めないしGPLやZendの意味もわからない僕がPHPを
始めようとすること自体間違いだったのかもしれないです
ライセンスに関する日本語ドキュメントどこにも無いんですよね、、、
ということで失せます
0647電動ナナシ
2001/08/18(土) 17:38ID:0Aevniqcまあ基本的にフリーだが、一部制限つきということだ。
FAQ より引用。
Q. なぜ PHP4 は PHP3 がそうであったように GNU Public License (GPL) の
もとで二重ライセンスとしなかったのでしょうか?
A. GPL はライセンスされたコードに対し、何が可能で何が不可能かについて
厳しい制約を強制します。PHP の開発者は、PHP をできるかぎり普及させる
助けとするために、より緩やかなライセンス(Apache スタイルの)のもとで
PHP をリリースすることを決断しました。
Q. 端的に言って、PHP ライセンスは何を意味しているのでしょうか?
A. (注意: この回答はいかなる意味においても PHP ライセンスを変更するもの
ではなく、ライセンスが意味するところについて概要を提供することを
意図しています) 本質的には、PHP ライセンスは、商用・非商用に関わらず、
あなたが望むように利用し配布し修正する権利を与えるものです。あなたは
ユーザーに対してあなたの配布物が PHP を含んでいることを明確にする
必要があります。
0648電動ナナシ
2001/08/18(土) 17:39ID:0Aevniqcしてはいけないと書いています。これは私が構築した PHP スクリプトや
ウェブサイトを販売できないということを意味するのでしょうか。
A, いいえ、まったく違います。この条項は Zend Scripting Engine ライブラリを
用いて作成したソフトウェアのことを言っており、このライブラリを利用した
PHP が実行するスクリプトは該当しません。あなたは、PHP ないし Zend ライセンスを
気にすることなく、自由に、あなたが書いた PHP ソースコードをフリーまたは
商用で配布できます。あなたは望むだけあなたの商用アプリケーションに PHP
全体をパッケージすることができます。Zend Scripting Engine ライブラリを
直接利用する商用アプリケーションを作ることができないということです。
Q. それで、Zend ライセンスのポイントは何ですか?いつそれを考慮すべき
なのでしょうか?
A. あなたは以下の二つの場合に Zend ライセンスを意識するべきです。
まず最初に、Zend Scripting Engine ライブラリにパッチを当てて公表
する場合です。Zend ライセンスは Zend Technologies, Ltd. がこれらの
パッチを使用料を払うことなく(詳しくはライセンス本文を参照)使うことを
許可しています。次に、このライセンスは、商用アプリケーションを構築する
ために Zend scirpting engine を商用で利用することを禁じています。
もし Zend scripting engine を商用で利用したい場合には(例えば、
あなたが書いているワープロのマクロ言語として)、ライセンスの情報を
Zend Technologies, Ltd. に問い合わせなければなりません。
0649名無しさん@お腹いっぱい。
2001/08/19(日) 12:48ID:???0650名無しさん@お腹いっぱい。
2001/08/20(月) 15:37ID:YTYQxxuA文字列(UNICODE)をPHP3でデコードするには、どのよう
にしたらよいでしょうか。
�@IEのJavaScriptのescape()を使用して文字列「ほげ」をエンコード
した結果 →「%u307B%u3052」
�APHP3のi18n_internal_encoding()の結果 → 「EUC-JP」
�B�@をi18n_discover_encoding()で調べた結果 → 「ASCII」
i18n_convert()を使っていろいろ試しましたが、どうもうまく
いきません。解決策をご存知の方教えてください。
0651名無しさん@お腹いっぱい。
2001/08/21(火) 12:12ID:rddG09uEPHPの過去のメーリングリストをあさって解決しました。
解決方法は勝手に転載してよいのか分からなかったので、
知りたい方は、とりあえず知らせてください。
0652みやた
2001/08/21(火) 15:19ID:jSRLzhwMフォームから書籍の出版日の年、月、日を
ユーザに入力してもらい、
($publish_year,$publish_month,$publish_day)
それを登録する以下のphpがあります。
=======================================
//出版日を8ケタ化
$publish_date = sprintf("%04d%02d%02d",
$publish_year,
$publish_month,
$publish_day);
//登録
$SQL = " INSERT INTO BOOK_MASTER(PU_DATE)
" VALUES(TO_DATE(:book_publish_date, 'YYYYMMDD'));\n".
OCIBindByName($rs, ":BOOK_PUBLISH_DATE", &$publish_date, -1);
=======================================
ここで、もし 出版日ナシのフラグ「$no_publish」がTRUEなら、
TO_DATE(:book_publish_date, 'YYYYMMDD')の代わりにNULLを入れたいのですが、
通常、どうするのがスマートなのでしょう?
$publish_date = sprintf のあとに、
unset($publish_date);
として見たのですが、
OCIBindByName bitelength is 0 in ...
の警告がでてしまうもので。(insert自体はうまくいっているようなのですが)
構文を組み替えてもかまいません。
==================
他人が作ったものを、
事情により普段Oracleなどいじらない私がいじっているもので、
かなりお恥ずかしい話で恐縮です。
0653名無しさん@お腹いっぱい。
2001/08/21(火) 17:09ID:Ttfz/Erwどうしたらよいのでしょうか?
rand()だと数字のみなので・・・。
例えば、「7fg47」のような感じです。
0654名無しさん@お腹いっぱい。
2001/08/21(火) 18:03ID:???PHPの質問じゃないな
関数自分で作れば?
0655質問
2001/08/21(火) 18:18ID:R2s3AHtIのようになってしまいます。これを回避するにはどうしたらよいのでしょうか?
0656電動ナナシ
2001/08/21(火) 21:05ID:1TWjFS4w$publish_date が空なら、INSERT 文の実行を行わないか、日付の挿入を
行わない INSERT 文を発行する。どちらにするかは、日付以外に挿入する
値の有無に依存する。
例)
if ($no_publish) {
$SQL = "INSERT INTO bookmaster(hoge, publishdate)
VALUES ($hoge, TO_DATE(:bookpublishdate, 'YYYYMMDD'))";
OCIBindByName(....
} else {
# publishdate が DEFAULT NULL なら hoge だけ INSERT
$SQL = "INSERT INTO bookmaster(hoge, publishdate)
VALUES ($hoge, NULL)";
}
>>655
stripslashes();
0658652
2001/08/21(火) 21:31ID:???ありがとうございます。
感謝いたします。
0659電動ナナシ
2001/08/21(火) 21:35ID:1TWjFS4w<?
function getRandomString($length) {
$result = "";
# Base Strings
$base = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
$baselength = strlen($base) - 1;
for ($i = 0; $i < $length; $i++) {
$pos = rand(0, $baselength);
$result .= substr($base, $pos, 1);
}
return $result;
}
$randomString = getRandomString(5);
echo "\$randstr -> [" . $randomString . "]<br>\r";
?>
0660電動ナナシ
2001/08/21(火) 21:38ID:1TWjFS4w"_" 記号は SQL では 1 文字のワイルドカードを意味するから
(正規表現でいえば "." に相当)、あまり使わないほうがいいと思う。
0661653
2001/08/22(水) 13:09ID:dChLBg7w大変参考になりました。
ありがとうございました。
0662名無しさん@お腹いっぱい
2001/08/22(水) 17:44ID:ym3V.COkPHPにて正規表現でチェックを行いたいのです。
まずは、メールアドレスなどのチェック(半角英数字&記号のチェック)です。
あとは、全角文字のチェック。カタカナチェック。です。
一応半角数字はチェックできるのですが・・・
誰か教えていただければ光栄です。宜しくお願いします。
0663テストさん
2001/08/22(水) 22:14ID:???PHPマヌアルからの引用だけど
$token = md5( uniqid( rand() ) ); // 推測が困難であり、より優れている。
$randval = substr($token, 0, 5);
じゃだめなん?
この例は、極めて予測困難な 32 文字のID(128ビット16進数)を 作成します。
らしいし。短くてきれいだし。
0664電動ナナシ
2001/08/22(水) 22:23ID:???それも考えたんだけど、先頭 5 文字がどのくらいランダムに分布するか
分からなかったので(単なる勉強不足)今回はあえて別解を考えてみた。
0665名無しさん@お腹いっぱい。
2001/08/22(水) 23:11ID:???んぐらい自分で調べろよ。
うざい。
0666教えて君
2001/08/22(水) 23:12ID:???そうじゃな、こちらの方が例えば 0 と O とか I と l が
紛らわしいので使いたくない向きにもよろしそうじゃしな。
ところで最近の若者は mt_rand() なんぞは使わんもんなんじゃろか?
0669名無しさん@お腹いっぱい
2001/08/23(木) 15:47ID:cRebnFX2FとM以外はダメだよって言うソースの書き方って
if(ereg("[^F|M]{1}",$in_Hensu)){
echo "error";
exit;
}
だよね?それとも書き方違う?
0670new
2001/08/23(木) 16:16ID:MmYN4CjYphp3って配列に要素を追加することは出来ないのですか?
perlでいうpushみたいな感じ。
php4ではarray_pushがあるそうですが。
今の環境では3しか使えないので・・・。
0671名無しさん@お腹いっぱい
2001/08/23(木) 16:27ID:cRebnFX2なかったら自分でfuction作れ
作ったソースを俺に教えろ!
0672名無しさん@お腹いっぱい。
2001/08/23(木) 18:56ID:GljfP/6Mある鯖では動いて、もう一つの鯖では
「open_basedir restriction in effect. File is in wrong directory…(省略」
と、文句を言われ、「/tmp/****」からコピーできません。調べてみるとセーフモードというものに引っかかってるみたいなんです。
この鯖でアップロードは無理なのでしょうか?
0673名無しさん@お腹いっぱい
2001/08/23(木) 19:55ID:cRebnFX2正規表現の表し方ってどうやるの?
if (!ereg ("[0-9]{4}", $Hensu)){
echo "error";
}
だと5桁以降は、何を書いてもエラーにならない
だから、
if (!ereg ("[0-9]{4}[^.]", $Hensu)){
echo "error";
}
にしたんだけど 全然ダメ・・・・
だれかマジ教えてよ。正規表現むずかしい
0674672
2001/08/23(木) 20:18ID:GljfP/6Mじゃないのかな?
0675673
2001/08/23(木) 20:29ID:cRebnFX2自分も試しにやったけどダメだったんだよね。
でもアドバイスありがとう
0676674
2001/08/23(木) 21:05ID:GljfP/6M文頭のやつ忘れてた。
これでもダメかな?
0677673
2001/08/23(木) 21:28ID:cRebnFX2で・・・できたよ!!!(喜)
でも、これと同じく
1桁以上5桁以下指定で0〜9以下の数字しか記入できない
正規表現でやったんだけど無理だった・・
if (!ereg ("^[0-9]{1,5}$", $Hensu)){
すげーくやしいっ!!
0678echo"名無しさん";
2001/08/23(木) 23:51ID:???$array[] = $var;
マニアルにあるこれじゃなくて?
>>672
所有者が違うからだね。
copy("a.php","b.php");かrenameするとアップロードできるかも
0679名無しさん@お腹いっぱい。
2001/08/23(木) 23:58ID:cvwLP0MEこんな感じ?
function _array_push($array, $value){
$array[count($array)+1] = $value;
return $array;
}
0680名無しさん@お腹いっぱい。
2001/08/24(金) 00:01ID:FYzqPGzMあ・・そんなのでできたのか。
鬱だ逝ってきます。。。
0681E_ERROR
2001/08/24(金) 01:11ID:???どんな風に無理だったのですか?
『00001』の様に零が付くのが問題?
もしそうだったらその判定前に
$Hensu=sprintf("%d",$Hensu);
として零を削ってあげると良いかも。
ただ『00000』とかは『0』になりますけど。
0682名無しさん@お腹いっぱい。
2001/08/24(金) 01:17ID:???PHPはわかんないけど・・・。
Perlで書くとこんな感じじゃ駄目?
$webprog =~ s/\D//gi;
if($webprog and lengh $webprog <= 5){
#数字で一桁以上五桁以下
}else{
#それ以外
}
0683名無しさん@お腹いっぱい。
2001/08/24(金) 01:20ID:???0684E_ERROR
2001/08/24(金) 02:15ID:???$var2=sprintf("%d",$var1);
だと$var1に数字以外の物が有ると$var2には値が出力されません
(4.0.6(Win32)で確認)。
よって判定をこの後にすることが或る意味、無意味になります。
それさえ踏まえれば使えるかな?後は五桁以下である事を判定すれば
良いのですし。
…あまり誉められたコーディングでは無いとは思いますが。
0685電動ナナシ
2001/08/24(金) 02:40ID:???$var = $var + 0;
でいいと思うけど。
ちなみに文字列に 0 を足すと、先頭から順に数字だけが抽出される。
例えば以下のような感じ。PHP^4.0.6 for Win32 で確認。
$var = "x12345"; $var = $var + 0; // $var は 0
$var = "012345"; $var = $var + 0; // $var は 12345
$var = "12345x"; $var = $var + 0; // $var は 12345
$var = "123x45"; $var = $var + 0; // $var は 123
0686E_ERROR
2001/08/24(金) 05:00ID:???成る程、マニュアルに載ってるこれ
http://www.php.net/manual/ja/language.types.string.php
ですよね?勉強になりました。
しかし奥が深いです、PHPマニュアル…。
// でも更新が頻繁なのは嬉しいけど…面倒(苦笑 <=贅沢者
ところで頭の零を削るなら
$var2 = (int) $var;
って方法もありますね。
結果は電動ナナシさんのとかなり似てますが。
$var = "x12345"; $var2 = (int) $var; // $var2 は NULL
$var = "012345"; $var2 = (int) $var; // $var2 は 12345
$var = "12345x"; $var2 = (int) $var; // $var2 は 12345
$var = "123x45"; $var2 = (int) $var; // $var2 は 123
// int への型キャストのデフォは10進であることを利用
// Codeの展開を考えると利用し辛そうですが
0687名無しさん@お腹いっぱい。
2001/08/24(金) 09:42ID:BsoJVBdw正規表現じゃな〜いじゃん♪
0688672
2001/08/24(金) 10:46ID:zxBSBd8Mあの…、よくわからないのですがもう少し詳しくご説明頂けませんか?
お手数ですがよろしくお願いします。
0689名無しさん@お腹いっぱい。
2001/08/24(金) 11:55ID:daCgTec.0690電動ナナシ
2001/08/24(金) 13:14ID:alNuUBUQああ、そっちの方がいいかな。
>>689
<?php
$now = time();
$today = getdate($now);
// ↓ 週の先頭の日付を計算
$firstDayOfThisWeek = $now - $today["wday"] * 86400;
echo "First Date of this week is \"" .
date("Y-M-d (l)", $firstDayOfThisWeek) . "\"<br>\r";
?>
# 一度月間カレンダーを作ってみた方がいいんじゃないかと思うが。
0691名無しさん@お腹いっぱい。
2001/08/24(金) 17:44ID:fC1LCBVoここってハックされちゃったんですか?
中国って遊ぶ所が少なそうだから、PCやネットなんか覚えると
ハマっちゃうんだろうな
0692名無しさん@お腹いっぱい。
2001/08/24(金) 18:17ID:???日本人の仕業じゃないかな。
あそこの管理人はセキュリティ意識が無さすぎた。
0693名無しさん@お腹いっぱい。
01/08/27 10:51ID:zDtQUNGMフォームからの入力で送信した文字列データを単純にプレーンテキストに落としたんですが
2バイト文字は全て文字化けしてしまってる様なんですが…
0694名無しさん@お腹いっぱい。
01/08/28 00:04ID:igLWKZBA簡単な暗号化の方法を教えてもらえないでしょうか?
指定したキーで簡単に複合化できるものないですか?
0695助けてわかんない
01/08/28 01:48ID:0MY67l12超超初心者なんですけど昨日今日総合のカウンタ
が全然わかんないです。誰かサンプルソース書いて下さい。
検索したけど見つからなかったんで。
0696名無しさん@お腹いっぱい。
01/08/28 04:59ID:18vpKowI文字コードを少しずらしてやるとか。
ルールを指定して並べ替えるとか。
0697E_ERROR
01/08/28 05:06ID:.gNJSO/.Mycrypt関数(http://www.php.net/manual/ja/ref.mcrypt.php)
を使うか、
若しくは出来合いの奴を
http://php.resourceindex.com/Functions_and_Classes/
http://www.hotscripts.com/PHP/Scripts_and_Programs/
この辺で探すと良いかも。
>>695 (助けてわかんないさん)
上の後者2つのURIに有るんで参考にしてみると良いですね。
取り合えず、というのでしたら
http://www.dcl.info.waseda.ac.jp/~hasegawa/php/
で簡単な解説あるので良いかも。
0699名無しさん@お腹いっぱい。
01/08/28 07:36ID:JnQA54xw各大学の学生ポータルたん萌え〜
早稲田 ―http://waseda-links.com
ICU ―http://icunavi.com
立教 ―http://ri-style.com
東邦 ―http://www.h2.dion.ne.jp/~jn1
東洋 ―http://toyowave.com
中央 ―http://chuo.pos.to
↑マターリパラダイース(・∀・)イイ!
0700名無しさん@お腹いっぱい。
01/08/29 04:33ID:zqod.sPs0701名無しさん@お腹いっぱい。
01/08/29 12:34ID:Hz0wel/E自前でファイルロックの仕組みを組んで解決していましたが、
PHPのファイルロックの信頼性はどれほどでしょうか。
0702名無しさん@お腹いっぱい。
01/08/29 12:38ID:r10mk.nk何処でそんなデマ聞いた?
0703名無しさん@お腹いっぱい。
01/08/29 12:42ID:Hz0wel/Eいくつかの書籍にそう書いてあるが
0704703
01/08/29 13:09ID:Hz0wel/Eここにもありました。現在は解決されているようです(たぶん)
http://tohoho.wakusei.ne.jp/lng/199807/98070060.htm
0705名無しさん@お腹いっぱい。
01/08/29 16:37ID:9EJfCa2E> mkdir()でロックすると環境を選ばない感じで好きなんです。
人様のスクリプト&考えにケチつけるつもりじゃありませんが、、
flockが使える環境ならぜったいこちらを使うべきだと思いますが・・・
http://www.wakusei.ne.jp/twn/wwwlng.cgi?print+199903/99030145.txt
とほほさん、びーかすさんの発言、参考になります。。
symlink, mkdir, flockはいずれも、ロックを『かける』ことに関して
は完璧。OSがちゃんと排他制御してくれる。
symlinkとmkdirの違いは、mkdirだと、Windowsでも利用できるという
ことくらいしかない。信頼度は同じ。
ただし、symlink, mkdirはロックを『はずす』時に問題があり、ロッ
ク中にプロセスが異常終了したりすると、ロックファイルが残ったま
まになる。
その点、flockはロックを『はずす』時も完璧で、たとえプロセスが異
常終了しても、OSがストールしても、ロックが残ることは有り得ない。
信頼性ではsymlink, mkdirよりもflockの方が高い。ただしflockは、
UNIXでもサポートしていないOSがある。
# PHPだとマヌアル見るかぎりWindowsもサポートしてるみたい、、わからんけど。
> ファイルをロックするというより、処理全体をロックする感じにできますし。
$lock = fopen('lock.txt', 'w') or error('ロックファイルを作成できませんでした。');
flock($lock, 2) or error('ロックできませんでした。');
〜処理〜
fclose($lock);
じゃだめですか?
0706名無しさん@お腹いっぱい。
01/08/29 16:52ID:9WjD.Pdc0707703
01/08/30 09:29ID:/FKRYfJUhttp://php.ssi.bg/manual/ja/function.flock.php
Win環境のことはよくわからんが、ここの「警告」の部分を読むと
IISのISAPI環境下ではflockは使えないようだ。
0708名無しさん@お腹いっぱい。
01/08/30 10:09ID:3TFNK/cI下の User Contributed Notes にはwin98でflockが効かない
っていうメッセージがありますね。
phpは使ったこと無いけど実際どうなんでしょ?
0709703
01/08/30 12:12ID:/FKRYfJUWin98ということはIISか、Apacheだろうな。
707でも書いたけど、抜粋すると
>ほとんどのオーペレーティングシステムで flock()
>はプロセスレベルで実装されています。 ISAPIのよ
>うなマルチスレッド型のサーバーAPIを使用している
>場合、同 じサーバーインスタンスの並列スレッドで
>実行されている他のPHPスク リプトに対してファイル
>を保護する際に flock() を使用することはできません。
IISでもApacheでもISAPI環境下では使えないということだと
思うけど? スクリプトとして使えばOKということか?
Winのことはあんまりなのでスマソ。
個人的にはLinuxで使っているんで関係ないです。
0710名無しさん@お腹いっぱい。
01/08/30 12:19ID:UyczCLUMWin98ならIISじゃねーだろ
0711名無しさん@お腹いっぱい。
01/08/30 12:37ID:Um1Da8Sw0712[
01/08/30 12:58ID:nQguzC6Q0713名無しさん@お腹いっぱい。
01/08/31 14:05ID:OPUkQPbUどうしたらいいでしょうか?
0714名無しさん@お腹いっぱい。
01/08/31 14:43ID:oeZCoe02マニュアルぐらい見ましょう。
http://www.php.net/manual/ja/function.round.php
0715名無しさん@お腹いっぱい。
01/08/31 19:03ID:OPUkQPbU感謝!!
基本を忘れ、ずっと参考書見てました。
0716超ドキュソ
01/09/01 00:10ID:CoQXeBb6超わかんない。
0717名無しさん@お腹いっぱい。
01/09/01 00:17ID:JGsm/JSsのようなレンタル日記のスクリプト配布されてませんか?
0718名無しさん@お腹いっぱい。
01/09/01 00:23ID:yUhB/70g==
!=
>>717
こういうレンタル系のPHPスクリプトは殆ど配布されていません。
自分で作りましょう。
0719名無しさん@お腹いっぱい。
01/09/01 00:29ID:j2NtyKS.0720超ドキュソ
01/09/01 00:29ID:CoQXeBb6あ、== != でヨカタの?
なんか文字列にしたらうまくいかなかったからさ。
0721名無しさん@お腹いっぱい。
01/09/01 00:41ID:tdXlcdvAというか、マンモス本ってマニュアルに書いてあることと何が違うの? マル写しじゃん!
0722名無しさん@お腹いっぱい。
01/09/01 17:55ID:hQ/Rc1cwマル写しではありません。
マニュアルの一部抜粋です。
0723名無しさん@お腹いっぱい。
01/09/01 21:10ID:tdXlcdvAマニュアル>マンモス本
ってことで sage
0724
01/09/04 00:52ID:v.Yb6HDEこのエラーって何ですか?
0725724
01/09/04 03:15ID:v.Yb6HDEflockの記述がおかしかったみたい
0726ほえほえ ◆fxJvLsyA
01/09/04 10:32ID:y0UKZUiw<?php
$failname="log.txt";
if($sousin){
$hozonfail=$failname.".bak";
if(copy($kakikofail,$hozonfail)){
$fp=fopen($failname,"W");
if(flock($fp,2)){
fputs($fp,$naiyou);
flock($fp,3);
}else{
echo "error";
exit;
}
fclose($fp);
}else{
echo "error";
exit;
} }
?>
<html> <head>
<title><?php echo $failname; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<form action="<? echo $PHP_SELF; ?>" method="post">
<textarea name="naiyou" rows="30" cols"30">
<? require($failname); ?>
</textarea>
<input type="submit" name"sousin" value="更新">
</form> </body> </html>
これなんですが解りますでしょうか。
カキコして送信するとlog.txtの内容が書き換わると言う奴なんですが。。。
0727名無しさん@お腹いっぱい。
01/09/04 11:20ID:h3PWA/egエラー終了なら
copy($kakikofail,$hozonfail) or die("コピーエラー");
としたほうがよい
0728名無しさん@お腹いっぱい。
01/09/04 11:44ID:eE6ftGCA配列を渡したい場合にはどうしたらいいんでしょう?
参照渡しでどうにかできるのかしら。
0729名無しさん@お腹いっぱい。
01/09/04 11:45ID:NMYjZ6nA0730名無しさん@お腹いっぱい。
01/09/04 11:46ID:sfyz3S5.2.変数の定義
3.fopenの引数
以上3箇所の間違いがあります。
あと、failというのは故意にfileとしてないの?
故意じゃないなら、PHPはエラーが英語で返ってくるので、fileをfailと
間違わない程度に英語を勉強した方が良いでしょう。
わざとfailにしているならスマソ。
fail : 失敗する ・・・・・合ってるのかも(w
0731730
01/09/04 11:48ID:sfyz3S5.0732名無しさん@お腹いっぱい。
01/09/04 14:35ID:eE6ftGCAfunction($hoge[]){
}
で良かったんですね。ウトゥだ...。
0733小
01/09/04 23:53ID:v.Yb6HDErandだけではいけないのですか?
0734電動ナナシ
01/09/05 00:41ID:Dl24b5Kwrand() は、シードと呼ばれるある数字をもとに、計算した結果を返す。
計算内容は最初から決まっているので、シードが分かってしまうと結果と
なる乱数が分かってしまう。これでは都合が悪い場合がありうる。特に
暗号化処理などで乱数を使う場合には非常に都合が悪い。
シードは通常現在時刻とされることが多いので(PHP が何を使っているか
は特に調べていない)、時刻がわかると計算結果がわかってしまう可能性も
高い。そこでシードを自由に定義できるようにしたのがこの srand() 関数。
ということで必要に応じて使うのがよい。ポイントは、rand() の結果が
予測されてまずいことがあるか?である。なおシードの与え方が下手糞だと
かえって予測しやすくなる可能性もあるので注意。
<?php
// seed が一定なら、rand() の結果も一定であることを示す
function seedTest($seed) {
srand($seed);
return rand();
}
for ($i = 0; $i <= 10; $i++) {
srand($i);
$rand[$i] = rand();
}
for ($i = 0; $i < 10000; $i++) {
$x = $i % 10;
$currentRandom = seedTest($x);
$diff[$x] += abs($rand[$x] - $currentRandom);
}
for ($i = 0; $i <= 10; $i++) {
echo "total amount of diffrences is " . $diff[$x] . "<br>\r";
}
?>
結果はすべて 0 になる。つまり seed が一緒なら rand() の結果も一緒。
0735電動ナナシ
01/09/05 00:43ID:Dl24b5Kw0736小
01/09/05 03:01ID:BfAYMTkYsrandの意味理解できました。
なんか2ちゃんなのにそこまで丁寧に教えてくれるとは
思ってもみなかったです。
どうもありがとうございました。
0737名無しさん@XEmacs
01/09/05 10:42ID:/1y1O2Rwクラスと通常の関数で呼び出しのコストに差がありますか?
0738名無しさん@お腹いっぱい。
01/09/05 17:48ID:eOOIHzsk(from phpinfo())
すんません,こんなconfigureしたらcgi版としてインストール去れちゃったんですけど・・・
0739電動ナナシ
01/09/05 17:55ID:Dl24b5Kw'--with-pgsql=/usr/local/pgsql--with-apxs=/usr/local/apache/bin/apxs' が
一つの指示子として理解されているからだろ?
--with-apxs の前にスペースがないだけじゃないのか?。
0740電動ナナシ
01/09/05 18:08ID:Dl24b5Kw自分で実験してみりゃいいじゃん。
例えば同じ処理内容の関数とメソッドを 1000 回呼び出して
それにかかった時間を比較するとかさ。
0741名無しさん@お腹いっぱい。
01/09/05 21:59ID:vJu84N5c書籍やマニュアルを読みましたが分かりませんでした。
0742a'x
01/09/05 22:32ID:ORI0WPw6嘘つくな。マニュアルにしっかりと明記されている。
http://www.php.net/manual/ja/function.urlencode.php
0744名無しさん@お腹いっぱい。
01/09/06 12:02ID:S15PyfDMて既出でしょうか。
http://php.weblogs.com/php_gd
0745素人
01/09/06 13:55ID:tXlMtLNgflockは読み込みだけのときもした方が良いのでしょうか?
読み込みだけならflockしない方が処理が早いとかあるのでしょうか?
0746名無しさん@お腹いっぱい。
01/09/06 14:07ID:TE3IkoNgしましょう。
何か処理をする以上しないよりは当然遅くなりますが、
flock程度なら長時間ロックを開放しない操作とぶつかったりしない限り
人間の脳では「遅い」と体感できません。
0747素人
01/09/06 14:37ID:tXlMtLNgこんな素人な質問にも答えて頂いてありがとうございました。
0748737
01/09/06 14:58ID:zPRXqX4Eおわ, みのがすところだった. 確かに自分でやってみる
事が大切でしたね. すみませぬ. で,
http://www.geocities.co.jp/SiliconValley-Cupertino/6571/ClassAndFuncton.html
こんな感じでヘタレコード書いてやってみました.
FreeBSD 4.4-RC PHP 4.0.4
関数: 0.0011969804763794
クラス: 0.0021640062332153
ってことで確かに2倍近いですね. 普段やたらとクラスを
組んじゃう方なんで, ちょっと改めねば.
0749名無しさん@お腹いっぱい。
01/09/06 15:06ID:cGMUUJcsクラスの計測で new も計測に含まれてるのは不公平だと思った。
0750電動ナナシ
01/09/06 15:12ID:WeJ1j8Ik> class StopWatch { ...
ワラタ。考えることは皆同じだなあ。
ただ echo を使うのはどうだろうか。echo のスループットを測っているのか、
Function/Method の呼出オーバーヘッドを測っているのか分からなくなる
からね。自分は return 0; でやっていた。
あと確かにオーバーヘッドは 2 倍近いが、1 万回呼び出しても 1 秒
足らずで済むということは、それほど気にしなくてよいという風にも
解釈できると思う。もちろんアクセス数次第でもあるが。
ちなみに Instance 生成のコストも加えると(ループのたびにインスタンス
生成すると)関数呼出の 4 倍近い時間がかかる。しかしそれでも 1 万回
やって 1 秒かからないことを意味するので、クラスの利用を控えるべき
という結論にはならないと思う。
0751737
01/09/06 15:35ID:zPRXqX4E>>750
ありがとうございますです.いろいろつっこまれるのを覚悟の上で
晒したんで勉強になります(w
もし宜しかったらもう一点だけ良いですか?
あのソースで MAX 1000, SURPLUS 100 にして
計測を交互に2回おこなうと,
関: 0.010907053947449
ク: 0.065219044685364
関: 0.077257037162781
ク: 0.079015016555786
と,あんまり結果が変わらなくなっちゃうんですけど
やっぱり echo とかの関係なんでしょうかね? いまいち
仕組みが理解しきれてないす.
たしかにコンマ以下の話なんで余り神経質になるのも
どうかと思いますが, 実際数値化しちゃうとどうも
気になっちゃいますね ^^;
0752電動ナナシ
01/09/06 16:29ID:WeJ1j8Ikecho のせいじゃないの?
return 0; のケースと比較してみたら?
0753737
01/09/06 17:11ID:zPRXqX4Eやっぱりそうなんですかね.ループの回数少ないときと
なんとなし振る舞いが違うみたいなんで気になってしまい
ました.
次は echo の振る舞いの勉強にでも逝ってきます.
いろいろありがとうございました.
0754名無しさん@お腹いっぱい。
01/09/07 11:58ID:OaYNu.EEmberegを使用すると
if (mbereg("[^ァ-ヶー―]",$strKatakana)) {
echo "error";
}
でも、環境的にmberegは使用できないもので・・・
if (!ereg("\%XA5[\%XA1-\%XF6]",$strKatakana)) {
echo "error";
}
と表示したのですが、チェックされませんでした。
16進で比較するときは、変数をbin2hexで16進に変えないと
いけないのでしょうか?それとも、正規表現が誤っているのでしょうか?
誰か教えてくれ〜〜ぇぇ!!
0755754
01/09/07 15:25ID:OaYNu.EEecho "error";
}
preg_matchって先頭の文字しか見ないの????
よくわからん・・・まじ誰かおしえてちょ!!!
0756a'x
01/09/07 16:39ID:???echo "error";
}
てしてみ
0757a'x
01/09/07 17:07ID:???> preg_matchって先頭の文字しか見ないの????
そんなことは有りません。
0758754
01/09/07 18:16ID:OaYNu.EEえっ?!
if (!preg_match("/^(?:\xA5[\xA1-\xF6])+$/",$strKatakana)) {
echo "error";
}
でOKだったよ。
何を勘違いしたんだ????
0759a'x
01/09/07 20:48ID:???いや「先頭」じゃなくても含まれていればOKだから、
それを聞きたいのだと勘違いした。
0760名無しさん@お腹いっぱい。
01/09/07 21:18ID:nRQyk2nw82A0 ⇒ あ に変換するやり方がわからないですが
お願いします。
0761名無しさん@お腹いっぱい。
01/09/07 21:30ID:???0762名無しさん@お腹いっぱい。
01/09/07 21:37ID:???俺としたことが、ネタで失敗するとは。
$after = str_replace('82A0','あ',$before);
0763760
01/09/07 22:10ID:nRQyk2nwスイマセン、言葉が足りませんでした。
PHP勉強中で、bin2hexで16進数にしたものを
元に戻すやり方がわからないのですが、教えていただけますか。
0764761,762
01/09/07 22:32ID:???function hex2bin($data) {
$len = strlen($data);
return pack("H" . $len, $data);
}
0765760
01/09/07 22:55ID:???0766ナナシソンケイ
01/09/08 11:39ID:???0767名無しさん@お腹いっぱい。
01/09/08 22:14ID:5y4JfV.o聞いてどうするんですか?
0768名無しさん@お腹いっぱい。
01/09/08 23:23ID:4CVLgBKA0769名無しさん@お腹いっぱい。
01/09/09 00:43ID:DP/tAPD20770名無しさん@お腹いっぱい。
01/09/09 00:50ID:???0771名無しさん@お腹いっぱい。
01/09/09 00:51ID:DP/tAPD20772名無しさん@お腹いっぱい。
01/09/09 02:12ID:jgYLpC4Mで出来ると思うけど、Cで書くんじゃないの?
Zendナンタラもってるの?
0773名無しさん@お腹いっぱい。
01/09/09 09:13ID:YjZ3tK1U0774電動ナナシ
01/09/09 11:34ID:XOY93OXwいくつに見える?
>>768
http://www.zend.com/store/products/zend-encoder.php
>>769
MySQL なら Win32 できちんと動作するが PostgreSQL は Cygwin でなんとか
動き始めたってレベルだからなあ、とりあえず MySQL だろ。
0775電動ナナシ
01/09/09 11:39ID:???補足: PostgreSQL for Win32 が置いてあるところ
http://hp.vector.co.jp/authors/VA023283/PostgreSQL.html
http://www.s34.co.jp/~luster/pgsql/
0776名無しさん@お腹いっぱい。
01/09/09 12:10ID:???30代前半!
0777ちゅ
01/09/09 15:40ID:APXP5uloOracleを使う予定なんですが、、、
0778ちたん
01/09/09 21:05ID:l1z5H3So0779名無しさん@お腹いっぱい。
01/09/10 09:15ID:???あほか。ribbonに聞けよ。
0780ちたん
01/09/10 14:23ID:NewyOZz.昨日の夜にメールしたよバーロ
0781名無しさん@お腹いっぱい。
01/09/10 14:29ID:???ならちっとは待てや、ヴォケ。
0782名無しさん@お腹いっぱい。
01/09/10 21:44ID:XxwdMWNkやっぱりselectしてHTMLで吐く必要があるんでしょうか?
テーブルの中身を全て出力するような関数はあるんでしょうか?
一通り見てみたんですが難しくて分からないです…。
0783自宅
01/09/11 01:37ID:6viQoEfIchecing for Apache modure support via DSO through APXS...Killed
ld.so.1 /usr/local/bin/perl:fatal:libgdbm.so.2:open failed:No such file or directory
Killed
〜
〜
のエラーメッセージが出ます。詳しい方教えてください。
Apacheは1.3.20です。
0784名無しさん@お腹いっぱい。
01/09/11 08:58ID:???or
PHPのconfigureオプションの "--with-apxs=" のapxsへのパスが間違っている
...だと思う。(たぶん)
0785名無しさん@お腹いっぱい。
01/09/11 18:44ID:tVWPLvf2$data = fgetcsv($fp, 10000, "*+*");
こんな感じなんですが、実際にこれで試してみると
名無しさん*+*お腹いっぱい*+*phper
のようなデータが
名無しさん
+*お腹いっぱい
+*phper
のように取得されてしまうのですが・・・
0786ちたん
01/09/11 22:14ID:zV9WZGCY0787ちたん
01/09/11 22:14ID:zV9WZGCY0788名無しさん@お腹いっぱい。
01/09/11 23:15ID:???http://gochagocha.hypermart.net/news.html
>>
うちでは
名無しさん
+
お腹いっぱい
+
phper
こうなった。2文字はダメみたい
0789名無しさん@お腹いっぱい。
01/09/12 09:50ID:???ribbon放置。マジレス。
0790785
01/09/13 13:38ID:RxgTwEGsやっぱダメですか・・・
2文字以上使えたほうが便利だと思うんですけどねえ。
ちなみに千葉ではないですよ。
あと、*+*で試したときの結果は>>788の通りです。
>>785は間違いですね。申し訳ない。
0791785
01/09/13 13:41ID:RxgTwEGs>>788の「千葉」は俺のことじゃないのかな?(^^;
しかしなぜこのスレに・・・
0792PHPビギナー
01/09/14 05:53ID:???DBからデータを取ってくるとこまではできたのですが、ショッピングカートの
スクリプトがよくわかりません。参考になる書籍やサイトがあれば教えてください。
環境は
Apache+PHP4.0+PostgreSQL
です。
*プロフェッショナル PHP プログラミング (インプレス)に
ショッピングカートの例が載っているようですが、
PHP4で書かれているものなのでしょうか?
0793名無しさん@お腹いっぱい。
01/09/15 00:01ID:Mx2VGXIgテキストを返す場合にはどのようにすれば良いのでしょうか?
具体的には、htmlのタグから呼び出す形のカウンタを考えています。
画像の場合には
<img src="count.php?pic=normal">
から
header("Content-type: image/gif");
readfile("count.gif");
で成功したのですが、画像ではなくテキストを返すときにはどのようにすれば良いのでしょうか。
どなたかよろしくお願いいたします。
ところで、ここ数日電動ナナシさんの姿が見えないんですが、
まさか時期的にアメリカで・・・ってことはないですよね?
不謹慎な発言で申し訳ないんですが。
0794名無しさん@お腹いっぱい。
01/09/15 00:04ID:???0795793
01/09/15 00:11ID:Mx2VGXIgそれやってみたんですが、imgタグからじゃだめですよね?
htmlの側には何を記述すればいいんでしょうか?
0797793
01/09/15 00:41ID:Mx2VGXIg一応冷静なつもりなんですが・・・
興奮する理由もありませんし。
でもとりあえずしばらく頭冷やしに逝ってきます。
0798名無しさん@お腹いっぱい。
01/09/15 01:32ID:6vm7gPGIちなみに、cgi版の方は、
あるメールアドレス宛にメールが送られると、
そのメール本文に記述されたコマンドに従い、
phpでソケット通信を行うことをしたいです。
#ただし、個人用として
0800電動ナナシ
01/09/15 02:15ID:41dU1HoU全件 SELECT して HTML, CSV, Text, XML などの形式で出力という方法と、
mysqldump などのツールを system/exec などで呼び出してファイルに
吐き出させそのファイルをダウンロードするという方法が考えられる。
>>792
プロフェッショナル PHP は PHP3 がベース。ただし PHP4 でも動作すると
思われる。
>>793
<img> 要素でテキストを吐くとはどういう意味?
テキストを吐くなら例えば <p><?php echo $count;?></p> ではないか?
> 時期的にアメリカで・・・
んなわけない。バカみたいに忙しかっただけ(現在進行形)。
0801793
01/09/15 02:40ID:xSOUSWy6お帰りなさいませ。
なるほど、「imgでテキストを吐く」って意味で捉えられてたんですね。
説明が下手糞で申し訳ないです。
そーじゃなくて、「phpの使えないWebサーバーから外部のphpを呼び出して実行するには」ってことです。
画像ならimgタグで対処できるんですが、テキストの場合にはどうするのかと。
0802教えて君
01/09/15 02:44ID:???PHP がダメでも Perl とかで書くとか。
どうしても HTML にしたかったら IFRAME にせんとしゃーないんじゃないの?
0803名無しさん@お腹いっぱい。
01/09/15 03:18ID:gil3KVDkたとえば、
Servletの RequestDispatcher::forward や
mod_perlの $r->internal_redirect()
のような機能をさがしてるんですが・・・
0804名無しさん@お腹いっぱい。
01/09/15 03:19ID:zzcqTWls0805電動ナナシ
01/09/15 03:26ID:41dU1HoUinclude("redirected.php");
0806名無しさん@お腹いっぱい。
01/09/15 03:41ID:???なるほど。ありがとうございます。
0807名無しさん@お腹いっぱい。
01/09/15 16:31ID:/i3svf82http://www.ajnet.ne.jp/~fujiko/php/kaimono_kago.hpml
http://www.pat.hi-ho.ne.jp/dimension/php/sample_session.shtml
php4ならセッションだ
0808PHPビギナー
01/09/15 16:51ID:fB0zxQ.2セッションだってのはわかってたのですが、
どう扱っていいか困っていました。
教えていただいたところを参考にさせてもらいます。
大感謝です。ありがとうございました。
0809名無しさん@お腹いっぱい。
01/09/16 02:49ID:fYyKhX.6とすると、nl2br(htmlspecialchars の文字がそのまま表示されてしまいます。
nl2br(htmlspecialcharsを実行した結果を表示させたいのですが、
どうあがいても、""のなかにこれらは使えないのでしょうか?
print "<li>".nl2br(htmlspecialchars($row[cattitle]))."</li>";
とするしかない?
#ちなみにphp4.0.6です
0810電動ナナシ
01/09/16 03:04ID:/x6e5ZPc使えなくて当然だと思うが?素直に連結を使え。
もし勝手に関数として処理されたら、画面上に "nl2br" という文字列を
表示したい場合にどうなると思う?
0811782
01/09/16 20:10ID:FLAOJ45g有難うございます。やはり全件SELECTか・・・。ガンバろ。
0813名無しさん@お腹いっぱい。
01/09/16 22:05ID:NAhTKKTI入れない(;_;)
入り口はどこだら
0814名無しさん@お腹いっぱい。
01/09/18 18:53ID:YStyq7VwPOSTやGETで渡ってくる値について、イタズラ防止のために
どんな手を使ってますか?
例えばHTMLタグの除去なんかでも、閉じてないタグってのが面倒で。
$string = strip_tags($string);
$string=ereg_replace("<","",$string);
$string=ereg_replace(">","",$string);
直球勝負だとこうなるけど、例えば$string = '<br' のとき
$string= 'br'になってなんかカコワルイ
もちろん渡ってきた値によってチェックの方法が変わるのは
当然ですけど、みんなが普段やっている事を教えて欲しいです。
0816名無しさん@お腹いっぱい。
01/09/18 23:10ID:OhWz5MBs0817名無しさん@お腹いっぱい。
01/09/22 18:51ID:P.C6IyNM日本語と韓国語を同一ページに表示させたいのです。。。
0818名無しさん@お腹いっぱい。
01/09/22 20:40ID:???なにか測ってくれるものとかない?CPUとかディスクアクセスの負荷とか
0819名無しさん@お腹いっぱい。
01/09/22 20:51ID:???require_once('Benchmark/Timer.php');
0820名無しさん@お腹いっぱい。
01/09/22 21:54ID:cRExCwDU818じゃないけど初めてみた。
調べたけどわかないっす。良ければ教えていただけないでしょうか。
0821819じゃないが
01/09/23 00:38ID:???何が分からんのかしらんが
http://phpdocu.sourceforge.net/peardocs/Benchmark_Timer.html
0822名無しさん@お腹いっぱい。
01/09/23 00:55ID:4CXFxSrkをご存知でしたら、ぜひ教えてくだされ。
moファイルを擬似的に読み込んで使う方法でも助かります。
0823-
01/09/23 01:05ID:DSlKrv6shttp://members.tripod.co.jp/bingo852/
0824名無しさん@お腹いっぱい。
01/09/25 06:29ID:7/QmGq2M出版物一覧があり、これを出版日順(PUBLISH_DATEが新しいほど上)にソートし、出版物一覧を表示させたいです。
ところが、なかに、出版日がNULLのレコードがあり、一覧の中でもっとも下に表示させたいのですが、
ORDER BY PUBLISH_DATE DESC とすると、一番上にきてしまいます。
これを、もっとも下にするにはどうすればいいでしょうか?
#手段はSQLを工夫するのでも、PHPで工夫するのでもかまいません。
#ただ、出版日をNULLでなく、3000-01-01にするとかはナシで。
0825名無しさん@お腹いっぱい。
01/09/25 08:45ID:???新しいほど上なら3000-01-01なんかにしたら
一番上に来ますが。
0826電動ナナシ
01/09/25 09:54ID:fMa3qjrs非 NULL な列をソートして、それに NULL な列を union で追加する、
つまり
(SELECT ... FROM pub WHERE publish_date IS NOT NULL ORDER BY publish_date DESC)
UNION ALL
SELECT ... FROM pub WHERE publish_date IS NULL;
ではどうだろう?
Oracle のマニュアルが手元にないから、構文が違っているかもしれないが。
# PostgreSQL では動いた。
0827電動ナナシ
01/09/25 11:58ID:fMa3qjrsSELECT ...
DECODE(publish_date, NULL, TO_DATE('1900-01-01', 'YYYY-MM-DD'), publish_date) "pubdate" ...
FROM pub WHERE ... ORDER BY <列番号> DESC;
ならどうかな。"1900-01-01" という日付自体出てほしくないなら、
>>826 に書いたような方法になると思う。
0828あわわわ
01/09/25 19:31ID:wjpcATe20829電動マンコ
01/09/26 00:09ID:???SELECT ...
DECODE(publish_date, NULL, TO_DATE('1900-01-01', 'YYYY-MM-DD'), publish_date) "pubdate" ...
FROM pub WHERE ... ORDER BY <列番号> DESC;
ならどうかな。"1900-01-01" という日付自体出てほしくないなら、
>>826 に書いたような方法になると思う。
0830
01/09/26 02:58ID:oQYf099Qに依存してて満足なのか?すごいねー。 よっぽど現実世界にご不満があ
るのですね(ワラ 貴様らが立てたクソスレに、こんな時間だっていうのに
死体にたかる蛆のようにレスがついていきやがる。 ほんと多いんだね
〜暇人って、とかまじまじと思ったよ。
どうせお前らは学校からも社会からもつまはじかれる 基地害かブサイク
なんだろ?文体や文字だけの台詞回しで
恰好付けてないで正直に言えよ!!俺が認めてやるからさ(ワラワラ 普通平
均以上のルックスの持ち主なら、こんな時間に ネットなんてやらずに、
しかもこんな駄掲示板来ずに ツレと遊んだり彼女や彼氏と寝てるぜ?
いっとくが、『おまえもな』とか 馬鹿の一つ覚えみたいな返事するん
じゃねーぞ それくらい常人の半分くらいしかない脳絞って考えれば
わかるだろ。俺は二度とこんな所こないし まぁ俺が言いたいのは
『おまえらの人生終わってるから今すぐ消えてください』 ってこと
でーーーーーす♪てへっ!
0831名無しさん@お腹いっぱい。
01/09/26 03:19ID:???0832あわわわ
01/09/26 14:10ID:3JbOB13A0833名無しさん@お腹いっぱい。
01/09/26 15:52ID:???0834postgresで
01/09/27 05:33ID:UdkWWoXspg_resultで
't'とか'f'のstringになって返ってきます
if (!pg_result(.....)) とかできません。
intで返ってこさせるにはどうすればいいんでしょう?
0835名無しさん@お腹いっぱい。
01/09/27 07:39ID:???オナニーしてる自分が格好悪いと思わねえのかよ。
少しは自分が人間であることを自覚して動物的本能に
沿った行動ばっかりしてる奴はとっとと首でも吊って氏ねよ
0836名無しさん@お腹いっぱい。
01/09/27 13:51ID:vLhkAkJY最近PHP始めたモンですが、ファイルをDLする前にワンクッション置きたいのです
GET /.../targetfile
の変わりに
GET /.../dl.php?file=targetfile
としてdl.phpからtargetfileを送り込むようにしたいんですが
どうしたら良いもんでしょう?
0837名無しさん@お腹いっぱい。
01/09/27 14:13ID:???2. HTMLを出力して <meta http-equiv="Refresh" content="...."> で飛ばす。
3. ダウンロードさせたいファイルを読み込んで、ダウンロードるような Content-Typeで出力。
ダウンロード時のファイル名はContent-Dispositionヘッダで指定。
0838誤字脱字
01/09/27 14:15ID:???0839名無しさん@お腹いっぱい。
01/09/27 15:48ID:vLhkAkJYおお、こりゃどうも
最終的にやりたいのはtargetのファイル名が日本語なんで
自前でコード変換したかったのよ
いろんなブラウザで試したけどかなり挙動が違うのとIEみたいに
UTF8で円コードされると大変
やっぱしHTTP&HTMLの仕様から勉強しとかんと駄目かな
0840名無しさん@お腹いっぱい。
01/09/27 17:02ID:???そのまま掲示板に掲載することのできるCGIはありませんか?
0841名無しさん@お腹いっぱい。
01/09/27 17:12ID:???スレ違い・マルチポストうざい。
0842名無しさん@お腹いっぱい。
01/09/28 01:59ID:aKsWtSRQ0843名無しさん@お腹いっぱい。
01/09/28 02:20ID:???08441
01/09/28 02:47ID:cpdlLQHwhttp://www.f2.dion.ne.jp/~impact14/その画像ならココ
http://www.f2.dion.ne.jp/~impact14/
0845名無しさん@お腹いっぱい。
01/09/28 04:54ID:M1pC8nxQ0846名無しさん@お腹いっぱい。
01/09/28 11:29ID:NAO7pL3Efalseと0とヌルを区別して判定する事はできるのですか?
0847名無しさん@お腹いっぱい。
01/09/28 14:51ID:JrfXQnTkhttp://delta.r7office.net/customize/wintips/
で「表示をカスタマイズ」を実行した後、nextやprevをクリックすると
人によって「Fatal error: Allowed memory size of 8388608 bytes exhausted...」
なるエラーが出るみたいです(全員という訳ではない)。
しかもエラー出る人はリロードすれば直るのが大半。
Pragmaでキャッシュクリアしてるんですが原因不明です。
0848PHP
01/09/28 22:46ID:pG3W2who0849名無しさん@お腹いっぱい。
01/09/28 23:47ID:01qfCc5kphpでは区別してないはず。
0850った
01/09/29 12:42ID:???0851名無しさん@お腹いっぱい。
01/10/04 09:35ID:uHZM4LKIphp 初心者 で検索しても解説本ばっかりヒットしてしまいます。
0852名無しさん@お腹いっぱい。
01/10/04 09:36ID:???Perlの数倍は処理が早いしな。
0853名無しさん@お腹いっぱい。
01/10/04 10:14ID:???ソフト自体のプログラムソースが公開されているっていう意味ですか?
それって意味あるんですか?そんなの初心者が見たところでちんぷんかんぷん
だと思うんですが。
0854気合い入った初心者
01/10/04 10:37ID:???ですが何故cgiスクリプト配布サイトではperlで作っている
とこがほとんどなんでしょうか?
シェアもperlの方が上なんですよね?
0858名無しさん@お腹いっぱい。
01/10/04 10:51ID:???初心者が見る必要ねぇよ。隠したら上級者も見れんだろボケ
0860名無しさん@お腹いっぱい。
01/10/04 11:15ID:???suexecに対応していないから、素人が作るとDB等のパスワードが漏れる可能性があるから。
昔はセキュリティ面のバグが結構あったから。
Perlに比べ頻繁にバージョンアップするから。
要望が少ないから。
0861名無しさん@お腹いっぱい。
01/10/04 11:27ID:???mod_perlがメモリー食うという人はspeedy_cgiを使ってみてください。
0862名無しさん@お腹いっぱい。
01/10/04 12:46ID:???スレ違い。このスレはPHPスレなんだから
Perl CGIが遅い→PHPを使ってみよう
で良いんだよ
0863気合い入った初心者
01/10/04 13:12ID:???Apacheはどこで手に入れればいいんでしょうか
0864気合い入った初心者
01/10/04 13:14ID:???Widowsで動かしたいんですが、
php-4.0.6-Win32.zip
apache_1.3.20.tar.gz
でいいんですよね?
0865名無しさん@お腹いっぱい。
01/10/04 13:20ID:???*.msiって拡張子のね。
0866気合い入った初心者
01/10/04 13:29ID:???ぼ、僕に言ってるんでしょうか。
http://www.apache.or.jp/dist/httpd/
ここを探しても*.msiってファイルはないようなんですが。。
0867名無しさん@お腹いっぱい。
01/10/04 13:41ID:???http://httpd.apache.org/dist/httpd/binaries/win32/
0868気合い入った初心者
01/10/04 13:42ID:???apache_1.3.20-win32-no_src-r2.msi
これでいいんですよね?
0869気合い入った初心者
01/10/04 13:44ID:???サービスでインストールできません。
新しいバージョンの Windowsインストーラを含むWindowsサービスパックを
インストールする必要があります。
ダブルクリックするとこんなメッセージが出てしまいますが。。。
0870名無しさん@お腹いっぱい。
01/10/04 13:50ID:???の中ではどの言語でCGI組んだら一番速い?
それとこの中で一番処理が遅いのはどれ?
0871教えて君
01/10/04 13:53ID:???チョッピリスレ違いだが、
それはアンタがそれぞれの言語の癖を熟知してて
最速のアルゴリズムでプログラムを組めるという前提でいいんだな?
0872気合い入った初心者
01/10/04 14:04ID:???0873名無しさん@お腹いっぱい。
01/10/04 15:01ID:???最初はこのとおりにやってもいいんじゃないかと。
http://www.spencernetwork.com/CommonGatewayInterface/WinApacheServer/
0874名無しさん@お腹いっぱい。
01/10/04 15:09ID:???http://prdownloads.sourceforge.net/phptriad/phptriadsetup2-11.exe
こういうものがあるよ。
Apache1.3.12+PHP4.0.5だから必要なら自分で
バージョンアップしないとダメだけど。
まあ、実行するだけでテスト環境はできるんで。
0875名無しさん@お腹いっぱい。
01/10/04 15:54ID:???どうもご親切にありがとうございます。
もう少しやってみます。
0876名無しさん@お腹いっぱい。
01/10/04 16:03ID:???これからますます広まってくと思うなあ。
Windowsユーザなら、MSインストーラの最新バージョンは
入れておいたほうがいいんじゃないか。
#しかし>>864-869はお役所の窓口を
#たらいまわしされてるみたいでちょっとワラタよ。
0877気合い入った初心者
01/10/04 16:17ID:???ところで拡張子なんですが、現在はphp3になっています。
どうしてPHP4を入れたのに3なんでしょうか。
あともう一つ。
echo "<font size=\"5\">あいうえお</font>\n";
echo ("<font size=\"5\">あいうえお</font>\n");
()があるのとないのと表示結果同じなんですけど
何か違うんでしょうか?
08781
01/10/04 16:43ID:ipU3GGMs0879名無しさん@お腹いっぱい。
01/10/04 16:48ID:???動いてるのはPHP4だけど拡張子が.php3じゃないと動かないってこと?
それならhttpd.confいじるだけだと思うけど。
括弧の有無は関係ないと思われ。
自分はつけてない。
0880気合い入った初心者
01/10/04 16:50ID:???そうです、インストールしたのはPHP4なんですけど
拡張子はphp3じゃないと動かないですね。
これって別に気にしなくても平気ですか?
括弧の有無は関係なかったんですね。
じゃ、無しの方がいいですね。
0881名無しさん@お腹いっぱい。
01/10/04 16:54ID:???このくらい自分で調べた方が・・。
httpd.conf開いて
AddType application/x-httpd-php .php
にする。
0882気合い入った初心者
01/10/04 17:21ID:???ごめんなさい。どうもありがとうございました。
perlでいうと、
$hoge = $query->param('mode1');
こうやってパラメータを受け取りますが、phpだとどうやって
パラメータを受け取るんでしょうか。
何故か手元の本に載っていないんですが。。。
0883名無しさん@お腹いっぱい。
01/10/04 17:38ID:???例えば
<textarea name="hoge">
からデータを受け取ったら$hogeという変数に入る。
Webで検索すれば初心者向きのページもあるので
探してみるのがいいと思うよ。
0884名無しさん@お腹いっぱい。
01/10/04 17:46ID:???>何故か手元の本に載っていないんですが。。。
役にたたなすぎる本だな。
0885名無しさん@お腹いっぱい。
01/10/04 18:00ID:???その本のタイトル晒しageキボンヌ
0886名無しさん@お腹いっぱい。
01/10/04 18:54ID:/cB87EZ.0887名無しさん@お腹いっぱい。
01/10/04 19:05ID:???0888名無しさん@お腹いっぱい。
01/10/04 19:52ID:???0889名無しさん@お腹いっぱい。
01/10/04 22:36ID:Wv.x.fIUパラメーターを受け取る作業を行わなくても勝手に入るんですか?
<?
$hoge;
?>
ってやっておけばいいだけなんでしょうか。
どうもごめんなさい。初心者向けのHP探して頑張ります。
0890名無しさん@お腹いっぱい。
01/10/04 23:22ID:???た。(サンプルが偏っていますが、)
実体どうなんでしょうか?
PHPがおじさん言語になりつつあるような危惧をふと覚えました。
学生や若い方の近くおられるひと、感触ありましたら、よろしくお願いします。
0891名無しさん@お腹いっぱい。
01/10/04 23:43ID:???仕事もJava関連増えてきてるし。
PHPはあまり増える傾向が無い(w
遊びプログラマーなら、簡単且つFWPでも使えるトコが結構ある
PHPに興味持ちそうだけど、その前にPerlに入るか。
結局PHPは位置的に中途半端なのかもね。
0893おじさん言語
01/10/05 01:22ID:szxmKTVE読み続けるにはリファレンスがヒドイですよね
0894
01/10/05 10:40ID:DQvM1FAo何回かに一回PostgreSQLのSELECTで件数が0件になって
しまい、30秒ほど待ってアクセスすると正常に検索される
という現象が起きています。PHPLIBのセッション変数を
多用しているのですが、これがPostgreの問題なのか、PHPLIB
辺りの問題なのか分かりません。どなたか分かる方いないでしょうか。
0895名無しさん@お腹いっぱい。
01/10/05 10:47ID:???0896894
01/10/05 11:09ID:DQvM1FAoなるほど(苦笑
でもプログラム中には時間計算に関する部分はまったく
無いので、30秒ほど待つと正常に動作するというのは
環境の問題のようが気がして、いろいろ調べたのすが、
原因がわかりませんでした。
0897気合い入った初心者
01/10/05 14:35ID:???ふたつにあります。
Apache as a serviceとManagement
です。
どちらにもStart serviceっていうのがあるんですが
どっちから起動すればいいんでしょうか。
0898気合い入った初心者
01/10/05 15:11ID:???何故かファイルがDLされようとしたり、
ソースが全部そのまま表示されたりしてしまいます。
訳がわからない・・・。
0899名無しさん@お腹いっぱい。
01/10/05 15:34ID:???GZIP圧縮送信を使うにはどう記述すればいいの?
Perlの場合は、
print "Content-type: text/html;charset=x-sjis\n";
print "Content-encoding: gzip\n\n";
open(STDOUT,"| $gzippath -1 -c");
こんな感じだったけど
0900気合い入った初心者
01/10/05 16:12ID:???echoとprintってどっち使っても同じですか?
0901名無しさん@お腹いっぱい。
01/10/05 17:03ID:???せっかくだからPHPで掲示板作ってみませんか?スレに書いてたYO!
http://ebi.2ch.net/test/read.cgi/php/982779383/12
0902気合いだけじゃだめだと悟った初心者
01/10/05 19:43ID:6xwwz1Q.$week = array("日","月","火","水","木","金","土");
for ($i=0; $i<sizeof($week); $i++){
echo "<input type=checkbox name=$week>$week";
}
こうした場合なんですが、チェックボックスを2つ以上チェックして
フォーム送信したら、
あとでパラメータを受け取る時
$weekにふたつ以上変数に値が入ってしまいますよね?
"日"と"月"をチェックして送信したら$weekは一体どうなるんでしょうか。
当然チェックされたものを全部表示したい訳で。。。
090322
01/10/05 19:45ID:kfBSfYqchttp://www.max.hi-ho.ne.jp/%7Ehttp/
0904電動ナナシ
01/10/05 20:25ID:???> "<input type=checkbox name=$week>$week
これって
<input type=checkbox name=hoge value=$week>$week
だろ?問題文の意図からして。
この場合、変数が後から順次上書きされて、最後の変数だけが代入される。
それを避けたければ
<input type="checkbox" name="selecteddayofweek[]" value=...
という風に name 属性値に [] をつけて配列にしろ。
以下はサンプル。
<form name="arraypost" action="arraypost.php" method="post">
<?php
$week = array("Mon", "Tue", "Wed", "Thr", "Fri", "Sat", "Sun");
foreach ($week as $wod) {
echo "\t<input type=\"checkbox\" name=\"aWeek\" value=\"" . $wod . "\">" . $wod . "<br>\r";
// 配列にした場合
// echo "\t<input type=\"checkbox\" name=\"aWeek[]\" value=\"" . $wod . "\">" . $wod . "<br>\r";
}
?>
<input type="submit">
</form>
<?php
if (is_array($aWeek)) {
foreach ($aWeek as $awod) {
echo "got '" . $awod . "'<br>\r";
}
} else {
echo "got '" . $aWeek . "' only.<br>\r";
}
?>
0905名無しさん@お腹いっぱい。
01/10/08 21:53ID:kC/b5JDY0906みや
01/10/09 04:49ID:QnntbG8o$rs = OCIParse($conn,
" DECLARE\n".
" customer_id NUMBER(8, 0);\n".
" account NUMBER(8, 0);\n".
" BEGIN\n".
(中略)
" INSERT INTO MEMBER_MASTER VALUES(\n".
" account, :auth_level,\n".
(中略)
" :post, :group_free, :profile );\n".
" COMMIT;\n".
" :account := account;\n".
" EXCEPTION\n".
" WHEN OTHERS THEN ROLLBACK;\n".
" END;");
$Account = -1;
OCIBindByName($rs, ":ACCOUNT", &$Account, -1);
・・・ということをやっているのですが、
このあと、
$Accountを参照すると、
「rs@」
(@の部分は特殊コードが入っている模様)
となってしまうのですが、
なぜなのでしょう?
0907名無しさん@お腹いっぱい。
01/10/09 13:16ID:???そもそも、1つだけ選択させるのにチェックボックス使うのが間違い。
ラジオボタンにすれば?これなら1つしか選択を許さないよ。
HTMLを復習されたし。
0909名無しさん@お腹いっぱい。
01/10/09 19:38ID:???そ、、そっか。「チェックされたものを全て表示したい」だもんね。
私は日本語から復習しまっす。
0910電動ナナシ
01/10/09 19:56ID:???$NY = array("NY-A","NY-B","NY-C");
$2ch = array("2ch-A","2ch-B","2ch-C");
$yahoo = array("yahoo-A","yahoo-B","yahoo-C");
普通 print ("$NY\n");
で、Array が表示されますよね。
だから↓だと、
for($i=0; $i<count($city); $i++){
print ("<h4>$city[$i]</h4>\n");
}
<h4>Array</h4>
<h4>Array</h4>
<h4>Array</h4>
が表示されるはずですよね?それが期待通りにいかないです。
0913名無しさん@お腹いっぱい。
01/10/10 11:43ID:???折角マニュアルが日本語であるんだからマニュアルぐらい読めや。
0914名無しさん@お腹いっぱい。
01/10/10 11:49ID:???代入の順番がおかしいよ。
それだと、$cityに格納した段階では何も値がない。
参照代入するか、
$city = array("$NY","$ch","$yahoo");
$NY = array("NY-A","NY-B","NY-C");
$ch = array("2ch-A","2ch-B","2ch-C");
$yahoo = array("yahoo-A","yahoo-B","yahoo-C");
for($i=0; $i<count($city); $i++)
print("<h4>$city[$i]</h4>\n");
ならうまくいくはず。
ついでに、$2chって変数は不可ね(頭に数値がある)。
>>921
使える。
0915914
01/10/10 11:52ID:???$NY = array("NY-A","NY-B","NY-C");
$ch = array("2ch-A","2ch-B","2ch-C");
$yahoo = array("yahoo-A","yahoo-B","yahoo-C");
$city = array("$NY","$ch","$yahoo");
for($i=0; $i<count($city); $i++)
print("<h4>$city[$i]</h4>\n");
だよ・・・
逝ってきます。
0916
01/10/10 18:47ID:yOfgWD320917ヽ( ̄▽ ̄)ノ
01/10/11 10:43ID:j6MsruhYsendmail使える鯖で、mail()を使えば簡単に出来ると思います。
0918名無しさん@お腹いっぱい。
01/10/11 10:59ID:???http://www.php.net/manual/ja/function.mail.php
0919916
01/10/11 13:53ID:J.dJ1tTI>> 918
ありがと! やてみます
0920名無しさん@お腹いっぱい。
01/10/11 15:17ID:???どう記述すればいいんですか?
0922
01/10/11 16:25ID:J.dJ1tTIこれはどのように回避すれば良いのでしょうか
<?php
if(isset($HTTP_POST_VARS)){
print "post enable";
}
?>
0923pong
01/10/11 20:45ID:BRGBbLQ.リアルタイムで表示させる方法ってありますか?
system関数とかpopen関数を使った場合、pingが終了してから、
結果がまとめて表示されるのですが、これを一発打つごとに
逐次表示させたいのです。何かヒントを頂きたいです。
0924名無しさん@お腹いっぱい。
01/10/11 21:56ID:wpdLkiqc0925名無しさん@お腹いっぱい。
01/10/11 23:08ID:???ifが実行されるのはあたりまえです。
0926>924
01/10/12 00:30ID:GWCbLVAE0927電動ナナシ
01/10/12 00:36ID:f.Lts67Ycron を使って・・・
・lynx や wget で PHP なページを読む。
・CGI 版(コマンドライン)な php を実行する。
>>923
<?php
$host = "localhost";
$pinging = 10;
$reply = array();
for ($i = 0; $i < $pinging; $i++) {
$ping = `ping -c 1 $host`;
eregi("64 bytes[^\n]+", $ping, $reply);
echo $reply[0] . "<br>\r";
flush();
sleep(1);
}
?>
最初の何個かはまとめて表示されるが、まあいいだろ。
0928923
01/10/12 01:43ID:GWCbLVAE改良してみました
--------------------------------------
<?php
$host = "localhost";
$pinging = 5;
$fp = popen("ping -c $pinging $host","r");
while(! feof($fp)){
$result = fgets($fp,1024);
print "$result<br>";
flush();
}
pclose($fp);
?>
----------------------------------------
より自然な出力が得られます。ありがとうございました
0929電動ナナシ
01/10/12 06:00ID:eFqNxbXYこのコードを見れば何が起きているか分かるだろう。
<?php
function printPostVars($POST_VARS) {
print "post enable<br>\r";
print "Size of \$HTTP_POST_VARS is [" . sizeof($POST_VARS) . "]<br>\r";
foreach ($POST_VARS as $key => $value) {
echo "[" . $key . "]->[" . $value . "]<br>\r";
}
}
?>
<form method="post">
<input type="submit" name="test" value="POST">
</form>
<a href="<?php echo $PHP_SELF ?>">GET</a>
<hr>
<h3>First Test</h3>
<?php
if (isset($HTTP_POST_VARS)) {
printPostVars($HTTP_POST_VARS);
} else {
print "post disable";
}
?>
<hr>
<h3>Second Test</h3>
<?php
if (0 < sizeof($HTTP_POST_VARS)) {
printPostVars($HTTP_POST_VARS);
} else {
print "post disable";
}
?>
0930名無しさん@お腹いっぱい。
01/10/12 10:15ID:???思っているのですがDBの作成などは普通TELNETで行うものなのでしょうか?
0931とある名無し
01/10/12 10:40ID:???初心者にえらぶっておもしろいか?
とゆーかいちいち完成済みのコードかきやがって
暇だねーというかお節介っすね
0932名無しさん@お腹いっぱい。
01/10/12 10:52ID:???0933名無しさん@お腹いっぱい。
01/10/12 11:26ID:???何があったかしらんが、めげずに生きなさい。
0934名無しさん@お腹いっぱい。
01/10/12 11:24ID:???何があったかしらんが、めげずに生きなさい。
0935名無しさん@お腹いっぱい。
01/10/12 11:26ID:???[934:名無しさん@お腹いっぱい。 (01/10/12 11:24 ID:???)]
タイムスリップ成功!!
0936名無しさん@お腹いっぱい。
01/10/12 13:53ID:???電動は漏れと同じく漢だと思うにょ
0937名無しさん@お腹いっぱい。
01/10/12 14:11ID:???何があったかしらんが、めげずに生きなさい。
0938電動ナナソ
01/10/12 14:55ID:???|も.|
|う |
│来│
│ね│
│え .|
│よ .|
バカ ゴルァ │ !!.│
└─┤ プンプン
ヽ(`Д´)ノ ヽ(`Д´)ノ (`Д´)ノ ( `Д)
| ̄ ̄ ̄|─| ̄ ̄ ̄|─| ̄ ̄ ̄|─□( ヽ┐U
〜 〜  ̄◎ ̄ . ̄◎ ̄  ̄◎ ̄ ◎−>┘◎
0940名無しさん@お腹いっぱい。
01/10/12 15:46ID:???教えて君さまの一般的なレス
「君ここで聞く前にやる事有るんじゃ無いの? (以下略)」
電動ナナシさまの一般的なレス
「これで分かるはず」以下ソース
どっちが有用なのかなあ
0941名無しさん@お腹いっぱい。
01/10/12 15:55ID:IiySbKj2電動は漏れと同じく朕だと思うにょ
それに電動ナナシは>>930で/**このコードを見れば何が起きているか分かるだろう**/
と言っているよ、別に答えを書いた訳ではない。
電動ナナシの投稿はポインタだけ的確に示した簡潔なのばかりじゃん
>>教えて君
あなたMLに同じようなレス撃てます?、それとスレタイトルくらいは読む様にしようね
俺はむしろ結果書かない質問者にムカツクよ。。
0944名無しさん@お腹いっぱい。
01/10/12 17:13ID:???//php人口は少ないんだからさ
0945( ´∀`)
01/10/12 17:35ID:???0946名無しさん@お腹いっぱい。
01/10/12 18:24ID:???きっと住人は揃いも揃って一流のハッカーなんだろうね。
0947名無しさん@お腹いっぱい。
01/10/12 18:34ID:???0948電動ナナシ
01/10/12 18:40ID:???答えをそのまま書くヤツ、
PHP の仕事がないのでリハビリ代わりにコードを書いて確認するヤツ、
ヒントだけ書くヤツ、
嘘を書くヤツ、
答えを知っているけど笑って ROM しているだけのヤツ(これが多いと思う)、
質問者を煽って遊ぶヤツ、
回答者を煽って遊ぶヤツ、
煽り返して遊ぶヤツ、
吉野家のコピペをするヤツ・・・
いろいろいていいじゃんとか思うのだが。
板のポリシーが「答えをそのまま書かない」ということなら従う。
0949名無しさん@お腹いっぱい。
01/10/12 19:01ID:ID88ygPo作ることになりました。XMLの読み込み、解析を行いたいのですが、
外部のParserを使用せず、PHPだけのライブラリみたいなものを
使いたいんです。
Vectorにphpdomというライブラリがあったんですが、他に
同様のものをご存知ないですか。
0950名無しさん@お腹いっぱい。
01/10/12 19:02ID:???因みに俺は、これ流行るんじゃねえだろな、とか思ってこっそりやってるクチ
今の所役に立ってない w
php屋ってちょっと年齢設定高めな気がすんだけどその辺どうよ?俺の周りだけか・・
言語の発展に厨房の導入は必須だと思うんだが、稼げるかどうかは別にしてさ
ちゅうか、ここは学生さんが多いのかな? スレ違いスマソ
0951電動ナナシ
01/10/12 21:00ID:???質問は新スレ立ててやってもらうことにして。
# つうことで、自分はもうこのスレでは回答しないから。
>>950
PHP の仕事って思ったほどないというのが実感。自分もここ 1 年ほどは
PHP の仕事を受けていない。PHP でプロト作って反応見て、Servlet で
書き直すというパターンならいくつかあったが・・・。
年齢については、COBOL->VB と来ていた人間が、Web App 書くのにあたり
PHP を選んでいるからという事情があるからじゃないかな。前にも書いたが
まずHTML書く -> PHP で一部書き直す -> (゚д゚)ウマー という流れで
とりあえず動くものができてしまう PHP はこういう層にはとっつきやすいと
思う。
言語の発展における厨房導入の必要性は同感。こういった層が入門書や
セミナーの需要を掘り起こして、マーケットとして成立させる要因になると
思う。少数精鋭のエキスパートである Smalltalk マーケットの静かさと
Perl/Java/VB のマーケットを比較すると実感できるのではないかなあ。
0952名無しさん@お腹いっぱい。
01/10/12 21:14ID:???0953教えて君
01/10/12 21:17ID:???># つうことで、自分はもうこのスレでは回答しないから。
これってひょっとして漏れのせい?だとしたらスマソ。逝かないで〜
>>952
漏れも Perl からの乗換え組が多いんじゃないかと思うんだけど違うかな?
0955名無しさん@お腹いっぱい。
01/10/12 21:43ID:???0956教えて君
01/10/12 21:59ID:???PEAR って http://pear.php.net/ のこと?要る?
0957名無しさん@お腹いっぱい。
01/10/12 22:57ID:???http://phpdocu.sourceforge.net/peardocs/
0959名無しさん@お腹いっぱい。
01/10/13 00:04ID:GuBSZ4QA一応文系・・・なのかな?
世間では「文系と理系のハイブリッド学部」とか言われてるところ。
(実際にはほとんどが文系と理系に別れてしまうけど)
phpは趣味と勉強半々くらいの感覚。
C(かなり初歩)から流れてきたんだけど、phpに慣れるとCやJavaに戻れなくなりそう・・・
ちなみに俺の周辺では結構php人口増えてたりします。
厨房・工房はどうなんだろうねえ。
phpって最初にやるにはいい言語なのかな?
とっつきやすいのは確かなんだけど、後から他の言語に移ると最初は
「なんでこんなめんどくさいんだ!?」的な印象しかなくなりそう。
0960名無しさん@お腹いっぱい。
01/10/13 15:00ID:???0961930
01/10/14 00:35ID:dLsxEAV60964電動ナナシ
01/10/14 03:35ID:???TCP/5432 なパケットが通ったら、の話だけど。
まあ、まずは man psql だな。
Win32 でもこんなのあるぞ。
http://hp.vector.co.jp/authors/VA023283/PostgreSQL.html
0965930
01/10/14 12:29ID:fc26CS7b0966教えて君
01/10/14 12:41ID:???便乗質問いいスか?
漏れもリモートでの psql は結構使うんですけど
クライアント(Windows)側の psql が SSL 対応でないので
仕方なく ssh トンネルにしてます。
Windows native 版 psql が SSL 対応になればいいんでしょうけど多分難しいですよね。
ssh 使う以外に何かいい案はないですかね?
クライアントを UNIX系にすれば、というのはとりあえず却下でお願いします _o_
0967電動ナナシ
01/10/15 00:38ID:bXugOMlY自分は socks5 を使うことが多い。SocksCap (e-Border Client) を使えば
Win32 な環境からでも Socks 経由で透過的にアクセスできるし。
0968教えて君
01/10/15 02:28ID:???えーと…質問が悪かったかな。
通信経路を暗号化したいってことだったんスけど…
それとも socks5+SSH2 でってことかな?
やったことないんで勘違いだったらスマソ。
0969電動ナナシ
01/10/15 03:04ID:???そういう場合には相手ホストに ssh で入って作業することが多いので、
そもそもそういう問題について考えたことがない。
どうしても Win32 で psql 使う必要があるケースってどんなのがある?
ファイル読み込んで処理って話なら、ssh でファイル転送して先方で
実行させるなあ。長時間中断できないようなセッションを維持するのは
あんまり好きではない。
0970名無しさん@お腹いっぱい。
01/10/15 08:25ID:oufjl8XN0971名無しさん@お腹いっぱい。
01/10/15 10:27ID:???Yes
0972名無しさん@お腹いっぱい。
01/10/15 10:36ID:???折角日本語マニュアルがあるんだからマニュアルぐらい見ようね。
http://www.php.net/manual/ja/function.header.php
0973教えて君
01/10/15 12:10ID:???>漏れもリモートでの psql は結構使うんですけど
これはちょっとウソ書いてました。あんまり使いません。
お客さんのDBちょっと確認したいときとか、
いちいち ssh で入るのめんどくさいなぁと思って以前ちょっと試した程度でした。
でもよく考えたらスレ違いなのでいいですわ。スマソ。
0974名無しさん@お腹いっぱい。
01/10/15 12:38ID:kZ9OPuZi0975名無しさん@お腹いっぱい。
01/10/15 12:49ID:???/(゚ー゚*)/)/\.。oO(PHPエディター・・・)
| ̄∪∪ ̄|\/
| しぃ |/
0976教えて君
01/10/15 17:50ID:???サバーの関係で PHP4 が使えないので nuke とかはダメなんです。
0977教えて君
01/10/15 17:52ID:???プラットホームは?
まぁ Emacs 系を覚えておけば「ヤパーリJAVA」とかになっても潰しが効くと思われ。
ちなみに漏れは vi (vim)だけどな。
0978名無しさん@お腹いっぱい。
01/10/16 10:06ID:5UouTm5Owin98です。
0979教えて君
01/10/16 10:27ID:???漏れ、カンチガイしてたかも…
PHP-Nuke って PHP3 でも逝けるみたいですね。
PHP4 必須なのは PostNuke ですね。
他にお勧めの CMS ってありますか?
0980電動ナナシ
01/10/16 12:34ID:cE86s8qIhttp://phpslice.org/
ベンチマークで PHPNuke を圧倒していると主張。
あと適当に。
thatphpware: http://www.thatware.org/
ez Publisher: http://developer.ez.no/
その他情報源
http://www.camworld.com/cms/
http://www.idg.co.jp/lwonline/backnumber/200105/20010510_01_column.html
0981名無しさん@お腹いっぱい。
01/10/16 12:43ID:???----------------------------------------------------------
PHP質問スレッド Pert 2
レスは気長に待つのが良い感じかも。
答えられる方、返答よろしくお願いします。
参考リンク
■本家
http://www.php.net/
■Japan PHP Users Group
http://www.php.gr.jp/
■PHP 日本語ページ
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/index.html
■PHP日本語マニュアル
http://www.asakawa.ne.jp/doc/php/ja/sjis/
■Pearのドキュメント
http://phpdocu.sourceforge.net/peardocs/
■前スレ
http://ebi.2ch.net/test/read.cgi/php/982687820/
----------------------------------------------------------
って感じで良いですかね?
Pearのドキュメントって>>957の
http://phpdocu.sourceforge.net/peardocs/
で良いのかな?
0982名無しさん@お腹いっぱい。
01/10/16 12:44ID:???http://www.php.net/manual/ja/
の方が良いか。
0983名無しさん@お腹いっぱい。
01/10/16 21:51ID:EB9eJBdu配列が使いにくいね。PerlでCGI組むときもforeachを多用してたから辛い
0984名無しさん@お腹いっぱい。
01/10/16 22:05ID:???PHPでもforeach使えば?
0985名無しさん@お腹いっぱい。
01/10/17 01:11ID:iw1O0Jfhとりあえず立てときましたー。
これでいいかな?
http://ebi.2ch.net/test/read.cgi/php/1003248641/
0986しっぽなしきつね
01/10/17 01:30ID:???, -―- 、
, l[》《]| ヽ
/ i/ i ノノノ ))))〉 / ̄ ̄ ̄ ̄ ̄
. / i i |(リ ( | | | ! / 質問に答えてくれたみなさん
〈ヘ|_|l| l ゝ~ lフ/| <. .ありがとうっ
/ | | |( ヽwliヽ | \ このスレはおしまいだよ。
/ /! | l ヘ《~ヘii~∧ ∧ \_____
/ /ノノ! ノ|リ〉 \/( ゚ω゚)
/ , ./-‐- 、/V\ハ_ヲUU
!/ ./ / / | ゝ つつ
ヽ_/ ./ ! jj \
/ i
〈 / | |'
ゝ / l | !/
`〜‐-L__」〜'^
0987age
01/10/17 04:16ID:???0988名無しさん@お腹いっぱい。
01/10/17 05:34ID:???なんでやねん(藁
0989JAPU ◆JAPUTeX.
01/10/17 06:28ID:???こちらへどうぞ:
http://ebi.2ch.net/test/read.cgi/php/1003248641/l50
0990名無しさん@お腹いっぱい。
01/10/17 09:36ID:Q8MYyC2u$okane
に数桁の数値が入ります。お金の値なので表示する時に
自動的に3桁ごとにカンマを打ちたいのですが可能でしょうか。
printf を使えば出来るような噂を聞いたのですが。。。
0991名無しさん@お腹いっぱい。
01/10/17 10:08ID:???そのスレはもう終了したよ。
全ては1の責任。
0992990
01/10/17 10:48ID:Q8MYyC2uwhile (/\d{4}(\,|$okane)/){
s/(\d)(\d{3})(\,|$okane)/$1,$2$3/;
}
print "$okane";
どこが間違っていますか?
0993名無しさん@お腹いっぱい。
01/10/17 10:48ID:???なんでマニュアル見ないかな。
printfのから簡単にたどれるし。
number-format
http://www.php.net/manual/ja/function.number-format.php
0994名無しさん@お腹いっぱい。
01/10/17 10:53ID:???新スレ立てたよ。
http://ebi.2ch.net/test/read.cgi/php/1003248641/l50
の1は削除依頼出しておいてね。
0995名無しさん@お腹いっぱい。
01/10/17 11:02ID:???http://ebi.2ch.net/test/read.cgi/php/1003283567/l50
0996985
01/10/17 19:28ID:???鬱だ。
夜になったら削除依頼出しに逝ってきます。
0997名無しさん@お腹いっぱい。
01/10/17 20:04ID:???0998_
01/10/17 23:36ID:???0999999
01/10/17 23:42ID:???∧,,∧ ∬ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ,,゚∀゚ノ,っ━~ < で、999は俺だよ。999!
_と~,,, ~,,,ノ_. ∀ \_
.ミ,,,/~), .| ┷┳━
 ̄ ̄ ̄ .し'J ̄ ̄|... ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ .┻
10001000
01/10/17 23:44ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。