【PHP】質問スレッド Part5
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
02/09/11 14:15ID:FWA0CpdU■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ及び注意事項等は、
>>2-10あたりにきっと誰かが……。
0002nobodyさん
02/09/11 14:15ID:???http://ebi.2ch.net/php/kako/982/982687820.html
■【PHP】質問スレッド Part2
http://pc.2ch.net/php/kako/1003/10032/1003283567.html
■【PHP】質問スレッド Part3
http://pc.2ch.net/php/kako/1013/10139/1013919792.html
■【PHP】質問スレッド Part4
http://pc.2ch.net/test/read.cgi/php/1022999539/l50
0003nobodyさん
02/09/11 14:16ID:???http://pc.2ch.net/test/read.cgi/php/987259309/l50
■PHP + MySQL
http://pc.2ch.net/test/read.cgi/php/983250751/l50
■PHP + PostgreSQL
http://pc.2ch.net/test/read.cgi/php/983128806/l50
■PHP 関連の書籍 (但し PHP 出版系お断り)
http://pc.2ch.net/test/read.cgi/php/985315574/l50
0004nobodyさん
02/09/11 14:16ID:???4.2.0以降はデフォルトでregister_globalsがoffになっています。
POST, GET等で渡される値には
グローバル連想配列
$HTTP_ENV_VARS
$HTTP_GET_VARS
$HTTP_POST_VARS
$HTTP_COOKIE_VARS
$HTTP_SERVER_VARS
でアクセスしてください。
つーか、マニュアルとか読んでください。おながいします。
0005nobodyさん
02/09/11 14:16ID:???header()でContent-Typeを出力すると、mb_output_handlerが無効になります。
ini_set('default_mimetype', 'text/html');
とすることで回避できます。
0006nobodyさん
02/09/11 15:31ID:QhkFV/a2退室するような実現方法はありませんか?
0007nobodyさん
02/09/11 15:50ID:sK5vsN8l(´-`).。oO(javascriptと組み合わせれば出来るんじゃないかな)
0008b
02/09/11 16:05ID:U9pI6n490009nobodyさん
02/09/11 17:16ID:b0Mn6bwOあるよ。
応答が数分なかったら、退室したと見なして処理するチャット。
0010nobodyさん
02/09/11 17:32ID:T52IxXqS受け取った値が文字化けしてしまいます。
なんとか直す方法があったら教えてください。
0011nobodyさん
02/09/11 17:34ID:T52IxXqS<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<?
$test = $_POST["test"];
if($test == "あいうえお"){
echo"<body bgcolor=\"red\">
test - [$test]<br>
<form action=\"1_color_test.php\" method=\"post\" enctype=\"multipart/form-data\">
<input type=\"submit\" name=\"test\" value=\"亜伊宇江尾\">
</form>";
}else{
echo"<body bgcolor=\"blue\">
test - [$test]<br>
<form action=\"1_color_test.php\" method=\"post\" enctype=\"multipart/form-data\">
<input type=\"submit\" name=\"test\" value=\"あいうえお\">
</form>";
}
?>
</body></html>
001310
02/09/11 17:48ID:T52IxXqS保存する際は、EUCでやってます。
ちなみに、mb_convert_encodingとかいろいろやっても
だめでした。
0014nobodyさん
02/09/11 18:19ID:???最初の行に入れてみて。
001510
02/09/11 18:41ID:T52IxXqS直りました。
すげえ!
thx!
0017nobodyさん
02/09/11 19:32ID:???( `ー´) < 別にいいんじゃネーノ?
/ ノつ \__________
(人_つ_つ
0019PHP::help()
02/09/11 19:51ID:K4qVzGr/以下のコードでうまくいきません。日付/時間型以外ならうまくいくのに。。。
function insert($id,$name)
{
$dsn = "odbc://user:pass@demo";
// DB接続
$db = DB::connect( $dsn );
// SQL文
$sql = "INSERT INTO user (id,name,date) VALUES (?,?,?)";
// Statement取得
$stmt = $db->prepare( $sql );
// 現在時刻を取得
$nowdate = date("'Y-m-d H:i:s'")
print "nowdate=" . $nowdate . "\n"; // こういうのが出力 -> '2002/09/11 19:23:29'
// SQL発行
$db->execute($stmt, array($id,$name,$nowdate ));
// DB切断
$this->db->disconnect();
}
よろしく
0020PHP::help()
02/09/11 19:57ID:K4qVzGr/function insert($id,$name)
{
$dsn = "odbc://user:pass@demo";
// DB接続
$db = DB::connect( $dsn );
// SQL文
$sql = "INSERT INTO user (id,name,date) VALUES (?,?,?)";
// Statement取得
$stmt = $db->prepare( $sql );
// 現在時刻を取得
$nowdate = date("'Y/m/d H:i:s'")
print "nowdate=" . $nowdate . "\n"; // こういうのが出力 -> nowdate='2002/09/11 19:23:29'
// SQL発行
$db->execute($stmt, array($id,$name,$nowdate ));
// DB切断
$db->disconnect();
}
すいません。
0022PHP::HELP()
02/09/11 21:41ID:HTt8fx02\ >>21 \
\ 「円」って何ですか? \
\ 「\ 」ってことかな? \
\ どっかにそれを入れなさいということか? \
\ nowdate='2002\09\11 19:23:29' \
\ ↑これでいいのか!? \
\ 金を出せということか? \
\ 違う、違う、違うなーーー。 \
\ わからん。わからん。 \
\ 21さん、もっと教えて。 \
\ お願い、教えてくれたら、 \
\ 自分の体差し上げます \
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
0023nobodyさん
02/09/11 23:09ID:b0Mn6bwO・・・・21がせっかくヒント出してるのにそれでも分からんのか?
円だよ、円。
PHP初心者の俺でも一発で分かったぞ。
0025nobodyさん
02/09/12 01:34ID:vPpnzRr3PHPとFLASHを連携させたコンテンツを作りたいと思っています。
FLASHには外部から「変数名=値&変数名=値&...」
という形の文字列でデータを渡す必要があります。
それだけなら、echoを使えばいいと思ったのですが、
最新版のFLASHだと、外部から渡される変数は、
文字コードがunicode、改行コードがCRじゃないとダメみたいです。
PHP側で変換する処理などが必要なんでしょうか?
必要な場合、どのようなコードを記述すればいいのでしょうか?
0027nobodyさん
02/09/12 03:13ID:???0028nobodyさん
02/09/12 19:33ID:bOdtzCg9相対パスで指定できないのでしょうか?
絶対パスだとうまくいくんだけど。
0029nobodyさん
02/09/12 22:57ID:???echo "Error while parsing the document\n";
exit;
}
?
0030nobodyさん
02/09/13 02:00ID:5ec6wOjEperlのようなprint qq|<a herf="hoge.html"|;
のような書式はPHPではないでしょうか?
0031nobodyさん
02/09/13 02:12ID:yb1hcccZfunction bbbbb(){
echo <<<EOF
ここにHTML、関数、ユーザー定義関数とか
EOF;
}
$fp = fopen ($aaaaa,"w");
$ccccc = bbbbb();
fputs($fp,$ccccc);
fclose($fp);
PHP始めて3日目です。(プログラミングは初めて)
こういう風には出来ないですか?
投稿があった時にPHPで受け取ってaaaaa.htmlを更新したいんですが。
0032nobodyさん
02/09/13 02:57ID:???>>31
普通にできるんじゃない?
処理の最後にaaaaa.htmlにフォワードする必要がありそうだけど。
003431
02/09/13 13:04ID:yb1hcccZ俺がやったら、$ccccc = bbbbb(); の部分がダメみたいです。
しょうがないんで、function bbbbb()を$bbbbbにしたらOKでした。
フォワードとはaaaaa.htmlに戻る事でしょうか??
それはロケーションで書きました。header()です。
0035nobodyさん
02/09/13 13:22ID:q9zrWrdaってどうちがうんですか?
どこをさがしても親切に説明しているサイトがないんですけど。
0036nobodyさん
02/09/13 13:26ID:???0037RFC厨
02/09/13 14:14ID:???http://www.asahi-net.or.jp/~bd9y-ktu/dtd_f/rfc_f/rfc2183j.html
0038nobodyさん
02/09/13 16:00ID:???Content-Disposition: attachment; は添付
0039b
02/09/13 16:00ID:V08A06LP0040nobodyさん
02/09/14 01:02ID:???当然のことながら客先がソースを閲覧することが可能な状態になりますが
皆様はその対応をどうなされているのでしょうか?
あらかじめ、ソースを含めての金額請求をしているのでしょうか。
二次販売される可能性などの問題もあり、どのようにするか悩んでおります。
0041nobodyさん
02/09/14 01:07ID:mEUyxyDjそうゆうあなたに打ってつけなのがZend
0042nobodyさん
02/09/14 01:38ID:HPVv0rIOZend Encoder だな。
The Zend Encoder allows developers to encode their PHP script before distributing it.
http://www.zend.com/store/products/zend-encoder.php
004340
02/09/14 10:39ID:???上司にライセンス料なども含めて相談してみたところ
駄目だし食らいました。 ・゚・(ノД`)・゚・
Zend Encoder の日本語版
http://www.zend.co.jp/products/encoder/
0044nobodyさん
02/09/14 14:30ID:TjmGHZ9+必要なタイミングで更新、みたいなことやりたいんだけど
PHP じゃどうやるの?
mod_php + apache + unix ( linux ) つかっとります
004740
02/09/14 18:02ID:???http://sourceforge.net/projects/niaencoder/
PHTML Encoder
http://www.rssoftlab.com/phpenc.php4
Zend Encoder以外を探してみました。う〜ん。
0048nobodyさん
02/09/15 19:55ID:3qYFNGnZ0049b
02/09/15 20:02ID:l/2nwin00050nobodyさん
02/09/15 21:30ID:l3W9MFXW表示させようとしています。
<?php
$dir=opendir('.');
while(($file=readdir($dir))){
if(is_file($file)){
print "$file\n";
}
}
closedir($dir);
?>
readdirを使ってディレクトリの内容を読み取って
printで表示させたところ、ちゃんとディレクトリ
内のファイルが表示されました。
この$fileに入っているファイル名を検索し、実行
する方法はあるのでしょうか?$file[0]をprintで
表示させたら各ファイルの一番初めの文字が表示
されちゃいました。
0051nobodyさん
02/09/15 22:39ID:mdW8Tcgk0052nobodyさん
02/09/16 01:46ID:???phpが実行させる方法はありますでしょうか?
(localhost動作可能環境)
0053nobodyさん
02/09/16 08:45ID:???使ってる人いる?
0054nobodyさん
02/09/16 12:00ID:???アクセスすりゃいいじゃないの?
0055nobodyさん
02/09/16 14:27ID:9M1lvPAp自宅鯖のチャットページは、自分がネットに繋げている間だけ公開されるように
$fp = fsockopen("*********",80);
で、falseにならない場合表示されるようにしているのですが。。。
これだと自宅鯖を立ち上げていない場合に10秒くらい時間がたってから
falseの処理が行われるんですが。逆の場合には一瞬です。
webサーバーが稼動しているのを確認したり、
外部のファイルが存在するか確認する方法ありますか?
0056b
02/09/16 15:15ID:oqHfjXJ70057廃品回収
02/09/16 18:35ID:Bzg7QZDj取り込んで読ませるのに
<?php
$ホゲ = join ('', file ('http://ホゲ/アゲ/サゲ.htm'));
echo "$ホゲ\n";
?>
って書いてるんだけど、これでアクセスさせて帰ってきたHTTPエラーを
処理するルーティン書けばいいんでないのかな。
役立たずでスマソ。
0058nobodyさん
02/09/16 19:51ID:???0059nobodyさん
02/09/16 22:49ID:Lcc+HyZzつーか、鯖の方にスクリプト置いて、httpdが起動したら、レンタル鯖に置いてるスクリプトを呼び出して
ページを書き換えたらいいんでないかの。
この方が合理的。
0060nobodyさん
02/09/17 00:47ID:???apache php は http://localhost/index.phpに置けば動く環境なんです。
ソフトのスクリプトにphpを使えないものかなと思って
phpの呼び出し方があればレスくれる人がいるかなと思いまして。
改めてphpは外部スクリプトして使えますか?無理ですか?
0061nobodyさん
02/09/17 02:01ID:RwZGe/HC取り出して表示させるにはどう書いたらよいのでしょうか。
たとえば、Yahoo!のトップページのタイトルを表示させたいとき。
0062nobodyさん
02/09/17 02:02ID:???006361
02/09/17 02:07ID:???たとえばhttp://www.yahoo.co.jp/の<TITLE>の中身は
'Yahoo! JAPAN'なのですが、それを自サイトに表示させたいような場合です。
0064nobodyさん
02/09/17 11:55ID:???わかるだろ。
>>61
ニュースのタイトル取りだよね?
単に<TITLE>の行を抜き出していらない物をカットして表示させてみ。
0065nobodyさん
02/09/17 12:20ID:0b8dNIC8006661
02/09/17 12:54ID:???$fileurl = file ('http://www.yahoo.co.jp/');
$titleline = strip_tags($fileurl[6]);
echo $titleline;
これで表示できましたが、
これだとYahoo!が<TITLE>の位置を7行目からずらした場合に対応できません。
正規表現でファイルを最初から検索して<TITLE>に挟まれた部分を
抜き出すのがいいのかもとは思うのですが、その方法がわかりません。
0067nobodyさん
02/09/17 12:57ID:ALvqH0Hvそれだと
<title>
ほげほげ
</title>
みたいになってると取得できないから正規表現で<title>から</title>までを抜き出したほうがいいのでは。
まあ、取得先の書き方が全部一行って決まってるなら>>64のやり方のほうが楽だけど。
0068nobodyさん
02/09/17 13:04ID:ALvqH0Hvあ、俺が書いてる間に・・・
俺も初心者なので合ってるかどうかは微妙だけど、
http://www.php.net/manual/ja/function.eregi.php
あたりでいいのでは。
正規表現の書き方自体はそのへんにいくらでもあるので検索するのが良いかと。
006961
02/09/17 14:39ID:???以下ようなものだとうまく動きました。
$fileurl= 'あいうえお<title>タイトル抜きだし</title>かきくけこ';
$title1= strpos($fileurl,'<title>') + 7;
$title2= strrpos($fileurl,'</title>');
$length= $title2 - $title1;
$title= substr($fileurl,$title1,$length);
echo $title;
しかし、これはたぶんスマートなやり方じゃないと思います。
しかも、>>67さんの言うように複数行になっているとうまくいきません。
つまり、$fileurlを以下のように変えるともうダメです。
$fileurl= file ('http://www.yahoo.co.jp/');
file関数では複数行は行指定しないとダメなのですね…。
file関数をほかの何かに変えればよいのでしょうか、
それともこのスクリプト全体がアホなのでしょうか。
0070↑
02/09/17 14:48ID:WWJg+78y007161
02/09/17 15:21ID:???複数行の問題についてはjoin()で解決しました。
が、どうも次の行がうまく機能していないようです。
$title2= strrpos($fileurl,'</title>');
# echo title2; にしてみると、3万いくら文字目とかになってます。
Yahoo!は</TITLE>が大文字なので大文字に変えてもダメでした。
'/'の文字を'\/'でエスケープしてみてもダメでした。
ていうかそもそもこのやり方ってスマートじゃない気がするのですが、
どうなのでしょうか。
0072nobodyさん
02/09/17 15:49ID:???長さを取得したり、特定のコマをJPEGで取り出したりできれば、
最高なんですが。
0074nobodyさん
02/09/17 16:03ID:m1Ma5obA試してないけどこんなんでどうだろ。
$url = "http://www.yahoo.co.jp";
$source_array = file($url);
$source = join("", $source_array);
eregi("\\<title\\>(*.)\\<\/title\\>", $source, $title);
ereg_replace("\n", "", $title);
$title = strip_tags($title);
echo $title;
間違ってるとこあったら誰かフォローよろしく。
0075nobodyさん
02/09/17 16:24ID:???(*.) -> (.*)
ereg_replace("\n", "", $title); -> $title[1] = ereg_replace("\n", "", $title[1]);
0076nobodyさん
02/09/17 16:48ID:jNW2u3Fw007775
02/09/17 16:48ID:jNW2u3FwちなみにCSVでデータベース出来るスクリプトです。
MySQLやPostgreSQLはサーバが対応してないので・・・
007872
02/09/17 16:51ID:???お騒がせしました。
0079nobodyさん
02/09/17 17:25ID:???PHPをデータベースにしたいの?(我ながら不自由な日本語だが
探すだけ無駄な気がするが…この辺つかっとけば?↓
http://www.freesql.org/
データベース専用鯖。
MySQL PostgreSQL に対応。無料。
008075
02/09/17 17:53ID:jNW2u3Fw無いですか・・・
SQLのこと全然分からないので・・・
項目作れて簡単に追加編集削除出来るようなのがあればよかったのですが・・・
すいません、ごめんなさい
0082nobodyさん
02/09/17 18:34ID:???008375
02/09/18 11:23ID:0kRbPetK逝ってきます・・・
0085nobodyさん
02/09/19 23:36ID:???0086nobodyさん
02/09/19 23:42ID:eFcguJsf実は最近PHP仕事でも趣味でも使ってないので(というかもともとウェブデザイナーなので)
最近の事情を知らないのですが、
最近PHPつかったサイトって、セキュリティ甘過ぎないですか・・・?
たとえば、
(1)directory の indexが丸見えなために、あるいは
(2)適当なquery stringぶちこむと簡単にphpのエラーメッセージが見れて、そのエラーメッセージから
・・で、インクルードされるファイルが見えて、それ見ると、
変数のエラーチェックをまともにやってないから、
query stringに適当なSQL文(をエンコードすると)入れるとDB操作ができちゃいそうで・・・
(実際にはやってないですが)
こんなもんなんですか?
最近、それなりに有名なサイトとか、go.jpなサイトでそういうの見つけちゃったんですが。。。
008786
02/09/19 23:44ID:???htdocsの下に*.incを置いちゃうのって、ふつーなんですか?最近のphp使いさんは
0088nobodyさん
02/09/19 23:47ID:???0089nobodyさん
02/09/20 00:03ID:OVVAotJ0って、実際にそこでdeleteとかselectとかすると、
法にふれるの?
0090nobodyさん
02/09/20 00:05ID:7xmF8XK60091nobodyさん
02/09/20 00:09ID:iViTLDSZ人を憎んでPHPを憎まず
009289
02/09/20 00:12ID:OVVAotJ0http://www.npa.go.jp/hightech/fusei_ac1/main.htm
にも抵触するのかな・・・?
0093nobodyさん
02/09/20 08:49ID:???不正アクセス禁止法には引っかからないよ.
0094名無しさん
02/09/20 15:44ID:???0095nobodyさん
02/09/20 16:33ID:???$this->member にアクセスするのに、
$home='member';
$this->$hoge みたいなことできませんか??
for($i=0;$i<10;$i++){
$mem="number_$i";
$this->$mem;
}なんてことができると嬉しいのですが
0096nobodyさん
02/09/20 16:37ID:DpSJVmH1そんなんじゃだめだろ。
0098nobodyさん
02/09/20 21:39ID:???PHPで埋め込み掲示板を作ってるんですが、
途中何らかのエラーが発生したときに
error関数などで
function error {
print "Error!";
exit;
}
というふうにexitを使ってしまうと、
埋め込み掲示板より下に表示したいタグ等まで
出力されなくなってしまい困っています。。
感じとしては
<HTML>
<BODY>
...
...
<?
埋め込み掲示板処理
?>
...
...
</BODY>
</HTML>
という感じです。エラーが発生したとき、
エラー出力とともにexitで終了せず<?...?>を抜ける方法は
無いんでしょうか?
よろしくお願いします。
0100nobodyさん
02/09/20 22:29ID:???レスありがとうございます。
例えば
function error {
print "Error!";
return($err_flag=1);
}
で戻って、各処理を
if (!$err_flag) {
処理続行
}
else {
処理終了
}
という感じにするということですか?
これだとすべての処理においてifで判別しながら
処理するという形になっちゃいますね。。
私の考えが間違ってるのかもしれませんが。。
010199
02/09/21 00:37ID:???っと当方もここで聞きまくってるPHP厨なのでよくわからずレスしてます(w
if文でやる他には、次のどうでしょ。
?>
...
...
</BODY>
</HTML>
の?>以降の部分をヒアドキュメント?だっけ?よく知らないんだけど、
function error {
print "Error";
include "footer.dat";//(footer.datは... ... </BODY></HTML>が書かれてるファイル)
exit();
}
とかにしてやったらどうっしょ。
それかincludeじゃなくて
echo "... ... </BODY></HTML>";にしちゃうとか。
どっかに $footer="</BODY></HTML>";として
echo $footer;としてもイイヨネ。
010298
02/09/21 01:30ID:???たびたびありがとうございます。
それと少し説明不足な点がありました。
私の作っている埋め込み型掲示板はユーザビリティ(?)重視として
掲示板周辺のデザインも自由にいじれるようにしたいんです。
例としてはこんな感じです
<HTML>
<BODY>
...
(サイトの全体的なデザイン開始 <TABLE>..とか)
...
<?
ここに埋め込み掲示板を表示
HTMLは<TABLE>で始まり</TABLE>で終了
?>
...
(サイトデザインの終了 ..</TABLE>とか)
...
</BODY>
</HTML>
includeを使うと後半のタグも表示できますね!
とりあえずそれでがんばってみます。
ありがとうございました。
0103nobodyさん
02/09/21 01:48ID:???どう答えて欲しいの?
私もデザイナーだけど、言語に関係なくプログラマのスキルが関係してると思うけど?
確かに、言語が理解しやすい分初心者でも作りやすいから
セキュリティホールの多いものも確か。
>最近の事情を知らないのですが、
>最近PHPつかったサイトって、セキュリティ甘過ぎないですか・・・?
あなたのように事情を知らない人が作っていると思いますよ。
>それなりに有名なサイトとか、go.jpなサイトでそういうの見つけちゃった
はい。当たり前にあります。特にXSSとか・・。
それに、あなたのスキルでは見つけられないセキュリティホールは死ぬほどあります。
>ふつーなんですか?最近のphp使いさんは
普通かどうかはその人の知識による。
同じデザイナーとして、恥ずかしい質問はやめてください。
0104nobodyさん
02/09/21 02:24ID:???しつこいので>>103さんに加えてさらに追い討ち。
>>(1)directory の indexが丸見えなために、あるいは
PHPに限らない。Apacheの問題。
>>(2)適当なquery stringぶちこむと簡単にphpのエラーメッセージが見れて、そのエラーメッセージから
PHPの設定の問題。が、JSP等でもエラーメッセージ(printStackTrace)が出ることもある。
>>・・で、インクルードされるファイルが見えて、それ見ると、
見えるのはおかしい。Apacheの設定の問題。
>>変数のエラーチェックをまともにやってないから、
>>query stringに適当なSQL文(をエンコードすると)入れるとDB操作ができちゃいそうで・・・
もちろんPHPに限らない。
チェックをしないでも安全な言語なんてどこにもない。
まぁPHPは敷居が低いのでセキュリティ知識のない人が存在する割合が
他の言語と比べて高くなっているのは認めるところだが。
0105nobodyさん
02/09/21 02:34ID:???0106nobodyさん
02/09/21 09:39ID:ZZHp0IbF普通どれくらいお金払えば作ってもらえますか?
CSV、MySQL、PostgreSQL、でそれぞれ大体の制作費を
教えて欲しいんですが、、。
0107nobodyさん
02/09/21 11:03ID:???CSV \1,200,000/人月(メンドイから)
0108nobodyさん
02/09/21 11:10ID:ZZHp0IbFそんなにかかるんですか??
0109nobodyさん
02/09/21 12:00ID:8ExCK0V+あんまり製作を外注したことないでしょ?
それは結構安い方だと思うよ。
まあ、単価だけじゃわからんけどさ。
0110nobodyさん
02/09/21 14:17ID:???fgetsで取りこむと改行コードが消えます??
なぜかデータに妙な改行コードが出たり消えたりするのですが
0111tora
02/09/21 15:55ID:???/* クッキー名(任意) */
$cookie = "COOKIE_VISIT";
/* クライアントからクッキーが送信されているか判断 */
if (isset($HTTP_COOKIE_VARS[$cookie])) {
$value = (int)$HTTP_COOKIE_VARS[$cookie];
} else {
$value = 0;
}
/* 訪問回数のインクリメント */
$value++;
/* 有効期限(1年) */
//60秒
$expire = time() + 60;
/* クッキー発行 */
setcookie($cookie, $value, $expire);
session_start();
print("<BR> $value 回<BR>");
?>
これで、何回このサイトに来たのか確認するプログラムを組んでいます。
このプログラムネットスケープでは上手くいくのですが、IEでは上手くいきません。
どうしたらよいのか教えてもらえないでしょうか?
PHP4,register_globals=offです。
よろしくお願いします。
0112tora
02/09/21 16:06ID:???エラー内容を書くのを忘れてました。
IEでのエラー内容ですが、
読み込むたびにsessionIDが更新されているみたいなのです。
よろしくお願いします。
0113nobodyさん
02/09/21 17:20ID:7B0wr+QP環境は、FreeBSD 4.6 です。
いつも、configureをする時にFreeBSD用に、
./configure --prefix=/usr/local --sysconfdir=/usr/local/etc --datadir=/usr/local/share/php --mandir=/usr/local/man --with-pgsql=/usr/local/bin --enable-mbstring --enable-mbstr-enc-trans
をしていたのですが、
build/bsd_makefile
があるのを知りました。どのようにして使ってセットアップすれば良いのでしょうか。
0114nobodyさん
02/09/21 18:22ID:???PHP4はないの?
0115nobodyさん
02/09/21 21:38ID:???これでいいか?
0117nobodyさん
02/09/22 02:18ID:???0118nobodyさん
02/09/22 02:46ID:PyH4t/bUbuildconf なんてスクリプトを見ると
case "`uname`" in
*BSD/OS*)
./build/bsd_makefile;;
esac
なんて書いてあるから、FreeBSD では使わないのが吉では?
FreeBSD 使ってるならビルドは、
cd /usr/ports/www/mod_php4
make
make install
の方がお手軽で確実でせう。
%% せっかくの port ノウハウなんで利用しないともったいない。
---
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0119Disca ◆NAfP6znE
02/09/22 19:52ID:frQAcJLs>>118 サンクスです。
私の場合は、stand/sysinstall でPackageをインストールしているのですが、
無いです、WWW、Japaneseのディレクトリも探したのですが無いです。
変ですよね。
0120nobodyさん
02/09/23 01:21ID:UbulpwL5展開しておいて cvsup で更新かけると良いでしょう。下手に新しいソースコード
を導入するより、ports/packages の方が管理情報が残るし手順の再現ができて
楽だと思う。
0121nobodyさん
02/09/23 05:53ID:g72U2pu2PHPで、変数に何も入ってないかどうか調べる関数ってなんでしたっけ?
012299
02/09/23 07:42ID:???http://search.net-newbie.com/php/ref.variables.html
このあたり参照どぞ
012399
02/09/23 07:45ID:???素人な俺が素人向けにページ立てようと思うんだけど、やめたほうがいいかな?
0124nobodyさん
02/09/23 11:10ID:Py8drUeO012899
02/09/23 13:36ID:???よろしくおながいします!
0130nobodyさん
02/09/23 21:22ID:mnhekBpn全部インストールしたんですけど
httpd.confの設定できません
LoadModule php4_module lib/apache/libphp4.so
ライブラリがないんです
Apacheで./configureのオプション
PHPで./configureのオプション
みんなの設定教えてほしいです
っていう質問ここでしていいですか?
0133nobodyさん
02/09/24 00:42ID:/r2x96gq日本PHPユーザ会に書いてある
"日本語関係の処理にバグがあります。patch が出るまでしばらくお待ち下さい。"
というphp4.2.3のパッチってもう出てるんですか?
0134nobodyさん
02/09/24 03:49ID:6xTHY1PU問題なく動いてます。
別にアスキー転送じゃなきゃダメって訳じゃないのかな?
0136nobodyさん
02/09/24 17:50ID:clJNObLGどなたかこういうので使ってるよって人アドバイスおながいします
0137nobodyさん
02/09/24 18:29ID:???つーかオレそうしてるし。
0138nobodyさん
02/09/24 20:32ID:nF3wJ6pk0139nobodyさん
02/09/24 21:07ID:uxYEF9Jgしかも、PHPにいたっては普及してるのだろうか?
パールと違ってPHPで
作られた掲示板や検索エンジン(自動リンク)は
まともなものが見つからない!誰かphpとMYsql
を使った検索エンジンを配布しているところ知らない?
プログラマーーってすごすぎる!尊敬してしまうよ
俺は今、おみくじスクリプトが限界だ。
0140nobodyさん
02/09/24 21:09ID:nF3wJ6pk0141nobodyさん
02/09/24 23:44ID:eG+qA3Bk一年くらい稼働しているのですが、そのうち2日間だけ
/tmp/フォルダに、
phpcSCFMZ
のような、php+ランダムな文字列のファイルが
数百個できてました。サイズは0。ファイルオーナーはhttpd。
これは何なのでしょうか?
削除してもいいのでしょうか?
セッションとは別だと思います。session_ランダムな文字列で
一定期間だけ作成されていますので。
どなたか教えてください。
0144nobodyさん
02/09/25 00:43ID:???俺が思うにPHPのフリースクリプトはPerlほどは出てこないんじゃないかな?
だってPerlの奴が腐るほどあるからね。
PHPで作ろうと思っても新しいアイデアもそう簡単には思い浮かばないし。
作っても結局、PHPでわざわざ配布する必要あんのか?って感じ。
0145nobodyさん
02/09/25 01:47ID:???Perl CGIはほとんどの鯖ですぐ使えるが。
フリースクリプトの設置に苦しむレベルの人だと、
PHP+DBのシステムを作るのは敷居が高いでしょう。
0146nobodyさん
02/09/25 08:38ID:???ここにはイパーイ
0147nobodyさん
02/09/25 17:12ID:sj/HLJpa説明書も英語だろうし。
やっぱ、スクリプトから勉強しなきゃダメか・・・。
日本が作った奴ってないのか?
日本人は遅れてるな。実は日本人が作った奴
一個見つけたんだが糞だった。
0148nobodyさん
02/09/25 17:14ID:sj/HLJpa0149nobodyさん
02/09/25 18:46ID:???フリースクリプトの設置に苦しむレベルのひとが
英語のreadmeを忌避するひとが
DB使おうなんて考えることがまずおかしいんじゃないか?
それから
>やっぱ、スクリプトから勉強しなきゃダメか・・・。
などと言っている不勉強な香具師に
>実は日本人が作った奴一個見つけたんだが糞だった。
などと言われてもお前自身糞なことからはじめろ、としかレスしにくいんだが。
0150nobodyさん
02/09/25 21:13ID:???0151nobodyさん
02/09/26 00:02ID:???実際、自分で作ってみれば難しさがわかるべヽ(`Д´)ノ
0153nobodyさん
02/09/26 02:11ID:???自分じゃ作れないくせによくも糞とは言ったもんだ。
しかも日本人は遅れてるだと?
じゃあ何も出来ないお前はどこら辺?
まあ気持ちはわからんでもないが・・・
0154nobodyさん
02/09/26 02:32ID:???0155nobodyさん
02/09/26 03:48ID:???作る側の立場なら>>147は目糞だが、使う側の立場なら>>147は鼻糞。
そして>>147すら満足させられない漏れらは耳糞。
>>147自身、糞だって自覚してるんだよ。
>>147は努力しないひと。勉強できないひと。
そんな>>147に捧げよう。
<?
echo "<META HTTP-EQUIV=\"refresh\" content=\"0;URL=http://tmp.2ch.net/kitchen/\">";
?>
0156nobodyさん
02/09/26 05:07ID:???それをやるならもっとスマートに
<?
header("Location: http://tmp.2ch.net/kitchen/");exit;
?>
と。
0157nobodyさん
02/09/26 09:31ID:FqgYcmGJ他の方法で余りを求める方法があれば教えてくださいm(_ _)m
0159157
02/09/26 09:57ID:FqgYcmGJできました!
ありがとうございましたm(_ _)m
0160nobodyさん
02/09/26 10:30ID:???PHPでMYSQLのフィールドカーソルを操作したいのですが、よくわかりませんでした。
簡単な操作方法がありましたら教えてください。
0161nobodyさん
02/09/26 20:33ID:v/eI/U7Rそれは「PHP」の問題か?
0163nobodyさん
02/09/26 23:04ID:???mysql_fetch_field
0164nobodyさん
02/09/28 00:40ID:???http://pc.2ch.net/test/read.cgi/php/983250751/l50
0165nobodyさん
02/09/28 23:08ID:???0166nobodyさん
02/09/28 23:58ID:???cron以外ということはUnix系OSなんですな。
気軽な方法ではcorn以外思いつかないけど、
Unix板かLinux板で聞いてみるとか。
レンタル鯖はcronを使わせてくれない、もしくは有償だったりしますが、
自宅や会社のPCを使って、定期的にwgetさせる手は使ってます。
0167nobodyさん
02/09/29 00:07ID:???0168nobodyさん
02/09/29 00:09ID:???ども。レンタルというこで当然cron使えず、
やぱしcron使わずには無理なんでしょうね。
だと、訪問者に踏ますようにするしかないかな?
どなたか良法知てたら教えてください。
0169nobodyさん
02/09/29 00:12ID:???ありがとうございます。
そうですね。でも付けっ放しは無理だなー。
ツウ事で、訪問者がらみでMETAが有効になりそうですね。
どうなんでしょう?
0170hmk
02/09/29 00:14ID:0Sel5nEd最後に踏んだ時間をサーバ上のファイルに記録しておけばいいやろ。
0171nobodyさん
02/09/29 01:51ID:Y4MVE/IQどういう処理をするものなのか解らないけど、
誰もアクセスしてなきゃ動かす意味ないんだろ?
んじゃ、設定した時間以降一回目のアクセスで動くようにしたら?
0172nobodyさん
02/09/29 02:33ID:???0173nobodyさん
02/09/29 02:59ID:DMNuaTqBとっても不恰好だけど、とにかく安上がりに作りたいなら、こんな手もあるということで。
ついでに、自宅のルーターとしてもつかったら?
そもそも、なにを目的として、定期的に .php を実行したいのかによって解は変わるかも。
不定期でもいいなら、誰かがアクセスしに来たときに現在時刻を定数で割って、1時間おき
とかに所定のファイルが実行させるようにしてもいいのでは?
0174173
02/09/29 03:02ID:???170さんが書いているように最終アクセス時刻をファイルに保存しておいて、現在時刻との
差が1時間以上経過していたら実行するとかは?
0175nobodyさん
02/09/29 03:20ID:D5u5GxKuzlib,libjpeg,FreeType 等インストールしてpngで表示させるのは
成功したのですが、jpegだとNGです。
phpinfo()をみると
PNG SUPPORT enabledとなっていても、JPEGについては記述がないので
PHPのconfigureのログをチェックしたらこんな感じでした。(jpeg関連のみ抜粋)
checking for the location of libjpeg... yes
checking for jpeg_read_header in -ljpeg... (cached) yes
checking for gdImageCreateFromJpeg in -lgd... (cached) no
gdImageCreateFromJpegがyesなら問題ないと思うのですが。
誰か同じような問題に当たった人いたら教えて下さい。
0176175
02/09/29 03:24ID:D5u5GxKuGDのMakefileにはこんな変更を加えました。これでpngはOKでした。
CFLAGS=-O -DHAVE_LIBPNG -DHAVE_LIBJPEG -DJISX0208 -DHAVE_LIBTTF
LIBS=-lgd -lpng -lz -ljpeg -lm -lttf
INCLUDEDIRS=-I. -I/usr/include/freetype -I/usr/include
jpegライブラリ関係が機能してないのかなとも思ったのですが
チェックする方法とかないでしょうか。
0177nobodyさん
02/09/29 03:32ID:???用途はただのデータ集計なんです。できれば定刻がベストですが無理ですね。
おっしゃるように最後に踏んだ時間を記録して、
時間差を確認して起動する方法を考えていきます。
ありがとうございました。
>>172
すれ違いなりました。 もうしわけない。
0178nobodyさん
02/09/29 03:36ID:???まったく解らないのだが、
>checking for the location of libjpeg... yes
は、libjpegにロケーション出来てるかどうか?
>checking for jpeg_read_header in -ljpeg... (cached) yes
は、readだから読み込み?
でも、
>checking for gdImageCreateFromJpeg in -lgd... (cached) no
は、Createって単語が入ってるから、「作る」に関係がるんだろう。
ってことは、JPEGを作るための物が欠けてるんだねってカンジがするけど・・・
あくまでも、エラーを見たカンジで言ってるだけですけどw
0179175
02/09/29 03:41ID:D5u5GxKujpeg関係は jpegsrc.v6b.tar.gzからインストールしてます。
../configure --enable-shared
make install
ログを見た感じではjpegライブラリの場所はわかってるみたいなので、
確かに「作る」に関係してものが足りないんだろうけど。
それがなにか、わからないんですよね(半泣)
0180178
02/09/29 03:44ID:???http://www.google.co.jp/search?sourceid=navclient&hl=ja&q=gdImageCreateFromJpeg
見た?
0181175
02/09/29 04:07ID:D5u5GxKuみました。が、わからず。
他に例がないってことは自分の環境に問題があると考えた方がよいかも。
とりあえず。ねます。レスサンクス。
0182nobodyさん
02/09/29 06:37ID:YD0GxPMW言わずもがなのこととは思いますが・・・
クライアントからのアクセスをトリガにしてPHPを実行している真っ最中、
つまり、ファイルに保存している最終実行時刻を更新する前に、
もう一発クライアントからのアクセスがあると、2重にスクリプトを実行して
厄介なことになる可能性がありますので、ファイルのロックなどで適切に調停
して下さいね。
0184nobodyさん
02/09/29 23:01ID:WutRk6vF0185hmk
02/09/30 02:35ID:???$HTTP_GET_VARSは配列で、スクリプトに渡された変数と値が、この配列のキーと要素になりまそ。
例 x=1,y=2が渡された場合
$HTTP_GET_VARS["x"] が 1
$HTTP_GET_VARS["y"] が 2
になりまそ。たぶんね。
0186nobodyさん
02/09/30 02:46ID:???0187nobodyさん
02/09/30 03:07ID:???ガイシュツかどうか分からないけど
PHP4.1.0以降だったかな?では
$HTTP_GET_VARS -> $_GET
$HTTP_POST_VARS -> $_POST
に変わったから注意ね
0188187
02/09/30 03:17ID:???スクリプト配布サイトにとっては厄介な変更だけどね
http://www.php.gr.jp/history/release_4_1_0.html
http://www.php.gr.jp/history/release_4_2_0.html
0189nobodyさん
02/09/30 11:15ID:???と
if($ID = 'a|b|c')
の書き方は一緒なんでしょうか?
0190nobodyさん
02/09/30 11:52ID:???0191nobodyさん
02/09/30 12:20ID:P9mskQboPHPの./configureで
lib/libjpeg.soのあるディレクトリ(--with-jpeg-dir=/usrまたは--with-jpeg-dir=/usr/local)
を指定した方がいいんじゃない。
0192nobodyさん
02/09/30 12:22ID:P9mskQbo"|"と"||"はまったく違うって
0193nobodyさん
02/09/30 12:36ID:???if($ID == 'a' || 'b' || 'c')
0194nobodyさん
02/09/30 13:03ID:???ちがうんちゃうんか?
$ID = "c";if($ID == 'a' || $ID == 'b' || $ID == 'c'){echo "ID:含";}
$ID2 = "c";if($ID2 == 'a|b|c'){echo "ID2:含";}
0195名無しさん
02/09/30 13:05ID:???0196nobodyさん
02/09/30 15:05ID:???0197nobodyさん
02/09/30 18:01ID:???その内の # から始まる行を削除したいのですが、
どのようにすれば良いでしょうか?
# から始まる行数は場合によって異なります。
0198hmk
02/09/30 18:25ID:???$str = ereg_replace("\n#[^\n]*\n", $str);
$str = ereg_replace("^#[^\n]*\n", $str);
$str = ereg_replace("\n#[^\n]*$", $str);
$str = ereg_replace("^#[^\n]*$", $str);
こんなんで出来るかなぁ。。。
きちんと書けば、正規表現一発でできるはずなんだけど。。。
上のが無理なら、文字列を改行でexplode()してからループさせる方法もある。
0199nobodyさん
02/09/30 22:27ID:p1yTd7ExBASICにあったMID、(部分文字列コピー)関数のようなものは無いでしょうか…。
スマソ
0200nobodyさん
02/09/30 22:32ID:???あるよ
http://www.php.net/manual/ja/manual.php
0201名無しさん
02/09/30 22:41ID:???あるよ
http://www.php.net/manual/ja/manual.php
0202199
02/09/30 22:48ID:p1yTd7Exhttp://www.php.net/manual/ja/ref.strings.php
0203nobodyさん
02/09/30 22:53ID:???strtoupper--文字列を大文字にする
strtr--特定の文字を変換する
substr_count--副文字列の出現関数を数える
substr_replace--文字列の一部を置換する
substr--文字列の一部分を返す
trim-- 文字列の先頭および末尾にあるホワイトスペースを取り除く
ucfirst--文字列の最初の文字を大文字にする
ucwords-- 文字列の各単語の最初の文字を大文字にする
vprintf--フォーマットされた文字列を出力する
0204nobodyさん
02/09/30 22:56ID:???http://jp2.php.net/manual/ja/ref.strings.php
http://jp2.php.net/manual/ja/function.substr.php
0205nobodyさん
02/09/30 22:59ID:???0206199
02/09/30 22:59ID:p1yTd7Exありがとうございます。
0207nobodyさん
02/09/30 23:16ID:???ミ*゚∀゚彡 < 先生!猿か小学生にも教えてあげて下ださい。
.__ミミ_ ミ_ \______________________
.\ ∪ \
||\_____.\
||\|| ̄ ̄ ̄ ̄||
. || ̄ ̄ ̄ ̄||
0208nobodyさん
02/09/30 23:25ID:???ミ*゚∀゚彡 < 先生!猿がブラインドタッチでPHP書いてる姿、想像しちゃいました!
.__ミミ_ ミ_ \______________________
.\ ∪ \
||\_____.\
||\|| ̄ ̄ ̄ ̄||
. || ̄ ̄ ̄ ̄||
0209nobodyさん
02/09/30 23:38ID:???ミ*゚∀゚彡 < 先生!208さんがオモシロスギデス。こんにゃろ。
.__ミミ_ ミ_ \______________________
.\ ∪ \
||\_____.\
||\|| ̄ ̄ ̄ ̄||
. || ̄ ̄ ̄ ̄||
0210nobodyさん
02/10/01 01:06ID:???ミ*゚∀゚彡 < 先生!>>208が「こんにゃろ」とか言って可愛過ぎます!
.__ミミ_ ミ_ \______________________
.\ ∪ \
||\_____.\
||\|| ̄ ̄ ̄ ̄||
. || ̄ ̄ ̄ ̄||
0211nobodyさん
02/10/01 02:05ID:???ミ*゚∀゚彡 < 先生!そろそろPHPの授業をはじめてください。
.__ミミ_ ミ_ \______________________
.\ ∪ \
||\_____.\
||\|| ̄ ̄ ̄ ̄||
. || ̄ ̄ ̄ ̄||
0212nobodyさん
02/10/01 07:41ID:qB96ooZo> きちんと書けば、正規表現一発でできるはずなんだけど。。。
一発じゃマッチング順の問題で失敗する条件があるみたいです。2回に分ければ正しく動く置換が組み立てられます。
$str=preg_replace('/^\s*#[^\n]*\n?/', '',
preg_replace('/\n\s*#[^\n]*/', '', $str));
---
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0213nobodyさん
02/10/01 08:01ID:qB96ooZo>.phpを設定時間がきたら起動さす方法はありますか? cron以外なので無理かな・・・。
pcntl_fork して後は寝て (sleep) 待つ、という方法ではいかが。つまり、cron 相当の作業を PHP で書いちゃえば良いってことですな。
0214nobodyさん
02/10/01 09:39ID:2iQ2koto<!--banner-->
というタグが、某ディレクトリ内にある画像に、ランダムで置き換わる際の
PHPスクリプトを教えて頂けないでしょうか。
0215nobodyさん
02/10/01 11:06ID:2iQ2koto$rand = ???????????????
$pic01='<img src=$rand width="468" height="60">';
echo ereg_replace ("<!--banner-->",$pic01,$pic01);
のようになると思うんですが
特定の画像が出た時に特定のリンクがうまく行かなくて
0216nobodyさん
02/10/01 13:20ID:???つかこの文章で動すか?特定のリンクの変数は?よくわからないす。ゴメソ
0217nobodyさん
02/10/01 13:33ID:???> echo ereg_replace ("<!--banner-->",$pic01,$pic01);
これって、意味あるんか?
ereg_replace(string pattern, string replacement, string string)だから
$pic1に<!--banner-->が含まれていとすると置き換えようがない
仮に$randが"??<!--banner-->???"だったりすると、
結果は、
<img src=??<image src=??<!--banner-->??? with="468" height="60">??? with="468" height="60">
みたいに変にならんか。
やりたいことは間違いなく違うだろうが。
0218nobodyさん
02/10/01 14:20ID:q/Y1XH55???????は変数
よく分からないのでもうやめときます
0220nobodyさん
02/10/01 15:07ID:???うきゃ?うききき、うーきうきうきー!
うきぃぃ・・・・。
0221hmk
02/10/01 15:18ID:???文字列に変数が含まれている場合には、ダブルクォートでくくらないと駄目でした。
$pic01 = "<img src=\"${rand}\" width=\"468\" height=\"60\">";
0224222
02/10/01 15:44ID:???だから、
$a = '"';
は有効で、
$b = """;
はNGになるから、
$b = "\"";
となる。
http://pc.2ch.net/test/read.cgi/php/1011550860/l50
の方がいいかも。
0225名無しさん
02/10/01 15:53ID:???ウザすぎ。
0229nobodyさん
02/10/01 15:56ID:ITTNSseG0230nobodyさん
02/10/01 15:57ID:2aPoU4IE0231hmk
02/10/01 15:58ID:???儂がいいたかったのは、
$name = "内山怜也";
$te_1 = 'I love ${name}.';
$te_2 = "I love ${name}.";
echo $te_1; // I love ${name}.
echo $te_2; // I love 内山怜也.
ちゅーこった。
0232nobodyさん
02/10/01 16:03ID:???このレベルで引っかかっているようでは
PHPだろうがPerlだろうがASPだろうが
何やってもダメなものは駄目。
0233nobodyさん
02/10/01 16:05ID:???から勉強しないと >>232 の言う通りだね。
とりあえずこのスレはブックマークから外します。
役にたつ質問無さすぎ。
0234nobodyさん
02/10/01 16:13ID:???0235名無しさん
02/10/01 16:16ID:???あるよ
http://www.php.net/manual/ja/manual.php
0238nobodyさん
02/10/01 16:49ID:???$hoge=str_replace("1","1",$hoge");
$hoge=str_replace("2","2",$hoge");
$hoge=str_replace("3","3",$hoge");
$hoge=str_replace("4","4",$hoge");
$hoge=str_replace("5","5",$hoge");
$hoge=str_replace("6","6",$hoge");
$hoge=str_replace("7","7",$hoge");
$hoge=str_replace("8","8",$hoge");
$hoge=str_replace("9","9",$hoge");
0240hmk
02/10/01 16:59ID:???「何かよい関数あります?」だから、ある/ないで答えればいいじゃん。
あるとわかれば、234は自分で調べるだろ。
0241nobodyさん
02/10/01 17:02ID:???それでもいいけど、
$str = "123456789";
$str_from = array("0","1","2","3","4","5","6","7","8","9");
$str_to = array("0","1","2","3","4","5","6","7","8","9");
$str = str_replace($str_from, $str_to, $str);
のほうがスマートかも。
$str = mb_convert_kana($str, "n");
が一番楽だけど。
0242234
02/10/01 17:04ID:???うまく逝かなかったので、別の方法があれば聞こうと思って、てっとりばやく1行質問してみたんです
$str = mb_conver_kana($var, 'AKHV');
|_ r 全角英字を半角に
R 半角英字を全角に
n 全角数字を半角に
N 半角数字を全角に
a 全角英数字記号を半角に
A 半角英数字記号を全角に
s 全角空白を半角に
S 半角空白を全角に
k 全角カタカナを半角に
K 半角カタカナを全角に
h 全角ひらがなを半角に
H 半角ひらがなを全角に
c 全角カタカナを全角ひらがなに
C 全角ひらがなを全角カタカナに
V 濁点を 1 文字全角に(K、H と一緒に使用)
この関数はPHPの標準ではないですよね?
0243名無しさん
02/10/01 17:05ID:???0247hmk
02/10/01 17:17ID:???なにか特別なエラーがでないのなら、あとは文字コードの問題くらいかなぁ。
儂はPHP3しかつかったことないので詳しく知らんが。
0250nobodyさん
02/10/01 17:41ID:???0251234
02/10/01 17:43ID:???○→mb_convert_kana
×→mb_conver_kana
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k05.htm
ここのHP参考にしてたんだけど、「t」がなかった・・・
やられたヽ(`Д´)ノ ウワァァァン
いろいろとご迷惑を(略
0253nobodyさん
02/10/01 17:47ID:???云々と出ただろうに。。。
0254nobodyさん
02/10/01 17:49ID:???レッツPHPのスクリプトの改造で悩んでいます。
同一ホストからの連続投稿に時間制限を設けたいのですが(例えば一度書き込んだら
その後30分は書き込みできないようにする)、どこに何を書き込めば解決するでしょうか。
ソースは下記のものになります。
ちなみにPHPのバージョンは4.2です。
http://php.s3.to/simple/#short
0256hmk
02/10/01 18:05ID:???掲示板のデータファイルに、ホストのIPを一緒に書き込んでおけ。
そして、同ホストが前回書き込んだ時刻を参照しろ。
これが分からなかったら、再度、改造工房にageることですな。
0258login:Penguin
02/10/01 22:00ID:???IPでの制御はお勧めできない。
やっぱCOOKIEがBEST。
0260nobodyさん
02/10/02 00:42ID:???「COOKIEを使用しない」にしていた場合の対策はありますか?
そう考えるとIPで制御してもいいと思うのですが、どうでしょう。
IPの場合でもダイヤルアップでころころIP変わるとか、プロキシで端末を特定できないとかの問題はあるので
一長一短だとは思いますが。
0262nobody
02/10/02 01:32ID:???アンケートを取るフォームを作っていますが、そのアンケートの設問は「アンケート設問データ」によって
動的に変わります。
そのため、フォームのラジオボタンの名前はデータを読みながら「bottonxx」とxxの部分に連番を振りながら
「botton1,botton2」とつけています。
これを、受け取る側のプログラムで部品名をどのように編集し、セットされた内容を取得したらいいのかわかりません。
"botton".idx1では、そのidx1が1のとき、フォームでセットされたbotton1の内容は取得できないのでしょうか?
皆さん、このように、動的に名前の物の内容はどのように取得されているのでしょうか?
よろしくおねがいします。
0263nobodyさん
02/10/02 01:59ID:???ある文字列の変数は$$で取れるよ、たぶん
$str = "botton".$idx1;
内容 = $$str; //つまり$botton1の中身
0264hmk
02/10/02 02:06ID:???>"botton".idx1では、そのidx1が1のとき、フォームでセットされたbotton1の内容は取得できないのでしょうか?
>皆さん、このように、動的に名前の物の内容はどのように取得されているのでしょうか?
このへんの文章の意味がわかりまそん。
アンケートとるなら、
<form action="">
設問1:美しいのはどっち?<br />
<input type="radio" name="mondai[1]" value="1" checked="checked" />菊川怜<br />
<input type="radio" name="mondai[1]" value="2" />内山怜也<br />
設問2:若いのはどっち?<br />
<input type="radio" name="mondai[2]" value="1" checked="checked" />菊川怜<br />
<input type="radio" name="mondai[2]" value="2" />内山怜也<br />
</form>
フォームをこんな風にしといて、
<?php
$answer_array[1] = 2; // 例えばクイズだったら、
$answer_array[2] = 2; // 正解を配列にいれとくなりしてから、
for (reset($mondai); list($mondai_num, $mondai_ans) = each($mondai) {
if ($answer_array[$mondai_num] == $mondai_ans) {
echo "設問 ${mondai_num} は正解。";
} else {
echo "設問 ${mondai_num} は氏ね。";
}
}
?>
でいいんじゃねえの。
0265hmk
02/10/02 02:09ID:???0266262
02/10/02 03:21ID:???>263さん
ありがとうございました。無事に、完成させる事ができました。
本当に、感謝感謝です。
>hmkさん
詳細に書いてもらって、ありがとうございました。
配列を使いたかったのですが、ラジオボタンや、チェックボックスに未選択がないか、
Javascriptでチェックしなければならず、配列で名前をつけた時(hogehoge[])に、
formhoge.hogehoge[].checked
と、書くとエラーになってしまったので、それぞれ名前をつける方法をとりました。
時間がなくって、苦し紛れな作り方になったのですが、助かりました。
ありがとうございました。
0268260
02/10/02 07:53ID:???なるほど。そういう考え方ですか。
表示時にCOOKIEの使用可否をチェック
↓
COOKIEが取得できないなら、書き込みフォームを表示しない
または、書き込みできない旨表示
とかもいけますね。
ありがとうございます。
0269254
02/10/02 11:18ID:???ありがとうございます。とりあえず、cookieを使う方向でやってみようと思います。
ただ、cookieを使う方法が分からないです・・・・
どこに何を記述すれば解決するでしょうか?
教えてちゃんで本当にすみません。
0271名無しさん@お腹いっぱい。
02/10/02 17:18ID:???0272nobodyさん
02/10/02 19:49ID:???http://jp.php.net/manual/ja/function.setcookie.php
0274nobodyさん
02/10/02 23:11ID:N6nWPgxI0276age
02/10/03 14:13ID:???どう書けばいいんでしょうか?
ただ画像を表示させるだけではダメです
画像にリンクをつけたいんです。
ご伝授宜しくお願い致します。
0277nobodyさん
02/10/03 16:18ID:???http://php.s3.to/bbs/up/randam.phpsを改造
-----------------------------------------
$folder = "./img/";
$handle = opendir($folder);
while ($file = readdir($handle)) {
if (!is_dir($file) && preg_match("/\.(gif|jpe?g|png)$/i",$file)) {
$filelist[] = $folder.$file;
}
}
closedir($handle);
mt_srand((double)microtime()*1000000);
$randval = mt_rand(0, (count($filelist)-1));
echo "<A href=\"$filelist[$randval]\"><IMG src=\"$filelist[$randval]\"></A>";
------------------------------------------
0278nobodyさん
02/10/03 16:32ID:???ご苦労さん。ところでそのスクリプトを>>276な質問をするヤシが
それなりに使いこなしてくれると思う?
このようにやったけどうまくいかね、教えろ。
ってならまだわかるんだけどな。
0279nobodyさん
02/10/03 16:49ID:cJeLz4gO実際にやってるサイトを見つけて、その管理者に聞けば?
0281nobodyさん
02/10/03 17:31ID:???0282ノンノン
02/10/04 11:39ID:rtjubDTm送信ボタンを押すとエラーページを表示させるようにさせたのですが、
そこからまたフォームへ戻ると入力された内容がすべて消えてしまいました。
Javascriptのhistory.back()やブラウザの[戻る]のどちらも同じ現象です。
セッションを外すとそういうことは起きません。
エラー表示はページを変えずにJavascriptでも可能ですが、Javascriptを
無効にしている人もいるのでできればそれは使いたくないんです。
こういった場合、どうすれば良いのでしょうか。
0283nobodyさん
02/10/04 11:51ID:zNdIxOGzファイルUPするのに<input type=file>
でPOSTすると
C:\Documents and Settings\Administrator\デスクトップ\プログラム\readme.txt
以下のような文字列が帰ってきます。
これをファイイルの部分だけ切り出すのて?
正規表現初心者です。うーんどうすればいいの?
置き換えならともかくループして1文字ずつよむならともかく
わかりません。
0284nobodyさん
02/10/04 12:07ID:???php.iniのキャッシュがらみの設定を変更すると[戻る]でも内容を保持してくれる。
あと、戻るはやめてエラーページからフォームのページへ移るボタンを作って
入力内容を再表示させる方法の2通りあるよ。
本来ならキャッシュに頼らず、後者の方法で回避する方がいいと思うけど、
俺もついつい戻るにしてしまうからな。
>>283
正規表現でなくとも、最後の\以降の文字列を取る。ってかんじなら文字列関数で
何とかできるだろ。
ちなみにここはPHP質問スレだが、ひょっとしてマルチ?
0285ノンノン
02/10/04 12:25ID:rtjubDTm> php.iniのキャッシュがらみの設定を変更すると[戻る]でも内容を保持してくれる。
> あと、戻るはやめてエラーページからフォームのページへ移るボタンを作って
> 入力内容を再表示させる方法の2通りあるよ。
なるほど、フォームへ入力した内容を逆送信という形ですね。
ただ、レンタルサーバを利用しているので前者は無理かな?
で、一つ試しにやったことなんですが、セッションを外しても
また後にセッションを組み込んだページへ移行しても、セッションの
内容を保持してるんです。
なので、「フォームのページだけセッションを外して送信したら再び
セッションを組み込む」なんてことはできるような気がするんですが、
これって邪道でしょうか?
0286nobodyさん
02/10/04 12:49ID:???.htaccessでphp.iniの設定値を変更できるものもある。
で、肝心の設定項目を未だに思い出せない。調べりゃすぐわかるけどね。
値の方をpublicからprivateに変更すりゃよかったと思うけど、https時のIEの
バグ?がらみで俺はnoneにしてある。これでも[戻る]でも残る。
>なので、「フォームのページだけセッションを外して送信したら再び
>セッションを組み込む」なんてことはできるような気がするんですが、
>これって邪道でしょうか?
何がやりたいのか全体像が判らない。なんとなくだが、邪道というより
無駄というかちゃんと理解しているのかと小一時間...
0287nobodyさん
02/10/04 13:51ID:???下記のようなスクリプトを書いてみたもののエラーが出て印字できません.
何か手がかりをお持ちでしたらご教授ください。
-----------------スクリプトの内容-------------------
<?
Header("Content-type: application/pdf");
$pdf = pdf_open();
pdf_set_info_author($pdf, "Sample");
PDF_set_info_title($pdf, "Sample");
pdf_set_info_creator($pdf, "See Author");
pdf_set_info_subject($pdf, "Sample");
PDF_begin_page($pdf, 842, 595);
PDF_add_outline($pdf, "Page 1");
pdf_set_text_rendering($pdf, 0);
pdf_set_font($pdf, "HeiseiMin-W3", 10, "EUC-H");
pdf_show_boxed($pdf, "hoge",100,100,100,100,left); ←
PDF_end_page($pdf);
PDF_close($pdf);
fclose($fp);
$fp = fopen();
header( "Content-type: application/pdf");
fpassthru($fp);
fclose($fp);
?>
------------------------------------------------------
------------エラーの内容-----------
<b>Fatal error</b>: PDFlib error: PDF_show_boxed not supported for CID or EBCDIC encoding in
<b>/usr/local/apache/htdocs/pdf/sample3.php</b> on line 15
0288nobodyさん
02/10/04 14:22ID:H7Rb5fovsession.cashe_limiter = public
0291ノンノン
02/10/04 16:34ID:rtjubDTmおーっ、これですか。早速、.htaccess に書き加えて。。。ガーン!!
「表示できません」と出ました。トホホ。
記述法まで教えていただくわけにもいかず、あちこち調べてみましたら、
session_cache_limiter();
という関数を使えば良いという説明がありましたので、これを利用させて
いただいたところ、できました。
> 何がやりたいのか全体像が判らない。なんとなくだが、邪道というより
> 無駄というかちゃんと理解しているのかと小一時間...
一時間も悩んでいただいたのですね。
ご迷惑をおかけしました。また、質問の際はヨロシクね。
ありがとうございました。
0292質問
02/10/04 16:43ID:zDqIUs3vで最期のスラッシュ部分を削るとよくdirectry格納庫が見えるんですけど
これは犯罪なんですか?
0293質問
02/10/04 17:44ID:???0295nobodyさん
02/10/04 23:07ID:???それはマズイよ。早いとこ出頭したほうがいいと思います。
■本家
http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
0296nobodyさん
02/10/05 00:05ID:zZFr4hqnとあった時、$dataを表示して $name を展開することは可能ですか?
0297nobodyさん
02/10/05 00:08ID:kOTZvqT10298nobodyさん
02/10/05 00:09ID:XGmx03Nq0299nobodyさん
02/10/05 00:17ID:zZFr4hqnでダメだったので、なにか方法あるかなぁと思いまして…。
0300nobodyさん
02/10/05 00:34ID:???$dataはlist - explodeで外部ファイルから持ってきているので、
その辺に問題があるのでしょうかね。
0301nobodyさん
02/10/05 00:34ID:???そういやいままでそんなことしたこと無かったよ。
$data = "<td>"."$name."</td>";
ってやってたんだが、>>296式で試しにやってみたら
ちゃんとでけた。 当然て言えばそうなんだが、なぜいままで
やらなかったのだろう...
echo $data; で表示したよ。
0303nobodyさん
02/10/05 00:54ID:???0304300
02/10/05 00:57ID:???$file = file("data.html");
$html = implode('', $file);
list($head, $main) = explode ("<!--cut-->", $html);
この$mainに<td>$name</td>などが入っているのですが、(echoで確認済み)
前記のように展開がうまくいきません。
普通に$main="<td>$name</td>"とした場合と↑との違いは何なのでしょう?
0305nobodyさん
02/10/05 01:37ID:???すんげぇ発想だな。
展開しないのだったら素直に諦めろ。
ちなみに
$data='<td>$name</td>';
とかだったら展開しないだろ。右辺の扱いが違うんだよ。
0307nobodyさん
02/10/05 10:48ID:???0308nobodyさん
02/10/05 16:28ID:ERAiXWsY「http://pc.2ch.net/test/read.cgi/php/1031721334/l50」の
「/php/1031721334/l50」の部分をread.cgiで取得する方法を教えて下さい。
すごく簡単にできたような気がするんだけど、コード書くの久しぶりだから忘れた…
0309nobodyさん
02/10/05 16:39ID:PH1wtlYb.htaccessと似たようなことがしたい(特定のホストを弾くなど)のですが・・・
0311308
02/10/05 17:11ID:???0312sleepy galaxy
02/10/05 17:18ID:KAWXlSozsleepy galaxyだよ
http://www.msleep.com/jp/sg/
( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)
0313nobodyさん
02/10/05 17:26ID:???<?
$r_addr = getenv("REMOTE_ADDR");
$r_host = getenv("REMOTE_HOST");
if($r_host=="" or $r_host==$r_addr){
$r_host = @gethostbyaddr($r_addr);
}
$hantei = ereg("拒否したいホストA|拒否したいホストB", $r_host);
if($hantei == 1){
header("Location: http://www.2ch.net/"); //飛ばし先
}
?>
0314309
02/10/05 17:39ID:PH1wtlYbありがとうございます。でもコピペしてみたら、
エラーが発生してしまいました……どこに問題があるんでしょうか。
0315nobodyさん
02/10/05 18:43ID:???0316309
02/10/05 20:08ID:???エラーメッセージはこんな感じです。
Parse error: parse error, unexpected '@' in /****/****/****/****/index.php on line 35
0317名無しさん
02/10/05 20:21ID:???としたとたん、$aaの中身が
"1\r\n2\r\n"
になってしまってウザイのですが、どうやって回避すればいいのでしょうか?
おしえてください!
verは4.2.2でし、、
0318名無しさん
02/10/05 21:12ID:pMN6x92iうそついていました
問題なく内部ではうごいていました
0319300
02/10/05 21:22ID:???デザインを別ファイルにしたかったので、こんな意味不明なことを。
(よくある掲示板スクリプトの「スキン」みたいに)
何か別の方法考えてみます…。
0320313
02/10/05 22:43ID:???$r_host = @gethostbyaddr($r_addr);
gethostbyaddr関数の前の「@」が邪魔してんのかな。
無くても大丈夫だからとってみたら。
うちではあってもなくても動くけど。
0321nobodyさん
02/10/05 22:43ID:5gdnUDvW画像をresizeして出力することはできるのですが、
縦のものを横にするようなことはできないんでしょうか?
スレ違いだったらスマソ。
0322nobodyさん
02/10/06 00:56ID:FiROMDEK<ul>
</ul>
この部分があって、これを取り除きたいのですが、
厨房なのでわかりません。
$hoge = ereg_replace("<ul>\n\n</ul>","",$hoge)
このようにしていますがだめっぽです。
ご教授おねがいします。
0323nobodyさん
02/10/06 01:07ID:???>
>
></ul>
\nが3回あるけど?
0324nobodyさん
02/10/06 01:12ID:FiROMDEKそれしてもだめぽでした
0325hmk
02/10/06 01:34ID:???$hoge = ereg_replace("<ul>.*</ul>", "", $hoge);
0326nobodyさん
02/10/06 02:08ID:FiROMDEKそれだめなんすよー
<ul>
<li>ほげ
</ul>
ってのは 消したらだめなんですよー
0328nobodyさん
02/10/06 02:26ID:FiROMDEK<ul>と</ul>の間に2個の改行が入っている場合っす。
0330nobodyさん
02/10/06 02:29ID:FiROMDEKといいますと?
0331hmk
02/10/06 02:32ID:???か
$hoge = ereg_replace("<ul>\r\n\r\n\r\n</ul>", "", $hoge);
を試してみよ。
0333hmk
02/10/06 03:06ID:???Windows環境で編集されたファイルの標準的な改行は復帰+改行(\r\n)である。
また、UNIX系では\nのみ、Macでは\rのみである。
PHPにおいて、出力する場合は\nとしておけば通常は問題ない。
ただし、クライアントから送信されてきたデータを扱う場合には、改行コードを考慮に入れる必要がある。
複数のOSを考えなければならない場合、改行コードを正規表現(\r\n|[\r\n])で扱うのが簡便であろうか。
うんこ食って寝ます。。。
0334nobodyさん
02/10/06 03:12ID:FiROMDEKだめっぽですねー
0335hmk
02/10/06 03:19ID:???まだうんこ食ってないので即レスしますが、
だめぽな原因が、なにか文字列の置換とは別のところにあるのでは?
差し支えなければ、ソースを晒してみよ。
儂か、ほかの誰かが原因を教えてくれるだろうから。
0336nobodyさん
02/10/06 03:36ID:FiROMDEKソースはあれだけっすけど
dmozのHTMLをちょこちょこいじくってます
0337hmk
02/10/06 03:51ID:???もっと質問上手になって下ちい。
つまり、自分と同じ状況を相手が再現できるようにしなければなりまそん。
そうでない場合、皆は答えたくても憶測で答えるしかできまそん。
儂も儂で、実はPHPを動かす環境をもってなくて悪いのですが、、、
0338hmk
02/10/06 04:05ID:???また、<ul></ul>間に「2個の改行が入っている場合」というのを「表示するべきデータがない場合」と拡大解釈するとして、
$hoge = ereg_replace("<ul>[:space:]*</ul>", "", $hoge);
を試してみよ。
もう本当にうんこを食って寝ます。。。
0339hmk
02/10/06 04:08ID:???$hoge = ereg_replace("<ul>[[:space:]]*</ul>", "", $hoge);
でした。
0340nobodyさん
02/10/06 04:51ID:???あそこは糞ですよ。
統率執れてないし。
0341駆け出し
02/10/06 08:28ID:XXgIkL71$hoge = ereg_replace("\r\n", "", $hoge);
$hoge = ereg_replace("\n", "", $hoge);
$hoge = ereg_replace("\r", "", $hoge);
こういう事?
0342名無しさん
02/10/06 08:43ID:???http://plaza.rakuten.co.jp/a240a/
0343駆け出し
02/10/06 08:54ID:6TGeGVMz逝ってきます。
0344316
02/10/06 13:49ID:???>>320
試しに @ を外してみたのですが、やはり動作しませんでした。
バージョンは4.2ですが、何か関係があるのでしょうか?
度々質問してすみません。
0345nobodyさん
02/10/06 14:38ID:pKfa3/8wバージョンは4.2
$addr = $_SERVER['REMOTE_ADDR'];
$host = $_SERVER['REMOTE_HOST'];
$acpos = strstr($addr, "拒否したいホストA|拒否したいホスト");
if($acpos) header("Location: http://www.2ch.net/"); //飛ばし先
0346nobodyさん
02/10/06 15:15ID:???ありがとうございます。でも、試したところまたエラーが出てしまいました。
Parse error: parse error in /****/***/****/****/index.php on line 31
ちなみに31行目は
if($acpos) header("Location: http://www.2ch.net/"); //飛ばし先
の部分です。
何か打つ手がありましたら教えて下さい。
0348313=320
02/10/06 16:37ID:???おー、strstr()関数って初めて知った…俺も触って1週間の素人なので。
ereg使うまでもないときは便利ですね。
>>346
345をそのままコピペしてるとして、
「拒否したいホスト」の部分にリモートホストのドメイン名
(例えばiij.ad.jpとか)を書いてるとしたら、動かない。
345のスクリプトは$hostは見ないで、$addrで判断してるから、
「拒否したいホスト」はIPアドレスで指定しないといけない。
あと、最後の行(Parse Errorが出てる文)も動かないかな?
ちっと345を元にして直してみた。4.2.2で動作してます。
index.php内に記述
<?
$host = $_SERVER['REMOTE_HOST'];
$acpos = strstr($host, "拒否したいホストをドメイン名で");
if(isset($acpos)) header("Location: http://www.2ch.net/");
?>
0349nobodyさん
02/10/06 16:48ID:???うちで試してみたけど動いたよ
1. 省略せずに書いてみる
2. コメントを消してみる
if( ... ){ header(" ... ") }
else{ print ("OK"); }
parseエラーの行数が気になる
なんかのプログラムの途中に入れてるみたいだけど単独で試してみたら?
0350346
02/10/06 16:53ID:???>>348
ありがとうございます。でも、またしてもエラーが出てしまいました…
Warning: Cannot add header information -
headers already sent by (output started at /****/***/***/***/index.php:16)
in /****/****/****/****/index.php on line 27
27行目は
if(isset($acpos)) header("Location: http://www.2ch.net/");
の部分です。同じ環境なのにどうして動作しないんでしょうか。
0351nobodyさん
02/10/06 17:12ID:???header("Location: http://www.2ch.net/");
の前に何か出力してないか?
<html><body>
<?
header("Location: http://www.2ch.net/");
?>
もダメだぞ
0352313=320=348
02/10/06 17:12ID:???むむむ、まだダメなんだ。
>>349の言うとおり、単独で試したほうがよさそうな。
0354350
02/10/06 17:43ID:???>>349,>>351
ありがとうございました。単独で試したら動作しました。が、
自分が2chに飛ばされてしまいました。
もちろん、自分のホスト名は記述してません。
何故なんでしょうか…
0355nobodyさん
02/10/06 18:39ID:???<?php
$host = $_SERVER['REMOTE_HOST'];
$acpos = eregi("拒否ホスト名",$host);
if($acpos){
header("Location: http://www.2ch.net/");
}else{
print "飛んでない";
}
?>
0356354
02/10/06 19:03ID:???>>355
上手く動作しました! ここまで色々情報を頂き、
皆さん本当にありがとうございました。
0357313=320=348
02/10/06 19:12ID:???おー、うまくいったのね、よかったね。
>>355のスクリプト、俺の環境(4.2.2)で試すとうまく動かない…
ホスト自体が取得できてないからなんだが、これって環境の問題かな?
スクリプトの問題じゃないのは明白なので不思議だ。
やっぱ自分のとこでは>>313式がちゃんと動くようです。
<?
$addr = getenv("REMOTE_ADDR");
$host = getenv("REMOTE_HOST");
if($host == "" or $host == $addr){
$host = gethostbyaddr($addr);
}
$hantei = ereg("拒否ホストA|拒否ホストB", $host);
if($hantei == 1){
header("Location: http://www.2ch.net/");
}
?>
0358nobodyさん
02/10/06 22:23ID:???それは鯖の設定でホストが抜けない様になってるんだよ
だからgethostbyaddr()関数を使って、IPアドレスから
ホストを問い合わせる必要がある。
そんな余分な処理をするより、IPアドレスで制限した方が
負担が少ない。
0359nobodyさん
02/10/06 22:28ID:???ここのマニュアルにある、
> "\0..\37" のようにcharlistに範囲を指定可能で す。この場合、アスキーコードが 0 から 31 の範囲の文字は全てエスケー プされます。
これってどういう意味?単なるtypo?
0361359
02/10/06 23:58ID:???うーん、どこをどう読んでも
"\0..\37"ってのが、どうして"0から31"になるのか理解できないんで、
どういうことなのか御教授キボンヌ。
0362359
02/10/07 00:04ID:???たびたびスレ汚ししてスマン>ALL
>アスキーコードが32未満または126より大きい文 字は、8進表現に変換されます。
ここを見落としてた。
0363荒川太郎
02/10/07 17:52ID:bKtEI8Ri特定ディレクトリ以下の、パス情報をパラメータとして取得することはできるでしょうか?
例:
http://hogehoge.com/test/param1/param2
上記の場合、
1.test/ 以下のパス情報は無視されて、hoge.php が呼ばれる。
2.test/ 以下の param1/param2 の情報を hoge.php の中で使用する。
Servlet では同じようなことを、tomcat の設定ファイルでやっていたんですけど、
PHPでやらなくてはならなくなり、いろいろ調べているのですが、いい方法がみつかりません。
ちなみに tomcat では web.xml で
<servlet-mapping>
<servlet-name>
HogeHogeServlet
</servlet-name>
<url-pattern>
/test/*
</url-pattern>
</servlet-mapping>
というような設定をして行っていました。
apache+PHP でも同様のことができるのでしょうか?
0365hmk
02/10/07 18:41ID:???0367hmk
02/10/07 20:33ID:???板違いで申し訳ないが、ちなみに儂は、
http://***/xyz へのアクセスを http://***/index.php?code=xyz
と読み替えさせるためにrewrite使ったことがあります。
0368荒川太郎
02/10/07 20:38ID:bKtEI8Riどもです、この辺の話は、ここだとまずかったかな?
apache関連の板ってあるのかな?
0369nobodyさん
02/10/08 02:52ID:mDZCCxjWimagemagickってーの使えばできるぽ
外部コマンド使うか、pearのPECLぱっけじいんすとしれ
0370nobodyさん
02/10/09 01:22ID:Cmd2yG94perlでは簡単に出来るんだけど、phpのsetcookie()を使うとJavaScriptで取得したときに
文字が化けちゃうよ。
setcookie()を使わずに、書き込みもJavaScriptを使えば良いんだろうけど、
なるべくならphpを使いたいな。
どなたか良い方法を知っている方いませんか?
0371nobodyさん
02/10/09 02:49ID:uMeBQ3Ig0375hmk
02/10/09 13:29ID:???文字化けしないコードに変換してからsetcookie()すればいいだけでしょ、たぶん。
>>373
>>19の説明だけだと、PHP+PEAR+Accessについてよく知っている人でないと答えにくいと思う。
答える側の手を煩わせないように、前後のコードやデータとあわせて、�@期待したい結果�A実際の結果�Bエラー等が出力された場合はその出力
を簡潔に書くべきだと思う。
0377あくせる
02/10/09 16:21ID:DrstWiBSですよね。
なんで、insert するときわざわざ $nowdate かわかんない。
テーブルこしらえるときに date TIMESTAMP DEFAULT CURRENT_TIMESTAMP とか。
Access なら「規定値」にDate()じゃだめなの?
0379nobodyさん
02/10/10 10:48ID:???セッションについて質問があるのでよろしくお願いします。
記述1(session_start()を記述してない)
−−−test.php−−−
/* クラス定義 */
$sel2 = new クラス名;
/* 読み込んだクラスをセッション管理 */
session_register("sel2");
$sel2->クラス名($sql);
−−−クラス内−−−
$this->usersql = $sql;
だいぶ省略してますが上記記述だと、クラス内の
$this->usersql という変数はリロードしても引き継がれてるのですが
記述2(session_start()を記述してない)※上記とは違うソース(PHPマニュアルより抜粋)
if (!session_is_registered('count')) {
session_register('count');
$count = 1;
}
else {
$count++;
}
?>こんにちは、あなたがこのページに来たのは<?php echo $count;?>回目ですね。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
上記記述でリロードした場合、カウントアップしていってくれません。
session_start()を記述すればカウントアップするのですが、
ならばなぜ、session_start()の記述がない”記述1”は情報を保持しているのかが理解できません。何故session_register()だけでセッションが成立する
場合があるのか、、すみませんがご教授ください。
0380nobodyさん
02/10/10 12:37ID:???良く分からんが、session_is_registered()のあたりで、
内部でいろいろやってそうだ…
便乗して質問。
$_SESSIONを開放しようとしてunset($_SESSION)した後、
$_SESSION['hogehoge']に何か値を代入すると、
値が保存されないんだけど、これって仕様?
どうやら、unset($_SESSION)すると、
その後のセッションに関する操作が全て無効になるみたいだけど。
http://www.php.net/manual/ja/function.session-unset.php
これ見る限り、$_SESSION = array();と等価であるように書かれているけど…
0381nobodyさん
02/10/10 19:06ID:???セッション変数に登録しようとすると、暗黙のうちにsession_start()を
まだ呼び出していなかったら呼び出します。
ML過去ログにも同様のネタはあるよ。2年近く前だったかなー。
0382nobodyさん
02/10/11 04:39ID:Dj1Sz5F3<style type="text/css">
<!--
.hide { display:none }
-->
</style>
のようなスタイルシートがテンプレート内にあると
Warning: Smarty: [in hoge.html line 13]: syntax error: unknown tag - 'display:none' in /usr/local/lib/php/Smarty_Compiler.class.php on line 1182
のようにWarningが出てしまいます。
回避する方法はありませんでしょうか。
よろしくお願いします。
0383382
02/10/11 05:24ID:???{literal}
{/literal}
で囲んでおけばよかったんですね。
しかし、SmartyってWYSIWYG環境でHTML作ること考えてないのかな?
0384age
02/10/11 13:13ID:???例)サーバに画像掲示板100個設置
0385nobodyさん
02/10/11 15:40ID:???0386nobodyさん
02/10/11 15:56ID:???0387nobody
02/10/11 23:07ID:???現在、<A href=〜>で、自分自身(php)を呼び出し、色々チェックをして、オッケーであれば
別の画面へリンクしたいのですが、チェック後オッケーであれば、header("Location: http=hogehoge")で、
別画面へ移動しています。
しかし、クライアントから「新規にウィンドウをオープンして表示して欲しい」とリクエストがあり、
困っています。
どうすれば、実現可能でしょうか?
新規ウィンドウを開くにはJavaScriptを使うのだが、チェックしてダメな場合は
新規ウィンドウを開かずに元のウィンドウで修正させたいわけですな。
元のウィンドウに隠しフレームを作っておいて、リンク先をとりあえず隠し
フレームしておく。そこでチェックしてOKなら隠しフレームからJavaScriptで
新規ウィンドウを開く。ダメなら元のウィンドウへ修正画面を出す。
で、どうよ。
0389387
02/10/11 23:41ID:???レスありがとうございます。
>チェックしてダメな場合は新規ウィンドウを開かずに元のウィンドウで修正させたいわけですな。
そうです、そうです。
やはりJavaScriptを使わないと無理でしょうか?
<A href=hogehoge target="_brank">のように、簡単にphpでチェック後自動的に
移動したいのです。
クライアントの要望では「なるべくJavaScriptを多用しない」とあるのです。
(フォームの入力チェックくらい)
なので、悩んでいます。
なにか、名案がありましたらご指導ください。
JavaScriptの多用はダメって何でかな?
一切ダメってなら理解できないわけでもないのだが...
で、<A href=hogehoge target="_brank"> こうするとダメな場合でも
新規ウィンドウを開いちゃうわけだが、『入力に間違いがあるので、
修正してください』ってなメッセージを表示して元ウィンドウでの修正を
促すようにするとか...
クライアントの意向も含めて内容がわからないので、これ以上は
なんともだな。
0391nobodyさん
02/10/12 00:43ID:RgMaTiubとかして、開く先でチェックする。
チェック不通過なら、
header("Location: http=motopage?check=out")
で送り返す。
ってのは?
不通過の場合新しいページは開いたまま元のページを表示しちゃうけどね。
0392nobodyさん
02/10/12 01:41ID:???といいたい気持ちを抑えつつ、ひとつ案を出してみます。
<? if( $checkresult == "ok" ){ ?>
<body onLoad="window.open('thisfile.html')">
<? } else { ?>
<body>
<? } ?>
0393389
02/10/12 02:08ID:???結局、392さんの案を使わせていただきました。
>どう考えてもページ遷移の設計に問題あるだろ。
そうですね〜。
388さんの案でもいいのですが、「そこまでするのもな〜〜」っていう感じのものなのです。
とりあえず、実現できました。ありがとうございました。
おっ! なるほどぉ。
ワシも勉強になった。
0395( ´ー`)y-~~ ◆f7mhnEfPcU
02/10/13 02:59ID:5MS6fmVa0396nana
02/10/14 11:29ID:???$line = "出席番号<>1<>名前<>安藤<>科目<>数学<>点数<>85"
こういった内容の文字列があり、これから下のような配列を
作りたいと思っています。
$array("出席番号" => 1,
"名前" => "安藤",
"科目" => "数学",
"点数" => 85);
試行錯誤して一つ方法が見つかったのですが、何だか
とても回りくどい、下手な書き方をしているようです。。
もし効率的な方法があれば、教えてください。
<?php
$line = "出席番号<>1<>名前<>安藤<>科目<>数学<>点数<>85";
$data = explode('<>', $line);
while($data) {
$name = array_shift($data);
$value = array_shift($data);
$array_tmp = array($name => $value);
$array = array_merge($array, $array_tmp);
}
?>
よろしくしくお願いします。
0397nobodyさん
02/10/14 11:46ID:???$data = split("<>", $line);
for ($i = 0, $cnt = count($data); $i < $cnt; $++) {
$array[$data[$i]] = $data[$i + 1];
}
その前にそんな配列を作って後で苦労しねぇか。
0400nana
02/10/14 13:05ID:???想定していないフォーマットでテキストファイルを
受け取ってしまって、これをデータベースに登録して
いかなくてはならないんです。。
しかもテキストファイルの中身の「順序」が下記のように
まちまちなので、行単位で読み込みながら連想配列に
しておけば、データベースに登録していく際に間違いが
減るのでは、と思ったのですが…考え方が間違ってますでしょうか??
ファイル1: 出席番号<>1<>名前<>安藤<>科目<>数学<>点数<>85
ファイル2: 名前<>伊藤<>出席番号<>2<>科目<>数学<>点数<>65
科目は数学だけではないだろうから、配列の次元を増やすか、
配列変数そのもを増やすかしないと...と思ったわけよ。
最終集計をデータベースでやるので仮だ! ってなら別にいいけどよ。
0402nana
02/10/14 13:40ID:???仰るとおり、集計などはデータベースに登録してから
行うつもりでした…お気遣いありがとうございました。
0403nobodyさん
02/10/14 14:40ID:c/k9cDX2セッションというのがいまいちよく分かりません。
セッション変数は、サーバー側に保持しているんですよね?
だとしたら、長い間運用していたら
サーバー側のリソースがいっぱいになってしまわないのでしょうか?
ブラウザが閉じられたらセッションも終了する、と解説書に書いてありますが、
クライアント側がハングアップした場合等でもうまく処理されるのでしょうか?
0404nobodyさん
02/10/14 14:48ID:???インストールしています。 以下を教えて下さい。
ローカルな環境で REMOTE_ADDR を取得したいのですが、
<?php
print "remote_addr=".getenv("REMOTE_ADDR"). "<br>";
?>
では getenv 部分が空白になってしまいます。
phpinfo() では _SERVER["REMOTE_ADDR"] に正常な IP が表示されています。
php.ini は変更していません。
0405nobodyさん
02/10/14 15:10ID:???ん?どうゆうこと?普通こうじゃないの?
<?
$remote_addr = getenv("REMOTE_ADDR");
print "remote_addr=".$remote_addr. "<br>";
?>
0406
02/10/14 15:16ID:qwp05sUrpreg_match_all('/[^<>]+<>[^<>]*/', $line, $match);
$sets = current($match);
foreach($sets as $set) {
list($key, $val) = explode('<>', $set);
$array[$key] = $val;
}
-----
ガーベッジ・ コレクションで掃除します
session.gc_maxlifetime
-----
"remote_addr={$_SERVER['REMOTE_ADDR']}"
0407nobodyさん
02/10/14 15:18ID:IjGAaSWb注意 この関数は、ISAPIモードでは動作しません
<?=$_SERVER["REMOTE_ADDR"]?>
0409404 NotFound
02/10/14 15:24ID:???たくさんありがとうございます。
print "remote_addr=" .$_SERVER['REMOTE_ADDR']."<br>";
で表示はされました。
ISAPIモード...ですか... 検索してみます。
0410403
02/10/14 16:07ID:???なるほどー。時間制限があるわけですね。
ありがとうございました。
0411nobodyさん
02/10/14 16:19ID:x52xQDqkどのバージョンからそうなったんだ?
以前は機能していたのに。
確認したら確かにCGIモードでしか値を返さないな。
0412nana
02/10/14 18:33ID:???正規表現は難しいので殆ど使ったことがないのですが、
書いていただいた意味を調べて理解したいと思います。
ご親切にありがとうございました。
0413nobodyさん
02/10/14 19:55ID:H8/ENmxFecho readfile(filename);
すると、filenameの内容となぜかバイト数が表示されるのですが、
これを抑制するにはどうしたらいいですか。
例
file.txt
ああああああああああ
echo readfile("file.txt");
結果
ああああああああああ
20
0415nobodyさん
02/10/14 20:11ID:H8/ENmxFReturns the number of bytes read from the file
あじやー
素直にfgets デモ使います。
定型html部分をインクルード(バックスラッシュなし)しようと思ったのだが、
0416hmk
02/10/14 20:48ID:r0BZ2PpZインクルードしたいのならinclude()すれば?
readfile ファイルを出力してバイト数を返す
http://jp.php.net/manual/ja/function.readfile.php
readfile(filename);
だけにして戻り値は捨てる
>>416のように include,include_once,require,require_once
あたりの方がいいのでは、
Zendに評価して欲しくない部分でも含まれてない限り。
0418nobodyさん
02/10/15 11:12ID:YHFkhAWRテキスト検索付きのBBSをファイルベースで作ってるのですが、
検索語に「ー(長音)」が含まれる場合にエラーが発生します。
Warning: REG_EBRACK in xxx.inc on line 181
当該ファイルの181行目の処理:
$result = eregi($keyword,$res);
BBSログ内容を含む変数$resに対して、
検索語を含む変数$keywordで検索をかけているわけですが、
「ー(長音)」にぶつかると、REG_EBRACK([]ブラケットが閉じてない)
エラーが出てしまうようです。
いろいろ検索してみた結果、
SJISの長音がまずい文字を含んでるようなのですが、
正規表現はまったくの素人(PHPもですが…)なので
うまい処理の仕方が分かりません。
どなたか教えていただけないでしょうか。
※eregを使わないやり方があればそれでもOKです。
ちなみに、PHPの内部エンコーディングはSJISです。
0419nobodyさん
02/10/15 12:08ID:???http://www.php.net/manual/ja/ref.mbstring.php
0421s
02/10/15 13:02ID:MW777drM0422nobodyさん
02/10/15 17:15ID:60o/Yyha$hogeで受け取るのと何が違うの?
0425418
02/10/15 18:50ID:???eregi()で検索する方法をやめて、
mb_strpos()を使うようにしたらうまくいきました…
0426nobodyさん
02/10/15 18:54ID:MbJ1xrNTだれかこれ使ってる人居ない?
0427nobodyさん
02/10/16 02:07ID:???iamview.php
<html><head></head><body>
<?php
echo "I am View<br>\n";
echo "PHP_SELF = ".$_SERVER[PHP_SELF]."<br>\n";
include "iambean.php";
$iambean = new iambean;
?>
</body></html>
iambean.php
<?php
class iambean{
function iambean(){
echo "I am Bean<br>\n";
echo "PHP_SELF = ".$_SERVER[PHP_SELF]."<br>\n";
}
}
?>
結果
I am View
PHP_SELF = /php/iamview.php
I am Bean
PHP_SELF = /php/iamview.php
2個目はiambean.phpになってほすぃ
0428nobodyさん
02/10/16 02:21ID:???__FILE__は?
0429nobodyさん
02/10/16 02:37ID:???class iambean{
function iambean(){
echo "I am Bean<br>\n";
echo "PHP_SELF = ".$_SERVER[PHP_SELF]."<br>\n";
echo "SCRIPT_FILENAME = ".$_SERVER[SCRIPT_FILENAME]."<br>\n";
echo "PATH_TRANSLATED = ".$_SERVER[PATH_TRANSLATED]."<br>\n";
echo "SCRIPT_NAME = ".$_SERVER[SCRIPT_NAME]."<br>\n";
echo "__FILE__ = ".__FILE__."<br>\n";
}
}
?>
結果
I am View
PHP_SELF = /php/iamview.php
SCRIPT_FILENAME = c:/program files/apache group/apache/htdocs/php/iamview.php
I am Bean
PHP_SELF = /php/iamview.php
SCRIPT_FILENAME = c:/program files/apache group/apache/htdocs/php/iamview.php
PATH_TRANSLATED = c:/program files/apache group/apache/htdocs/php/iamview.php
SCRIPT_NAME = /php/iamview.php
__FILE__ = c:\program files\apache group\apache\htdocs\php\iambean.php
いけました!こんなのマニュアル載ってましたっけ??
ありがとうございました。
0430nobodyさん
02/10/16 02:53ID:QXwwjHEP私はめんどくさいのでUTF-8Nです
0431nobodyさん
02/10/16 02:56ID:m/rwzFSQ・複数のファイルを選択してアップロード出来ますか?
・ファイルではなくディレクトリを指定して、その階層下のファイル、サブディレクトリをアップロード出来ますか?
0432nobodyさん
02/10/16 03:05ID:FAL4tSOv0435nobodyさん
02/10/16 11:40ID:FAL4tSOv0436nobodyさん
02/10/16 12:35ID:???0437nobodyさん
02/10/16 15:28ID:???基本的にそれでいいけど、formの方で
<input type="file" name="file[0]"> とやって受ける方で
配列の数だけループさせんのが楽です。
0438nobodyさん
02/10/17 13:19ID:wnOpV9llブラウザを閉じなくてもセッションが切れてしまうみたいです。
php.iniのsession.cookie_lifetimeとかsession.gc_lifetimeとかも
いろいろいじっみたんですがやっぱり30分前後で切れてしまうようです。
もっとセッションを長く持つことはできないのでしょうか・・・
0440nobodyさん
02/10/17 13:56ID:frKHjIQwDefaultだとセッション情報の生存時間は24分になってる
session.max_lifetime = 1440
ただし、24分以降のアクセスが有った場合に
session.gc_probability = n
で定義されているn%の確率でガベージコレクション処理が
実行される。
アクセスがなければ、セッション情報はアボーンされない。
デフォルトはsession.gc_probability = 1
だから、結構なアクセス数がないとgcは開始しないはず
何だけど
0441440
02/10/17 13:58ID:frKHjIQws/max_lifetime/gc_maxlifetime/
0442x
02/10/17 14:28ID:93YjN7NA↓ ↓ ↓
http://www.dream-express-web.com/space-trust.htm
0443438
02/10/17 14:51ID:dtum+/dqgc_maxlifetimeってそういう意味だったんですね
ドキュメントみてもよくわからなくて。
アクセスが結構あるのでこの値を大きくしてみます
0444nobodyさん
02/10/17 17:30ID:B8kY3RPw0445nobodyさん
02/10/17 17:40ID:???echo $id;
0446nobodyさん
02/10/17 18:23ID:B8kY3RPw$better_token = md5(uniqid(rand())); // 推測が困難であり、より優れている。
0449nobodyさん
02/10/17 23:11ID:???ここのレスだけじゃなくMLもな
0450nobodyさん
02/10/18 11:07ID:???$mail_status = mb_send_mail($form["recipient"],$form["subject"],$mailbody,$mail_header);
の$mail_headerに一部日本語を含めてます(From:[email protected](名無しさん) みたいに)
で、mb_send_mail は、仕様として、最後の引数(ヘッダ)だけは文字コード変換してくれないのでしょうか?
上記のままだと、本文やタイトルは文字化けしてませんが、
From:[email protected](名無しさん) の日本語だけ、化けてます。
なので、
$mail_header = mb_convert_encoding($mail_header, "JIS", "JIS, eucjp-win, sjis-win");
としたら、文字化けは解消されたのですが。。。
こういう仕様なんでしょうか?
0452450
02/10/19 03:30ID:Rs0UFwL7マニュアル見ても、string mb_language ( [string language])の設定によって、変換・エンコードされる
としか書いてないです。。。
やぱ、
boolean mb_send_mail ( string to, string subject, string message [, string additional_headers [, string additional_parameter]])
のstring additional_headersは、そのままスルーなんでしょうか・・・?
0453nobodyさん
02/10/19 04:44ID:???セキュリティ上望ましいと、聞いたことあります。
で・・・質問です。
<インクルードされるファイルは「*.inc、*.conf」の拡張子に限る>というルールをつくった上で、
<Files ~ "\.(inc|conf)$">
order allow,deny
deny from all
</Files>
をhttpd.confに加えれば、htdocsの下に「*.inc、*.conf」を置いても、セキュリティ上の問題は、
ないんじゃなかろうかと思ったんですが、実際、どうなんでしょう?
0454age
02/10/19 10:02ID:???0455nobodyさん
02/10/19 10:46ID:3cLIDoBpそれで安全だろ。
0458nobodyさん
02/10/20 07:20ID:???たとえばレスをはじめから10件読む場合には、
1行づつ読み込んで、10行目を読み込んだ時点でファイルを閉じればいいですね。
しかし、「最新のレス10件」を読み込む場合には、
レスの範囲を計算するためには、「全部で何行あるか」を調べなくてはいけませんね。
そうすると、feofまで読み込んで、fseek等をしつつ、行数を調べてから、
改めてファイルを読み込むと言うことになります。
それなら、fileで一気にファイルを配列に読み込んで、その後でarray_spliceなりを
施せばいいのですが、データファイルが200KB,300KBにもなるとそれは
さけたいですね。
アドバイスをお願いします。
0459458
02/10/20 07:25ID:???それにしても、この板、人口少ないですね。
0460nobodyさん
02/10/20 08:06ID:???> データファイルが200KB,300KBにもなるとそれは
> さけたいですね。
その程度なら全部を配列に読みこんでも良いのでは?
0461nobodyさん
02/10/20 09:19ID:3NSvh+yz書き込み時に、何行書き出すか取得して、それを別ファイルに落とす。
んで、その別ファイルには何行あるか、と言う数値が1行ずつしか書き込まれない。
で、その別ファイルを10行分読み込んで、10行分の数値を全て足した数値+タグ分の数値で、
何行まで読み込めばいいか、処理出来ると思うが。
これだと、メッセージ編集した場合の書き換え処理が大変だが、メッセージ編集しないのであれば
これでいいと思われ。
0462redeclareさん
02/10/20 11:43ID:TH9l9BrQFatal error: Cannot redeclare class logger in
c:\apache\htdocs\php\logger.php on line 2
と言われてしまいます。
Javaでは同じクラスを何度もimportできるのに・・・。
この場合どのような構成にしたらよいのでしょうか?
コードを以下に示します。
0463redeclareさん
02/10/20 11:49ID:TH9l9BrQ<?php
include "hello.php"; $hello = new hello;
include "goodbye.php"; $goodbye = new goodbye;
?>
<html><head></head><body><?=($hello->msg().$goodbye->msg())?></body></html>
hello.php
<?php
class hello{
function msg(){
$msg = "Hello,2chWorld.<br>\n";
include "logger.php"; $logger = new logger; $logger->log();
return $msg;
}
}
?>
goodbye.php
<?php
class goodbye{
function msg(){
$msg = "Goodbye,2chWorld.<br>\n";
include "logger.php"; $logger = new logger; $logger->log();
return $msg;
}
}
?>
logger.php
<?php
class logger{function log(){}}
?>
0465redeclareさん
02/10/20 12:21ID:TH9l9BrQできました!
今までリクエストが送られるたびに
初期処理的にfactoryクラスを呼んで
$GLOBALSに共通利用されるクラスをいれて使用するという
なんともまどろっこしいことをしてましたが
これで解決です。感謝!
0466nobodyさん
02/10/20 16:50ID:jWiCSXPtって、もっとスマートな書き方
($HTTP_SERVER_VARS[DOCUMENT_ROOT] なんて使わずに)
あります?
SSI include みたいな。
0467nobodyさん
02/10/20 17:06ID:???でいいんじゃないの?
0468458
02/10/20 19:58ID:???php.iniもさわれないし、.htaccessにもかけない環境の方は、
define("INCDIR",$_SERVER['DOCUMENT_ROOT'] . "/hoge/hage/");
として、
include(INCDIR . "foobar.inc");
でいいんじゃ?
0469s
02/10/20 20:06ID:7cHVMr6a$INCLUDE_PATH = ini_get('include_path');
$new_include_path = "{$INCLUDE_PATH}:{$DOCUMENT_ROOT}/hoge";
ini_set('include_path', $new_include_path);
0471nobodyさん
02/10/21 00:42ID:???0472nobodyさん
02/10/21 01:33ID:az6boZmG自分でコードを書くしかないのでしょうか?
0474nobodyさん
02/10/21 01:54ID:???0475nobodyさん
02/10/21 02:56ID:???$|=1;
open(STDOUT,"| /bin/gzip -1 -c");
この二つはPHPではどう書けるのでしょう。
0480nobodyさん
02/10/21 06:56ID:???おすすめの書籍とかないでしょうか?
0482471
02/10/21 11:00ID:???ログに$_SERVER[PHP_SELF]とfunction名と行を出そうと思ってるのですが
function名を文字列として渡すのは面倒&function名が変わったら修正増
ということでなんとかして関数その他で取れないかな、と。
0484nobodyさん
02/10/21 16:27ID:???・ひたすらがんばる
$array = array("a", "b", "c".......................................................);
・forでまわしてみる
for($i = ord("a").................................................)
というのが簡単に思いつくんですが、もう少し簡単で綺麗な
書き方はないでしょうか
0485nobodyさん
02/10/21 16:59ID:RKsFdcBa$alpha = 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z';
$a = explode(",", $a);
print_r($alpha);
こんなんで、どや
0486すいません
02/10/21 17:00ID:???本当にくだらない質問なんですが
PHPで、ユーザーエージェントによって
携帯端末用とPC閲覧用で表示を変えたいのですが
どういう風にすればよいのでしょうか?
なんとなく形はわかるんですが、それを実際に
PHPで動作させるのがわかりません><
たぶん・・・
環境変数からユーザーエージェントを見て
i-mode/j-sky/ezwebならこっちを表示
それ以外ならアッチを表示・・・というプログラムになると思うのですが・・・。
どなたかお優しい方ご教授お願いいたします。
0487485
02/10/21 17:01ID:???$alpha = 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z';
$a = explode(",", $alpha);
print_r($a);
0490458
02/10/21 20:12ID:Z25MjzcQUserAgentのデータベースを作りましょう。
http://www.hyuki.com/yukiwiki/wiki.cgi?UserAgent
サルにもわかる正規表現入門
http://www.mnet.ne.jp/~nakama/regexp1.html
制御構造について
http://homepage1.nifty.com/~takaot/prprpr/controlblock.html
PHPマニュアル
http://www.php.net/manual/ja/
0491hmk
02/10/21 21:09ID:???私は、$array = array("a", "b",...); にするべきだと思う。
他人がコードを読むときのことを考えると、意味がはっきりするほうが良いと思います。
0492458
02/10/21 21:14ID:Z25MjzcQ同意。
たとえだと思うけど、a〜z間での配列を作る前に、それが本当に必要なのか、
検討すべきだと思う。
俺は、他人がコードを読むときなんてあんまりかんがえんが、
a-zと綺麗に並んだ配列を用意する時点で遠回りしている感じはするね。
で、1字づつの配列でいいのなら、
$array="abcdefg......";
でええのとちゃう。
0494nobodyさん
02/10/22 00:47ID:n3viipFn簡易伝言板のようなものを作ってるんですが、ログファイルが変なことに。。。
---------
name<>mes<>date
name<>mes<>date
name<>mes<>date
--------
といった感じに、改行数がどんどん多くなってしまいます。。。
表示などには特に問題は起きないんですが、ログファイルが見づらくなるので。。。
よろしければ対策を教えて下さい。
0495494
02/10/22 00:48ID:n3viipFnif($_POST{'name'} && $_POST{'mes'}) {
$name = $_POST{'name'};
$mes = $_POST{'mes'};
// 現在日時取得
$date = gmdate("d(D) h:i a", time() + 60 * 60 * 9);
// フォーマット
$data = "$name<>$mes<>$date\n";
$logs = file($logfile);
$fp = fopen($logfile, "w");
fputs($fp, $data);
$log_max--;
for($i=0; $i<$log_max; $i++) {
fputs($fp, $logs[$i]);
}
fclose($fp);
}
http://php.s3.to/tt/tt5.php
ここにあるサンプルのゲスブも同じ事態になりました。。。
0496nobodyさん
02/10/22 09:50ID:???0497nobodyさん
02/10/22 10:08ID:TXJWZ2fS1台のサーバでApacheのVirtualHost機能を使って
aaa.hogehoge.com
bbb.hogehoge.com
を作るとします(ドメインは同じ)
この場合、aaa.hogehoge.comで登録したセッション変数を
bbb.hogehoge.comで参照することはできるのでしょうか?
同一サーバなので/tmpが参照できるから問題ないのかなあとか
思うんですけど、環境が作れなくて実験できません。
やったことのある方、すみませんが教えてください。
基本的には可能。
但し、cookie経由でSessionIDを取得することは普通出来ない。
相対リンクでないので、URLに自動付加もしてくれない。
で、PHPSESSID=....を自力で出力する必要があると思う。
0499497
02/10/22 16:46ID:TXJWZ2fSPHPマニュアルに「session.cookie_domain」ってのがあったんですけど
これを指定すればcookie経由で使えないですかね?
教えてクンでごめんなさい。
なるほど、
session.cookie_domain=hogehoge.com
ってことだな。
運営上セキュリティに問題がない場合はそれでいいんじゃない。
0501nobodyさん
02/10/22 18:25ID:AaVCn9+u\rコードを削除すればいい。
0502458
02/10/22 19:13ID:TmLjz4JJデリミタをタブやカンマじゃなくて<>にするのは、
流行ってるの? 壺の影響か?
0503nobodyさん
02/10/22 19:45ID:???俺もやっているが、俺はKENT氏の真似。つか、ログ互換にしたかったので使った。
<>は、htmlでは <> に変換されるから、内部表現に使えて便利。
カンマにしてcsvにしても良いが、カンマを含む文字列を使う時は""でくくる必要が
あるけど、fgetcsvを使うほうが効率的かな?
0504458
02/10/22 19:48ID:X7v1eaNofwritecsv(int fp, array data, str delimiter)
というのがあれば便利なんだけどね。
0505nobodyさん
02/10/22 20:43ID:???流行ってるとかじゃなくて単に普通の文書中では
まず使われる事がなく、且つフィールドの境界が
目で見て分かりやすいからじゃないのかな。
0507503
02/10/22 21:12ID:???ぉぃぉぃ、俺は &lt;&gt; って書いたはずだぞ。
2chは & を & に変換しないのか?
0509努力が&rlo;いなり足
02/10/22 21:38ID:???0510503
02/10/22 21:50ID:???> <>は、htmlでは <> に変換されるから
ぉぃぉぃ、俺は <> って書いたはずだぞ。
2chは & を & に変換しないのか?
0513nobodyさん
02/10/23 00:49ID:y/QVQMdnことにしている。
読み出すときに、<>&"'などを「&xx;」に変換して表示するようにしている。
のでデリミタを<>はしないです。
0514nobodyさん
02/10/23 02:04ID:???0516nobodyさん
02/10/23 03:06ID:???\t オーソドクスに
↓
, CSV
↓
| psqlマンセー
↓
<> Kentさん好き!!
↓
Unicode NULLモジ
↓
\t に戻る。
0517nobodyさん
02/10/23 07:08ID:???0519nobodyさん
02/10/23 11:25ID:???0520nobodyさん
02/10/23 13:02ID:knm2mfqY末尾に要素を追加するにはどうすればいいのでしょうか?
0522486すいません
02/10/23 17:28ID:???一応参考程度に自分がやったソースを・・・。
<?php
$test = explode("/",$HTTP_USER_AGENT);
if ($test[0] == 'DoCoMo')//←i-mode閲覧
{
●●●
}
else//←PC閲覧
{
○○○
}
?>
汚してすいません。
0523nobodyさん
02/10/23 18:43ID:???ファイルの先頭に#!/usr/local/bin/php4が必要だったりして、
Apacheの一部として動作するPHPと違ってたりするので、
PHP関連の書籍とか見ても、それに触れてるものを見かけません。
CGIでPHPを使うことに関して詳しいHPとか書籍とかあったら教えてください。
0524458
02/10/23 21:10ID:???foreach ($ua as $val) {
if (preg_match("/$". $val ."\//", $_ENV['HTTP_USER_AGENT'])) {
$pda = true;
break;
}
}
if ($pda === true) {
携帯端末用処理;
} else {
一般向け処理;
}
マニュアルにはPOSIX準拠のeregよりもpregの方が早いと書いてある。
0525nobodyさん
02/10/24 05:31ID:5F/44dYx0526nobodyさん
02/10/24 06:13ID:kpV1tydg同じ名前の最後の項目しか表示されません。何が悪いのでしょうか?
<input type="checkbox" name="1" value="あ">
<input type="checkbox" name="1" value="い">
<input type="checkbox" name="1" value="う">
<input type="checkbox" name="1" value="え">
foreach($_REQUEST as $key => $value) {
if($key == "1") { print $value; } //項目1を表示
}
0527526
02/10/24 06:15ID:kpV1tydg同じ名前の最後の項目しか表示されません
↓
同じ名前のチェックした最後の項目しか表示されません
の間違えです。
whileでループさせても同じ結果です。
0528nobodyさん
02/10/24 07:54ID:uytwvD+vPHPのincludeを使ってXSLを呼び出すことはできますか?
0529nobodyさん
02/10/24 08:18ID:???<input type="checkbox" name="1[]" value="あ">
<input type="checkbox" name="1[]" value="い">
<input type="checkbox" name="1[]" value="う">
<input type="checkbox" name="1[]" value="え">
それと、nameに数字はよろしくなさげ
$1とすると別の解釈される場合もあったような・・・
その動作で正しい。
名前を変えるか、配列に汁。
0532531
02/10/24 08:23ID:???0533nobodyさん
02/10/24 12:58ID:7cFeMhsmStringBufferで解決したという経験がありました。
PHPでは . で連結するよりよい(軽い)方法は
用意されていないのでしょうか?
. 連結でもさすがにJavaほど重くならないようですが。
0534nobodyさん
02/10/24 14:09ID:rG1bP6CfIEやNNの右上についているツールや履歴の表示非表示を切り替えるボタンって
無効化できますか?
javascript の Openwindow()でツールバーやURLの表示無しオプションで
コンテンツ表示しているのに、そのボタンでURLなどが表示されてしまいます。
FLASHのゲームコンテンツなど、このボタンのおかげで困るケースがあります。
0536nobodyさん
02/10/24 15:35ID:F6+LZK6Zレスキューってどうなったんですか?
0538nobodyさん
02/10/24 16:16ID:IkTbxMct見たらArrayって入れられてたんだけど(fputs(),fwrite())
0540526
02/10/24 17:44ID:kpV1tydgあーそうなんですか。なるほど。
perlのときはそれでいけたような気がするけど。うーん。
0541nobodyさん
02/10/24 17:49ID:???mb_send_mail で添付ファイルを送信するやり方がよくわかりません。
どのように指定すればよいのでしょうか?
0542nobodyさん
02/10/24 17:59ID:???0543nobodyさん
02/10/24 20:52ID:Ya2zNF/W変数を破棄すると、どんな利点があるの?
例えば、メモリが解放されるとか? <- この考えであってる?
普通の変数を破棄するときはあまりないけど、配列を弄っているとき
例えば不必要な要素を破棄して並べ替えみたいなときに、たまに使う。
0547nobodyさん
02/10/25 00:23ID:???負荷軽減のスレでちょっと話題になりかけていたんですが。
0548538
02/10/25 00:46ID:AgSiPFdD>>539
ありがとうございます。
これで保存はちゃんと出きるようになりました。
けど読み込みが上手くできません。。。
色々実験してみたんですが、
$file = file($filepath);
というように読み込んだ場合、配列として代入されるため
$file = unserialize($file);
としてもうまく動かないようなのですが。。。
とりあえず配列$fileを更にシリアル化して変数に直し、
それをunserialize()で配列に戻して、更にその要素をunserialize()で戻して
ファイルの各要素を取り出すという効率無視の処理をしているんですが、
何かもっと効率のいい方法はないでしょうか。
$file = file("$filepath");
$file = serialize($file);
$file = unserialize($file);
$file = unserialize($file[0]);
0549538
02/10/25 00:47ID:AgSiPFdD訂正(するまでもないですけど
× $file = file("$filepath");
○ $file = file($filepath);
0550荒川太郎
02/10/25 12:33ID:ykDTClkjオラクルクライアントが入ってないと、アクセスできないでしょうか?
自分の環境で試したところ、PHPをコンパイル後なら、$ORACLE_HOMEの中にある、
Network と sqlplus の二つのディレクトリが残っていれば動きましたが、他の環境に
そのファイルを単純にコピーしても動くか疑問なのと、ライセンス違反のような気がす
るので、できればOracleクライアントなしで接続できればと考えています。
0551538
02/10/25 12:34ID:AgSiPFdD我ながら意味不明なことしてました。
スマソ
0552nobodyさん
02/10/25 14:40ID:iOPLrEschttp://php.s3.to/data/#dl
PHPを使ってasf(or asx) ファイルを再生させずに
ダウンロードさせたいのですが
asfの場合プラグインが動いてしまい再生が始まってしまいます。
asxの場合プラグインが反応し再生されません。
どうしたら良いのでしょうか?
0554nobodyさん
02/10/25 15:35ID:???とか書いてみる。
055761
02/10/25 19:35ID:???ご報告が遅れました。ナマケモノレススマソ…。
0558nobodyさん
02/10/25 19:42ID:???header("Content-type: video/x-ms-asf");
header("Content-Disposition: attachment; filename=hogehoge.asf");
/* asf の内容 */
0559nobodyさん
02/10/25 20:06ID:???0560nobodyさん
02/10/25 20:31ID:???4.2.0以降導入で、php.ini-dist, php.ini-recomendedをベースに
php.iniを作成した奴でregister_globalsを知らない奴はOFF
4.1.0以降4.2.0未満導入でphp.ini-distベースならOn、
php.ini-recomendedベースならOff
それ以前は、On
最近の厨は、Offだけど、Onが標準だったときのスクリプトを
拾ってきて質問しまくり
過去の資産のしがらみでOnは結構いる
厨と、まじめにセキュリティ対策を兼ねてコーディングを修正
したところはOff
厨が増加しているからOff比率も上がってるはず、たぶん
0561nobodyさん
02/10/25 20:38ID:???漏れは、Onの時のスクリプトの先頭に
import_request_variables を書き加えているだけで
よしとしていますが、やばいですか?
新規スクリプトでも$_POST['']とか書くの面倒なので
import_request_variables 使ってます。
php3もつかってるでし。
0562nobodyさん
02/10/25 20:51ID:???別にかまわんが、
<?php
// $debug = 1
if ($debug = 1) {
// coding for debug
// みちゃだめよデータ表示部分
}
// 後のコード
?>
みたいに未代入の変数を0と仮定した様なコーディングしてると
import_request_variablesはregister_globals=Onと一緒で意味無し
ttp://localhost/test.php?debug=1
でアクセスされると見えちゃう。
だから、未代入変数の評価が無いようにコーディングできるなら
register_globals=Onでもいいが、ケアレスミスの防止のためにも
_POST/_GET/_COOKIE['hoge']を使っておくのが安心なわけ
まじれすしてしまった
0563561
02/10/25 22:19ID:???なるほど、
これからは$_POSTなどを使うようにします。
今までは、たとえばDBをいじるときなど(つまりSELECT以外)のときは
POSTしか受け付けない、といったポリシーで構築していたのですが、
その場合のみimport_request_variablesを使わないようにしていました。
import_request_variables の代わりに
function hoge ($label) {
if (@$_POST[$label]) {
$$label= $_POST[$label];
}
}
という風に問題のないものだけインポートするというのはだめですか?
0564561
02/10/25 22:32ID:???たとえばその値がPOSTされたモノでもGETされたモノでもいいけど、Cookie
では困る。という場合は
import_request_variablesでは困るわけですね。
でも、
if (($_POST['hoge'] == "bar") || ($_GET['hoge'] == "bar")) {
hogehoge;
}
とするのはあまりにも面倒です。
この場合、セキュリティーを考慮しつつ、ミニマルエフォートでかいけつするにはどうしたらいいですか・
よろしくお願いします。
variables_order と $_REQUEST でどうよ。
0566nobodyさん
02/10/25 23:32ID:8xkByx7Qdefault値をあげたいのですが、
if(!isset($_GET['id'])
if(empty($_GET['id'])
if ($_GET['id'] == "")
のどちらが望ましいですか?
0567nobodyさん
02/10/25 23:34ID:0gq4LIHAケースバイケース
ってか、必須項目ならそれ以前に大切な事があるだろう。
0569nobodyさん
02/10/26 00:35ID:???誰か知ってたらこっそり教えてください。
言語は日英独のいずれかで。
0570nobodyさん
02/10/26 00:36ID:???必須か必須でないの2択だけなのなら
$var = (empty($_GET['id'])) ? 'デフォルト値' : $_GET['id']);
って記述は良く使うかも。
0572nobodyさん
02/10/26 19:11ID:cHKiK7hP迷惑メール攻撃スレ【未承諾広告※】
http://cocoa.2ch.net/test/read.cgi/phs/1033486267/l50
0573nobodyさん
02/10/26 19:25ID:yRABunW1$b="";
で、$aと$bを判別する方法はありますか?
0575さるる
02/10/26 20:20ID:???お許しください。
無料のPHPな鯖を、作ってみますた。
また、質問をこっそりとすると思うので
よろしくお願いします。
http://fh.aaacafe.ne.jp/
0576573
02/10/26 20:37ID:yRABunW1$a=0;
$b="";
if($a==NULL) echo '$a==NULL<br>';
if($b==NULL) echo '$b==NULL';
を実行すると、
$a==NULL
$b==NULL
と表示されるんだけど、なんか間違ってる?
0577573
02/10/26 20:45ID:yRABunW1$b="";
if(is_null($a)) echo 'is_null($a)<br>';
if(is_null($b)) echo 'is_null($b)<br>';
では、何も返さなかったです。
0578573
02/10/26 20:49ID:???0579573
02/10/26 20:50ID:???0580nobodyさん
02/10/26 21:08ID:???ってどんなVerなの?
今最新が4.3.0なのに それの上があるの?
0582nobodyさん
02/10/26 22:50ID:???0583nobodyさん
02/10/26 23:20ID:VJjRzkAf以下のような文字列で
ほうぅ。http://shoichi.mien.nuなんだねhttp://shoichi.mine.nuだろぉ〜?
これのhttp://〜〜の部分を<A HRE=http://〜〜に置換したいと思います。
1つの場合はできるのですが、1つ以上の場合は思いつきません。
どなたかお知恵をお貸しください。
ereg_replaceかpreg_replace1を使えば一発やん。
0587583
02/10/27 00:29ID:QX87Ao09しょぼいですが、こんな感じです
if(ereg("http://",$done)){
$ldone = $done;
// URL
$urladd = mb_ereg_replace("[^0-9a-zA-Z\/:.]","",$ldone);
// LINK
$mdone = "<A HREF=\"".$urladd."\" target=\"_blank\">".$urladd."</A>\n";
$new .= mb_ereg_replace($urladd,$mdone,$done);
}
0588583
02/10/27 00:38ID:QX87Ao091行に1つ以上ある場合の処理が…わかりません。
パターンマッチした回数を取れれば、それをfor文で書けばいいのか。
でも、$number = ereg("http://",$text);
$textに2つurlが入っていてもなぜか$numberには1しかはいらない。
for文とそんなんじゃない。
一行のereg_replaceで全て差し替え出来ます。
がんばれよ。
0590583
02/10/27 00:44ID:QX87Ao09了解です。
できるがわかったのでがんばってみます。
ありがとうございました。
0591nobodyさん
02/10/27 00:58ID:???0592582
02/10/27 01:12ID:???なんのこっちゃ。
0594nobodyさん
02/10/27 02:09ID:???マニュアルよめ
そのままズバリな関数あるだろ
0596583
02/10/27 08:58ID:QX87Ao09どうしても、1つの行に違うURLがあると、一度のmb_ereg_replaceで
変更できませんでした。
何かヒントをもらえないでしょうか?
あなたが、>>587で書いたパターンを使うと、
$html = ereg_replace(
'(http://'.
'[0-9a-zA-Z\/:.]*)',
'<a href="\\0" target="_blank">\\0</a>',$text);
かな。
\\0ってのがみそ。マニュアルをもっと読もうな。
後はマッチパターンをぐぐるかRFCを読んで精度をあげてな。
がんばれよ。
0598nobodyさん
02/10/27 11:38ID:Xr/mnh9j0599583
02/10/27 22:53ID:QX87Ao09ありがとうございます。
マニュアルに載っているものを質問してしまい
申し訳ありませんでした。
0600nobodyさん
02/10/28 00:37ID:omMjIkHW作成しようと思っています。
そこでjcode.pl(文字コード変換)を使用していたのですが、
以下のサイトを見たところ
>ttp://dokokano.com/php/php_charset.html
>出力をShift_JISにする場合は、入出力部分の文字コード変換のためのコードを書く必要があります。
ということは、EUCにすればurldecode関数によって
QUERY_STRINGの内容を日本語に変換することが
できるということでしょうか?
0601nobodyさん
02/10/28 01:13ID:K9SZmaup素直に新しめのバージョン(マルチバイト対応)使ったら?
あんさん情報ソースが古すぎ。
php4.0.6以降に対応した書籍を買うか、
ttp://jp.php.net/manual/ja/ref.mbstring.php
を読んで出直し。
0603nobodyさん
02/10/28 01:15ID:???リクエストを変数に入れてから変換するのが扱いがラク。
/* EUC-JPからSJISに変換 */
$str = mb_convert_encoding($str, "SJIS", "EUC-JP");
/* SJISからにEUC-JP変換 */
$str = mb_convert_encoding($str, "EUC-JP", "SJIS");
0604nobodyさん
02/10/28 04:19ID:RrSU6wqcフォームから送る値に「+」を含むと、
それが空白になってしまうことが分かりました。
以下のテスト用ファイルtest.phpでテストしても、
やはり空白になります。
<?php
echo $_GET["var"];
?>
<form method=get action="test.php">
<input type=hidden name="var" value="test+test">
<input type=submit value="go">
</form>
これはどうすればいいのでしょうか?
0605nobodyさん
02/10/28 04:34ID:eMSdzrbE本文は改行から始まりません?
mb_send_mail()だと先頭に改行は付かないんですが、
mail()でも改行から始まらないようにするのはムリですか?
0606nobodyさん
02/10/28 05:08ID:???0607nobodyさん
02/10/28 11:41ID:???しっかりtest+testと表示されますた。
>>605
mail()使ってますが、そんな現象は起こっていません。
PHP Version 4.1.2
0608nobodyさん
02/10/28 12:37ID:???(flock, mkdir, symlinkなど)
どのロック方法が一番良いのでしょうか。
実際にスクリプトを作っている方はどの方法を
使っていますか?
0609nobodyさん
02/10/28 12:42ID:KUu9Ng1Nあー俺昔それで同じ質問した記憶があるわ。
結局何が原因だったのかはちょっと思い出せないけど、結果のレポートも
してあるはずだから、このスレの過去ログをmail()で検索すればどっかにあると思う。
0610604
02/10/28 14:50ID:RrSU6wqcまじっすか? ソース見ても空白になってます。何でだろう??
>>606
ヒント?
確かにgetで渡されてるURLのパラメータみたら%2Bと表示されてるけど、
$_GETに入っている値が既に空白なのでどこで直せばいいの?って感じです。
設定が間違っているのだろうか…鬱
0612604
02/10/28 18:26ID:RrSU6wqc試してみたら正常に動作したので、あれ? と思って調べると、
連鯖→4.2.3
テストマシン→4.2.2
だったので、4.2.2に直すと、正常に動作しました。
本当に4.2.3固有の問題なのかは分かりませんが、
動いたので良しとしまする。
0613nobodyさん
02/10/28 19:58ID:OVLPNyBEバックグラウンドでプログラムを走らせる実験として
test.phpというプログラムとtest_back.phpという
プログラムを作りました。
=======test.php==========
<?php
system ("/home/sites/home/test_back.php > /dev/null &");
echo "OK";
?>
=======test_back.php========
<?php
sleep (30);
?>
=====================
という風に、test.phpから、test_back.phpを
呼び出して、30秒間sleepするものです。
しかし、ps で確認しても、うまく呼び出されていないようです。
そのため、test.phpのほうの > /dev/nullを抜いて試してみた
のですが、すぐにOKが表示されるので、やはり呼び出されていないようです。
色々と調べて、自分では、間違っていないつもりなのですが、
問題点が、分かりましたら是非、教えてください。お願いします。
0614nobodyさん
02/10/28 20:39ID:h954DWc8それともネタ
0615605
02/10/28 21:06ID:???過去ログ見ました!
解決しました。
メールのヘッダの最後に改行があると、本文の頭に付いちゃうのね…
俺の場合、追加ヘッダの最後の改行を取ったら解決しました。
ありがとうございました。
0616613
02/10/28 21:18ID:OVLPNyBEネタじゃないです。本当にやりたいことは別にあるのですが、
それ以前に、プログラムがうまく動かないので、問題の洗い出しのため
簡単にして試してるだけです。
このシンプルなコードでさえ、動かないので・・・(・ω・)
0617nobodyさん
02/10/28 21:49ID:???tmpfile();でできたファイルの名前を取得する術はないのでしょうかー。
0618nobodyさん
02/10/28 21:56ID:h954DWc8HTML入門
PHP入門
PHP文法書
■ グロバールリンク
ある別なサイトへリンクする際に使用します。リンク先のURLは(http://で始まる)で入力します。
<A HREF="★">〜</A> ★=URL
又、<A HREF="★">内にTARGET="_blank"を設定するとリンク先のページが、新しいWIndowを開いて表示されます。〜には、リンクを示す文章を入力します。
0619nobodyさん
02/10/28 22:03ID:???最近の若いもんはマニュアルが読めないのか?
漢字が分からんのか?
ひらがながわからんのか?
まあ、術と言っちゃなんだが、
マニュアルの 「XXXファイルシステム関数」 を見れば答えが見つかるかも知れないな。
0620nobodyさん
02/10/28 22:31ID:???0621nobodyさん
02/10/28 22:51ID:h954DWc8system 関数や、exec 関数の関数リファレンスを見ると、
次のような記述があります。
「この関数を使用してプログラム実行を開始し、
バックグラウンドで実行したままにしたい場合には、
プログラムの出力をファイルまたは他の出力ストリームに
リダイレクトする必要があることにも注意して下さい。
さもないと、PHPはそのプログラムの実行が終了するまでハングします。 」
この文章の意味は、下記のプログラムのように記述しなさいという意味です。
system("/home/your/bgprog $arg1 $arg2 > /dev/null &");
test_back.php のパーミッションは?
0624nobodyさん
02/10/28 23:36ID:h954DWc8system関数は外部プログラムを呼ぶための・・・
何で、Webホルダーのphp自身を呼ぶの
0625613
02/10/28 23:56ID:OVLPNyBE644で駄目だったので、755にしました。
>>624
本当は、ブラウザからだとタイムアウトになるかな?程度の数の
メールマガジンを発行するようなシステムにしたいのです。
それがうまくいかず、プログラムを削っていったら、こんな形に・・・。
これって、ブラウザからでもコマンドラインからでも駄目なのですが
なぜでしょうか?
cgi版かcli版のphpはインスト済み?
それと1行目に
#!/usr/bin/php
とかが必要。
もしくは、
system("/usr/bin/php /usr/sites/home/test_back.php .....
で実行するかだな。
0627nobodyさん
02/10/29 00:09ID:TKErwWFl<?php
system ("C:\WINDOWS\NOTEPAD");
echo "OK";
?>
0628613
02/10/29 00:52ID:TzxoQcf+どうも有難うございます。コマンドラインからの実行の際は
#!/usr/bin/php の部分が抜けていました。
その点を修正して、試しに、パーミッション777にしてroot権限で
実行してみましたがそれでも、Permission denied になってしまいます。。
これは、プログラムではなく、何かシステム的に原因があるのでしょうか?
なぜ、Permission denied かわからんが、試しに
which php
と打つとどぉよ。
0631613
02/10/29 11:13ID:TzxoQcf+which php で帰ってきたパスは
/usr/local/bin/php です。
1行目のこのパスを書いてますが。それでも駄目みたいです。
0634613
02/10/29 12:23ID:TzxoQcf+試してみましたが、駄目みたいです。
>>633
コマンドラインからだと動いてません。
ブラウザからだと、ちゃんと動作します。
試しに、シェルスクリプトで試してみたところ動作しました。
=test2.php=========
<?php
system("/bin/sh ./sleep.sh &");
echo "OK send.php<br>";
?>
=sleep.sh=========
sleep 5
==============
phpをコマンドライン上から実行できないのが原因でしょうか?
0636nobodyさん
02/10/29 12:58ID:wf/l5by6この設定によってaddslashes()をするかどうかを分岐したいので。
magic_quotes_gpcがオンの場合でaddslashed()しちゃうと2回エスケープしちゃいますよね。
0637nobodyさん
02/10/29 13:26ID:???var_dump(ini_get("magic_qoutes_gpc"));
string(0) is global value
string(1) is local value
どのバージョンから使えるかはしらんです。
0639636
02/10/29 13:48ID:wf/l5by6サンクス子
できました。ありがとう。
0640nobodyさん
02/10/29 13:49ID:???やりたいことと違うかもしれないけど
http://pc.2ch.net/php/kako/1003/10032/1003283567.html
このスレで教えてもらってうまくできたよ。
0641nobodyさん
02/10/29 16:28ID:tR/mb4fjApacheの設定ファイルにも AddType application/x-httpd-php .phpって追加したけれど
表示されません。どうしたら表記できるでしょうか?
誰か教えてください。
0642PHPの日本語
02/10/29 16:37ID:vXsUrIJbなぜかPHPのスクリプトが記述してあるファイルはEUC/LFでないと文字
化けしてしまいます。しかし、ブラウザのエンコードを見るとシフトJIS
なんです。
同階層にあるHTMLファイルはSJIS/CR+LFで全然問題ありません。
別の僕が構築したテスト用サーバではPHPのファイルがSJISでも全然問題
ないのですが?
どういう状況なんでしょう?
php -v
が実行できる?
0644613
02/10/29 17:17ID:TzxoQcf+php -v
bash: php: is a directory
とでました。レンタル鯖なのですが、php のインストールの仕方に
問題があるんでしょうか?
はへ?
/usr/local/bin/php -v
では?
/usr/local/bin/php のパーミッションも。
レンタル鯖の設定で実行させないようにしているのかもね。
0646613
02/10/30 02:35ID:NfkYl6Lzこれもやっぱり
bash: /usr/local/bin/php: is a directory でした。
ディレクトリの中身はこんな感じでした。何が問題でしょう?
drwxr-xr-x 2 root root 1024 Jun 7 13:57 .
drwxr-xr-x 3 root root 1024 Jun 7 13:57 ..
-rwxr-xr-x 1 root root 10018 Mar 5 2002 pear
-rwxr-xr-x 1 root root 4325 Mar 5 2002 pearize
-rwxr-xr-x 1 root root 500 Mar 5 2002 php-config
-rwxr-xr-x 1 root root 593 Mar 5 2002 phpextdist
-rwxr-xr-x 1 root root 700 Mar 5 2002 phpize
-rwxr-xr-x 1 root root 5088 Mar 5 2002 phptar
0647nobodyさん
02/10/30 03:01ID:???Apacheモジュール版のPHPじゃないの?
0648613
02/10/30 03:28ID:NfkYl6Lz>Apacheモジュール版のPHPじゃないの?
/usr/local/bin/php のディレクトリの中の中身が
>>646 です。>>647 さんのいうように、Apacheモジュール版のPHP
じゃないってことが原因?
のようですな。(ぉィぉィ)
つうことで、wgetを使いませう。
system ("wget URL/test_back.php > /dev/null &");
0650nobodyさん
02/10/30 13:43ID:dL3lvkbY<php? hogehoge ?>だったら動くのですが<? hogehoge ?>が動きません。
現在の環境は、VineLinux2.6+Apache/1.3.26+PHP/4.2.3です。
原因を教えていただけると幸いです。
どなたか宜しくお願い致します。
0653nobodyさん
02/10/30 14:03ID:LfLiEMdashort_open_tag = Onで解決しました。
お騒がせしました。
0654nobodyさん
02/10/30 15:30ID:???どうすればよいでしょうか?
私の見た限り、ズバリな関数はマニュアルには載っていませんでした。
0657YAHOOO情報
02/10/30 15:53ID:9DFYsx8y0658nobodyさん
02/10/30 18:56ID:4q8hzZpWarray_spliceとかarray_sliceとか
0659nobodyさん
02/10/31 01:40ID:yMK1gcv2最低、生ログ(訪問回数含)が見れればいいんだけどね。
0660nobodyさん
02/10/31 04:15ID:YDMbLtmR$_SERVERをマニュアルで探してみる
0661ノンノン
02/10/31 11:16ID:Gi8DIir1で、ログイン時にIDなどをセッションレジスタに取り込んでいるのですが、
個人情報の更新する時にSSLを使用するとセッションの内容がなくなって
しまってるんです。「セッション切れ」とでも言うのかな?
SSLへセッションを引き継ぐにはどうすれば良いのでしょうか?
おわかりになられる方がいらっしゃいましたらお教え願います。
ヨロシクお願いします。
ちょっと前に、バーチャルホスト間のセッション共有があったが、基本的に
同じことだと思うよ。cookie経由で引き継がれるかどうかわからんので、
SSLなページを指定するURLにPHPSESSIDを追加したらどうでしょう。
ただ、SIDってcookieが有効だ(とわかる)と空になるので、
<form action="https://www.hogehoge.com/sslpage.php?PHPSESSID=<?=session_id()?>" method=....
とかかな。もっと簡易な方法がありそうだが...
ただし、未検証です。
0663ひよこさん
02/10/31 21:39ID:XxGc2Q670664nobodyさん
02/10/31 21:43ID:???0665nobodyさん
02/10/31 22:51ID:???ここで調べれ
http://www.php.co.jp/
http://www.php.com/
0666nobodyさん
02/11/01 07:12ID:???扱い上は別のホストに移ってるのと等価だから、セッション変数を受渡しできる方がまずい。
ホストを跨ぐようなデータのやりとりをしようとする事がそもそもの間違いだと思うんだが…
PHPのセッション処理はホストを跨いでやり取りできないようになっている。
勿論、セッションIDも他のホストに晒すものではないが、
信頼できる同一ホスト上で、別ホストとみなされてセッションが引き継がれ
ないのを何とかしたい。
ってのは、間違いではないと思うが、どぉよ。
0668nobodyさん
02/11/01 14:29ID:rT5mgBbe思っているのですが、どのような形で作ればよいか教えてください。
0669nobodyさん
02/11/01 15:22ID:sjfqb6HL$now = getdate();
$today = mktime(0,0,0,$now['mon'],$now['mday'],$now['year']);
$start = $today - 86400 * $now['wday'];
$end = $start + 86400 * 7 - 1;
echo date("Y/m/d",$start) ." - ". date("Y/m/d",$end);
0670nobodyさん
02/11/01 15:53ID:t42zlzPT例えばこんなURL↓
http://messages.yahoo.co.jp/bbs?action=topics&board=2000247&sid=2000247&type=r
なんでだろ・・? やっぱ規制かけてるのかな・・?
どなたか、外部から上記ページの取得ができた人いませんか?
0673nobodyさん
02/11/01 17:14ID:???インデントがタブなので書きこむと無くなるため見にくいと思いますが、、
後学のためにもならないと思います(;´Д`)
//today
$today = getdate();
//月の最大日
$maxday_array = array(0,31,28,31,30,31,30,31,31,30,31,30,31);
//うるう年チェック
if( !( $today['year'] % 4 || $today['year'] % 100 ) )
{
$maxday_array[2] = 29;
}
0674続き
02/11/01 17:15ID:???$d_sabun = $today['mday'] - $today['wday'];
if( $d_sabun < 1 )
{
$m_sabun = $today['mon'] - 1;
if( $m_sabun < 1 )
{
$st_m = 12;
}else{
$st_m = $m_sabun;
}
$st_d = $maxday_array[$st_m] + $d_sabun;
}else{
$st_m = $today['mon'];
$st_d = $d_sabun;
}
0675さらに続き
02/11/01 17:15ID:???$d_sabun = $today['mday'] + ( 6 - $today['wday'] );
if( $d_sabun > $maxday_array[$today['mon']] )
{
$m_sabun = $today['mon'] + 1;
if( $m_sabun > 12 )
{
$ed_m = 1;
}else{
$ed_m = $m_sabun;
}
$ed_d = $d_sabun - $maxday_array[$ed_m];
}else{
$ed_m = $today['mon'];
$ed_d = $d_sabun;
}
$ed_str = sprintf( "%02d/%02d〜%02d/%02d", $st_m, $st_d, $ed_m, $ed_d );
0676あぼーん
NGNG0677nobodyさん
02/11/01 20:16ID:???>309
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´Д` ) < 通報しますた!
/, / \_______
(ぃ9 |
/ /、
/ ∧_二つ
/ /
/ \ ((( ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ /~\ \ ( ´Д` ) < 通報しますた!
/ / > ) (ぃ9 ) \_______
/ ノ / / / ∧つ
/ / . / ./ / \ (゚д゚) ツーホーシマスタ!
/ ./ ( ヽ、 / /⌒> ) ゚( )−
( _) \__つ (_) \_つ / > (・∀・)ツーホー!
0678497
02/11/02 00:05ID:F92LVFOLその場合、
./configure の --with-pgsql はどうやって指定すればいいんでしょうか?
本やマニュアルは同一サーバに入れることを前提に書かれているので
調べたんですがわかりませんでした。
やろうとしているのはWeb(Apache+PHP)をグローバルで、
DBを裏側(プライベート)に置こうとしてるだけなので、
特別変わったことをしているわけではないと思うのですが。。
0679nobodyさん
02/11/02 00:06ID:F92LVFOL0680nobodyさん
02/11/02 00:35ID:xj1s/Rjkスクリプトが急にエラーになったんだけど、さっぱり
原因がわからない。
問い合わせてみたが返事はまだ。。。
なんなんだろ?
0682nobodyさん
02/11/02 11:03ID:???PHPをコンパイルする時だけ、PostgreSQLをインストールしておくと良い。
PostgreSQLのlibとincludeが必要だから。
>>680
register_globalsとかshot_open_tagあたりが原因っぽい気がする。
0683nobodyさん
02/11/02 11:17ID:VDOgYkQjちょと遅レス気味ながら。
漏れもそれで悩んでる。つか、環境によって違うのね。ローカルのテストサーバ(PHP4.2.2)では
ちゃんと+が残ってるのに、ホスティングサーバ(PHP4.2.3)上では+が消えて空白になる。
rawurlencodeを使っているので、渡している文字列は"hoge%20%2B%20hage"みたいに
なっていることを確認済み。受け取った直後に$_GETを見ると"hoge hage"になってるという
具合。
PHPの設定なのか?とも思うけど、それらしいものが見当たらないように思う。ちなみに、
magic_quote_gpcはどちらの環境でもOn。
PHPのバージョン違いによるものか、それともApacheの設定ということもありうるかもと
思ってるんだけど・・・誰かわかる人いない?
0685678
02/11/02 11:42ID:F92LVFOLありがとうございます。やってみました。
RPMで、potgresql-develを入れたら/usr/include/以下に
「libpq-fe.h」が入りますね。
あとは --with-pgsql オプションでエラーが消えました。
0686nobodyさん
02/11/02 17:19ID:3DCZqrMjmb_send_mailで添付ファイルつけて送らせたいと質問したものですが。
マニュアルを読んで最後の引数になにかヘッダを渡せばいいのかと思い
ましたが何を渡せばいいのかわかりません。
なにかヒントでも結構ですので教えてくださいませ、困り果ててしまいました。
0689nobodyさん
02/11/02 20:52ID:???0690684
02/11/03 12:50ID:8T4O8uvOこれ頭の4バイトが欠けるって話だよね?phpMyAdminが動かないのもこれが原因で、
formタグにenctype="multipart/form-data"をつければとりあえず回避できるという。
これと、漏れの言ってる「%2Bが空白に化ける」という話とはまったく別だと思うのだが・・・
でもとりあえず4.2.3国際版を入れてみるよ。直らなかったら笑いに来るね。
0691nobodyさん
02/11/04 05:17ID:???確か使えない。
{ } で括ってもダメだったよな。
0694nobodyさん
02/11/06 17:35ID:???0695nobodyさん
02/11/07 20:05ID:ETizMt8f$fp = @fopen( "honya.txt", "r" );
while( $record[] = fgets( $fp ) );
fclose( $fp );
for( $i = 0; $i < count( $record ) - 1; $i++ )
$item[] = split( " ", $record[$i], 11 );
echo "honya".$item[0][0]."hoge";
//echo "honya$item[0][0]hoge";
このプログラムだと出力が($item[0][0]=="xxxxx"だとして)
honyaxxxxxhoge
と表示されますが、コメントアウトしている方だと
honyaArray[0]hoge
と表示されます。更にNoticeもでます。(Noticeは設定ででないようにしましたが、、、)
なぜでしょうか?
宜しくお願いします。
0696nobodyさん
02/11/07 21:03ID:???0698nobodyさん
02/11/07 21:34ID:???それともこうやる派? ${xxx}
俺は ${xxx} こうやる派
0699( _。。)_ バタ。 ◆eJlUd9keO2
02/11/07 22:24ID:???クライアント用の socket を 非ブロックモードに設定するには
現状、 fsockopen系の関数を用いて socket_set_blocking関数を使うしかないのでしょうか。
いや、それでも構わないんですけど
socket_createで作ったリソースから非ブロックに切り替える方法はあるのでしょうか?
fgets / fputs を使うのが気持ち悪くて…。
でも socket_set_timeout は fsockopen系ですし… 素直に fsockopen系を使った方がいいのでしょうか。
0700( _。。)_ バタ。 ◆eJlUd9keO2
02/11/08 06:24ID:???何もメッセージが1つも着てない状態だと feof で 止まる……寝よう。
0701695
02/11/08 09:36ID:???${$a[1]}と${$a}[1]の差と同じ事ですね。
Cからきたので、混乱しておりました。
0702(ふ)
02/11/08 14:39ID:???なんだかお困りのようなのですが、僕の環境(php 4.2.2)では
<?php
$fp = fsockopen("www.php.net", 80);
socket_set_blocking($fp, false);
if (feof($fp)) {
print "eof\n";
} else {
print "non-eof\n";
}
fclose($fp);
?>
で普通にnonblockingな動作をしてくれています。なお、お気持ちは分かりますが
socketモジュールをお使いになるのはまだお勧めできません(ころころ仕様が変わるので)。
ちなみに4.3.0からstream_set_blocking()が正解になります。
てわけで環境を教えていただけますか?そしたらもうちょっとお役にたてるかもです。
0703nobodyさん
02/11/08 20:23ID:Vk0CjsjZ遅レスだが外部から読めますよ
自分でスクリプト書いたわけでなく、exciteの翻訳通しただけだけど。
ttp://www.excite.co.jp/world/url/body/?wb_url=http%3A%2F%2Fmessages.yahoo.co.jp%2Fbbs%3Faction%3Dtopics%26board%3D2000247%26sid%3D2000247%26type%3Dr&submit=%83E%83F%83u%83y%81%5B%83W%96%7C%96%F3&wb_lp=JAEN&wb_dis=3&wb_co=excitejapan
ってな風に飛べましたので。
URLの文字列のエンコード/デコードあたりになにかあるんじゃないかと。
0704nobodyさん
02/11/08 20:38ID:Vk0CjsjZttp://x68000.startshop.co.jp/~68user/Cgi-room/source.cgi?mode=body&output=text&url=http%3A%2F%2Fmessages.yahoo.co.jp%2Fbbs%3Faction%3Dtopics%26board%3D2000247%26sid%3D2000247%26type%3Dr
0705nobodyさん
02/11/09 18:55ID:QiNeNmkLグラフを出力するファイルの内容を変更しても
画像が変更されません
例えば付属のサンプルでグラフの数値をいじってみても
はじめに表示した値から変わらないのです
別のファイル名にかえてアクセスすると更新された画像になるんですけど・・・
どなたが原因をご存じないでしょうか?
0706nobodyさん
02/11/09 20:04ID:E2/H+5gTecho "氏んでね?";
?>
0707nobodyさん
02/11/09 20:41ID:???IEのキャッシュとか関係なくて
jpgraph.phpのUSE_CACHEをfalseにすればいいんですね
すみませんでした
0708nobodyさん
02/11/09 22:50ID:???0709nobodyさん
02/11/10 05:02ID:bTPzGvyqsubmitした後に、特定の文字に「\」が付いてしまいます。
例えば
「ソース」という語を送信した時に
「ソー\ス」という具合になってしまいます。
どうしてでしょうか。同じ経験をされた方は意見を聞かせてくれないでしょうか。
特に「\」だけをstr_replaceで取り除くことはできなさそうなので困っています。
もしレンタルなのでサーバーに問題があるのならどうしようもないのですが...
0710709
02/11/10 05:06ID:bTPzGvyq「ソース」という語を送信した時に
「ソー\ス」という具合になってしまいます。
というのは、「ソース」という語を
テキストに書き込む時や、
テキストから読み込んで、printする時のことを指しています。
0711nobodyさん
02/11/10 05:18ID:???相変わらずこのネタもいつまでもあるな。
magic_quotes_gpc をOffにするか、
stripslashesをつかう。
0713nobodyさん
02/11/10 05:59ID:???if(get_magic_quotes_gpc ()){ $xxx = stripslashes($xxx); }
こんな感じにしておけば汎用的。
0714709
02/11/10 07:31ID:bTPzGvyq少し説明不足だったかもしれませんが、
$mes = htmlspecialchars($mes);
if(get_magic_quotes_gpc())
{
$mes = stripslashes($mes);
};
一応このように書いていたんですが、「\」が表示されてしまいました。
710さんの言うように一度EUCで書いてみることにします。
0715709
02/11/10 07:47ID:bTPzGvyqまず文字コードをEUCで書いたところ、問題なく値を渡すことが出来ました。
それで、もう一度コードを見直していたのですが、どうやら思い違いで...。
たしかにサーバー側ではget_magic_quotes_gpc()がオンになっていたようなので
これによってstripslashしていたのですが、書き込むという作業だけにしか適応していなかったです...
ファイルから読み出すときも必要なんですね...(泣)
とりあえず解決できました。どうもありがとうございます。
そもそもどうしてmagic_quotes_gpcがオンになってることがデフォルトなのかわからないのですが...
0716nobodyさん
02/11/10 08:17ID:5LLCZez+海外のphpの掲示板に書き込もうとしているんですけど、画像をアップロードする機能が
ついてるんでやってみると
「アップロードされたファイルは有効なGIFかJPGファイルではありません。
それがそうであることを確認して、再び試みてください」
といわれてアップできないんですよね。gifで保存してもjpgで保存しても。
ファイル名はもちろん半角英語だし、cドライブの直下においてアップしたりもしてるのに、、、
これってどういう問題がかんがえられますか?
ファイル保存の時の問題?(jpgはjpgでもアメリカの形式は違うとか)
よくわからないんでよろしくお願いします。
0717nobodyさん
02/11/10 13:37ID:???0718nobodyさん
02/11/10 15:53ID:???0719nobodyさん
02/11/10 18:41ID:bTPzGvyq0720716
02/11/10 20:48ID:???0721nobodyさん
02/11/10 20:57ID:tAywYbvjXHTMLで下記のように宣言したいのですが、
<?の部分をPHPとして解釈してしまうためか、エラーになってしまいます。
宣言を維持したままエラー回避する方法はありますでしょうか?
<?xml version="1.0" encoding="euc-jp" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?xml-stylesheet href="x.css" type="text/css"?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
0723nobodyさん
02/11/10 21:18ID:toIJMePB寝たでしょうか?
php.iniの設定を見直してみてください。
それか.htaccess内にて(以下略)
0724の
02/11/10 22:00ID:mHx5v26Nでいいのでは。
変に設定で逃げると後ではまったりするし。
---
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
<?php ... にしないとなぁ、と思う今日のこの頃。
でも、<?=...も使えなくなるのは辛い。
0726721
02/11/11 01:22ID:???うっ、何か基本的なことを見落としていたのでしょうか…。
php.iniはいじれません、レン鯖なんで。
.htaccessで設定を変えられるんですか。勉強してみます。
>>721>>724
文字列出力してみます。
みなさんありがとうございました。
0727717
02/11/11 05:55ID:???0728723
02/11/11 20:37ID:Zxaf1apZ0729aiai
02/11/12 13:11ID:4eKOLLvz人生の答えが見つかったも同然である
http://www.tyousa.com
0730nobodyさん
02/11/12 22:19ID:???$fp=fopen("php://stdin", "r");
while(!feof($fp)){$buffer.=fread($fp, 4096);}
fclose($fp);
とかで直接吸い出そうとしたがphp://stdinが空っぽに見えるのだが。
もしかして$_POSTからじゃないと受け取れないの?鬱だ。
フォーム以外からもpostはあるだろうにのお。
0732nobodyさん
02/11/13 08:48ID:???STDINはすでにPHPが読み込んでるので空っぽです
$HTTP_RAW_POST_DATA
は使えませんか。
使えないときは、php.iniがいじれたら
always_populate_raw_post_data = Onに
0733問質
02/11/13 21:09ID:ldABWSGYif(!$foo) の「!」とかですでに躓いているのですが、
逝ってきたほうがよろしいですか?
0736質問です
02/11/13 23:12ID:???パーミッションが777のディレクトリの移動したいのですが
移動されたファイルのパーミッションが600になってしまいます
PHPでどうやって変更したらよいでしょうか?
systemコマンド以外で方法ありませんか?
0737nobodyさん
02/11/14 00:17ID:l0/zicwoforeach(@array){
($a,$b,$c)=split(/<>/);
}
といった
コードは
phpでは
foreach(@array as $value){
list($a,$b,$c)=preg_split("/<>/",$value);
}
でいいのでしょうか?
なんか違うような気がするんですが・・。
0739nobodyさん
02/11/14 08:26ID:wyuVakNT正規表現使わないんだったらexplodeの方が早い
0740nobodyさん
02/11/14 09:18ID:vniA+Llkfopen("file","a")
ってデータ飛ばないって本当なんですかね?
0741nobodyさん
02/11/14 09:44ID:/H/milPrASPのapplicationみたいなやつ。なんかサポートされていない
みたいなんだけどいい知恵ない?
やっぱファイルに書き込むしかない(w
0742nobodyさん
02/11/14 16:57ID:???レンタサーバのsafe mode on な関係で、CGI版PHPをUPしようとしていますが、
CGI版は、内蔵型PHPに比べ遅いとかありますか?
何か他に注意する問題とかありますか?
0743nobodyさん
02/11/14 17:33ID:l0/zicwoかなり遅いと思われ、
それするならperlと変わらん。
abでモジュール版PHPと普通のperlを比べたが
5倍ぐらい違う。
また、PHP アクセラレーターいれると
通常時とくらべて3倍速度が違う。
またCGI版PHPはCGI版perlより遅い、という話もあり
0744nobodyさん
02/11/14 17:37ID:l0/zicwoモジュール入れるべきじゃないかなー
アクセスが多いとCGI版では
プロセスがあがりすぎで
やってられないっていうのもある
0745nobodyさん
02/11/14 17:42ID:l0/zicwoperlで
@array = @array[sort {$array1[$b] <=> $array2[$a] or $array1[$b] <=> $array2[$a]}
0 .. $#array1];
っていうのは
PHPでどうかいたらいいんですか??
0746nobodyさん
02/11/14 18:02ID:???お返事thanx
バーチャル鯖だから、モジュール版をインストは無理と思われ。
というか、モジュール版が入っているのですが、safe mode onなのです。
しゃーないので、CGI版を入れるのです。
遅くてもしょうがないです (T.T)
0747nobodyさん
02/11/14 18:17ID:???0748nobodyさん
02/11/14 19:09ID:???動かしたいスクリプトがsafe mode onでは、動かないのです。
外部プログラム(多分C)を動かすため?
サブディレクトリも作ります。
0749nobodyさん
02/11/14 20:29ID:???ありがと。
調べた所.htaccessにphp_flag always_populate_raw_post_data Onとか書くと
使えるようになる最寄。やっぱ低レベルの処理も出来たほうが便利ね。
0750nobodyさん
02/11/14 21:08ID:???ローカルのマシーンRedhat Linux 7.2 で make した php を レンタルサーバ
(多分turbo)へFTPして動かそうと思ったら、
./php.cgi: /lib/libresolv.so.2: version `GLIBC_2.2' not found (required by ./php.cgi) ./php.cgi: /lib/libc.so.6: version `GLIBC_2.2' not found (required by ./php.cgi)
と怒られた。ローカルが glib 2.2 でサーバがglib 2.1.3 みたいです。
この場合、自分のところのglib を 2.1.3 に下げて make しなおしするしかないんですかねぇ?
それとも configure のオプションで対応できますか?( configure 見てみたけどなさそうな感じではあった。)
または、どこかにphpの各種バイナリがあるところはないでしょうか?
0751nobadyさん
02/11/14 21:27ID:itLwLG8ULinux用はRPMでの配布サイトでいっかしょしか知らない。ゴメソ。
0752nobodyさん
02/11/14 21:31ID:Kk7RsGj1される とどこの解説にもかかれているのですがうちの環境 Win2K&PHP4.2.2
だと$HTTP_POST_VARS[hoge]と配列からしか取り出せません
php.iniあたりを弄ればなんとかなるのでしょうか?
0753nobadyさん
02/11/14 21:50ID:itLwLG8U0754752
02/11/14 22:29ID:Kk7RsGj1ためらわずにやったらできますた、ありがとうございます
副作用がでるかもしれないのでしばらくは試用しますが・・・
0755nobodyさん
02/11/14 22:31ID:cSFACNwV$foo[$i] = $hoge.$i;
}
うぅん、こんな感じで作ったんだけど、
何故か$fooの配列になにも格納されない…
なんででしょう?
0756nobodyさん
02/11/14 22:47ID:???例をあげるとレスがつくかも知れん
0757nobodyさん
02/11/14 22:52ID:l0/zicwo$hoge.$iが妙に評価されてないか?
0758nobodyさん
02/11/14 22:54ID:l0/zicwo0759755
02/11/15 00:01ID:ZlqtGDCCようするに、$foo[0]に$hogeに代入されている文字列と、
0を結合したものを代入したいのです。
それをfor文を使って$foo[1]〜[12]も同じように
繰り返したいわけです…
0760nobodyさん
02/11/15 00:18ID:???12;34;56 a123456 123456z と言う文字列を作ろうと思うのですが
ログに 12;34;56<>a123456<>123456zと書き込んで読み出すのと
123456だけを書き込んで 3つに加工するのとでは
どちらがよい処理方法なのでしょうか?
0762nobodyさん
02/11/15 00:23ID:???誰かmailparse関数( http://jp.php.net/manual/ja/ref.mailparse.php )使ってる人いる?
いまいちよくわからないから参考になるページでもあると助かるんだけど。
0763755
02/11/15 07:02ID:fSn6fMud$year = sprintf("%4d",$today[year]);
$mon = $today[mon];
$nextyear = sprintf("%4d",$today[year]);
$nextyear++;
for($i=1;$i<=12;$i++){
if($mon>$i){
$link[$i] = $nextyear.sprintf("%02d",$i);
}else{
$link[$i] = $year.sprintf("%02d",$i);
}
}
といった感じで、リンクを作成するスクリプトなんです。
現在の日付を取得して、過ぎた月は「?次の西暦年+月」
現在の月と年内のそれ以降の月は「?今年の西暦年+月」
という風にしたいと思っているのですが…
0764755
02/11/15 07:26ID:fSn6fMud0765755
02/11/15 07:27ID:fSn6fMud0766nobodyさん
02/11/15 10:27ID:???$foo = array();
for($i=0;$i<=12;$i++){
$foo[$i] = $hoge;
$foo[$i] .= $i;
}
/* $foo[$i] = $hoge . $i;(半角スペースを間に入れる)でもOKかな? */
0768nobodyさん
02/11/15 17:14ID:mDnEDDpK0769nobodyさん
02/11/15 17:18ID:???0770nobodyさん
02/11/15 17:18ID:C04Zmy+e具体的に書くと、量の多いテキストデータだけを圧縮した別のムービークリップに別けて
おいて、後からその部分を随時差し替えたいのだけど。
テキストデータは掲示板みたいなもんなんで、書き込みがあるたびに内容を随時変更し
たんです。
mingじゃまだ圧縮形式はサポートしてないみたいだし・・・。
0772770
02/11/15 18:16ID:C04Zmy+eご返事ありがとう。
>gzwrite -- バイナリ対応の gz ファイル書き込み
うーん、無理じゃないかと思うんだけどできるの?
圧縮形式の仕様から調べにゃならんかな。
気が重いな、これは。
0773age
02/11/15 19:51ID:???3 5 11
のようにタブ区切りで入っているテキストファイルを読み出し
最初の数字を$one
次の数字を$two
その次の数字を$three
というように数字を変数に入れる方法を教えて頂きたいのですが、、。
0774nobodyさん
02/11/15 20:10ID:???公式マニュアルのsplitみれ。
0775PHP初心者
02/11/15 20:24ID:W2O2vLxrサンプルばかりでチンプンカンプンですヽ(`Д´)ノ ウワァァァン
一から覚えるには、どんな書籍がオススメでしょうか?
雑誌名教えていただけると嬉しいです。
ちなみに当方のスキルは「ショボイホムペ(HTML)」を作れるくらいのレベルです。
0776nobodyさん
02/11/15 21:04ID:???0779770
02/11/15 22:41ID:C04Zmy+eごめん、gzwriteが有効のようですね。
せっかくヒントもらったのに早とちりでした。
何とかその後、圧縮形式はzlibで次のフォーマットというところまで調べました。
・圧縮形式のswfのformat
3 bytes CWS
1 byte version number(06?)
4 byte The size of uncompressed SWF file.(Not just uncompressed block).
remain zlib stream
・通常のswfのformat
3 bytes FWS
1 byte version number(05?)
4 byte The size of SWF file.
remain data
圧縮形式のswfは9バイト目以降が通常のswfをzlibで圧縮して入れてあるというこ
とでいいのでしょうか。
あとは目的のデータがどんな形で収められてるかですね・・・。
しかし、この手のことを手っ取り早く調べるにはどうすりゃいいんだろ。
今は何でもgoogleで必死に調べてますけど・・・。
0780nobodyさん
02/11/15 23:45ID:tDKzSlcQPHP徹底攻略(通称マンモス本)あたりはどうでしょう?
わからなくてもとりあえず何か作ってみるのが近道かと。
で、質問。
複数のURLからデータを取得して成形、という処理をしたいのですが
foreach($url as $value){
$data = file($value);
〜いろいろ〜
}
みたいな処理方法だとひとつのURLからデータを取得し終わったあとで
ないと次のURLのデータが取得できず、非常に時間がかかってしまいます。
(データの取得元がかなり重いサイトなので)
同時に複数のURLからデータを取得するというような動作をさせる方法、
もしくは少しでもデータの取得が高速化できる方法はないでしょうか。
0781もん
02/11/16 01:35ID:PWRTZyjL戻ってきますが、
FROM:を設定しているのに、
戻ってきません。
なぜでしょう。
0782nobodyさん
02/11/16 06:46ID:???0783nobodyさん
02/11/16 06:55ID:???サーバの管理者に聞いてみれ。
メールログも見れるし、エラーメールも届いているはずだ(w
0784775
02/11/16 07:08ID:1/sWq2Gmサンクスです(≧∇≦)ノ
今日は本屋へ行く日なので探してみますね。
0785age
02/11/16 08:56ID:???$log = 'log.txt';
$data = fopen($log,"r+");
list($view,$click) = split( ",", $data, 2);
print $view;
fclose ($data);
で実行した時 Resource id #1
とポツンと表示されてしまいます。
どうやったら良いのでしょうか?
0786nobodyさん
02/11/16 09:18ID:6U1hYCr1二行目おかしくないか?fopenの返り値は
int
配列に一括代入するのは
fopen($log,"r");
$data=file($log);
したらできる
ちなみに
perlでは
@data=<log>;
って感じかな。
0788770
02/11/16 10:57ID:i0v/7za0ヒント下さった 771様、ありがとうございました。
0789786
02/11/16 12:12ID:6U1hYCr1では
$data = array();
と配列を定義してからやるとどうなるだろうか?
0790785
02/11/16 12:19ID:???ためしに
$data = fopen ($log,"r");
$data = file($log);
print $data;
exit;
print文でテキストファイルの中身を表示しようとしてるんですが
この時点ですでに「Array」としか表示されないんです。
$datas = array(A,B);
$view = $datas[0];
$click = $datas[1];
print ="最初の値は".$datas[0]."です";
とarrayをテキストファイルから読み込まずに、そのまま打つと
うまく表示されたんですが、テキストファイルから読むと「Array」しか
表示されないんです。
0791nobodyさん
02/11/16 12:38ID:???小一時間問い(ry
http://www.php.net/manual/ja/function.file.php
0793nobodyさん
02/11/16 13:16ID:???for($i = 0; $i < count($data); $i++) {
$tmp = split(',', $data[$i]);
echo "$tmp[0]\r\n";
}
0794nobodyさん
02/11/16 15:46ID:???ここを読めば分かるはず。
0795nobodyさん
02/11/16 15:54ID:???http://www.zdnet.co.jp/news/0211/01/nebt_06.html
0796PHPさん
02/11/16 19:10ID:???環境は、Win2k Apache1.3.26 PHP4 です。
$con = mysql_connect("localhost","root","******");
if ($con) {
mysql_select_db("dbdb",$MyLink);
$MyQuery = "SELECT ACCESS_CNT FROM dbdb";
$MyResult = mysql_query($MyQuery,$MyLink);
$MyRow = mysql_fetch_array($MyResult,MYSQL_ASSOC);
echo $MyRow[0];
mysql_free_result($MyResult);
$con = mysql_close($con);
}
テーブルには1レコード存在し、2522 が入っています。
本来なら 2522 が表示されるはずなのですが。。。
何か設定が足りないのでしょうか。
ちなみに、ApacheとPHPは正常に動作しています。
0797nobodyさん
02/11/16 19:17ID:???どこからそう判断したのか?
エラーメッセージがあるなら書けよ。
Warning: Access denied for user: 'root@localhost' (Using password: NO) in i:\internet\web\vip\mai-k\a.php on line 8
Warning: MySQL Connection Failed: Access denied for user: 'root@localhost' (Using password: NO) in i:\internet\web\vip\mai-k\a.php on line 8
Warning: Supplied argument is not a valid MySQL-Link resource in i:\internet\web\vip\mai-k\a.php on line 10
Warning: Supplied argument is not a valid MySQL-Link resource in i:\internet\web\vip\mai-k\a.php on line 12
Warning: Unable to jump to row 0 on MySQL result index 2 in i:\internet\web\vip\mai-k\a.php on line 14
First Name:
Warning: Unable to jump to row 0 on MySQL result index 2 in i:\internet\web\vip\mai-k\a.php on line 16
Last Name:
Warning: Unable to jump to row 0 on MySQL result index 2 in i:\internet\web\vip\mai-k\a.php on line 18
Address:
Warning: Unable to jump to row 0 on MySQL result index 2 in i:\internet\web\vip\mai-k\a.php on line 20
Position:
0800nobodyさん
02/11/16 19:45ID:???0802nobodyさん
02/11/16 20:07ID:???Warning: Access denied for user: 'root@localhost' (Using password: NO)
の意味は調べたかい?
0804名無しさん@お腹いっぱい。
02/11/17 00:22ID:???そんなコードじゃmysqlに
どのデータベースの"dbdb"を使うのか
教えてあげられない
0805nobodyさん
02/11/17 05:10ID:???0806nobodyさん
02/11/17 12:42ID:YRaU2xF9つーか
@RANKING = $RANKING[
sort {$tmp1[$b] <=> $tmp1[$a] or $tmp2[$b] <=> $tmp2[$a]
}
0 .. $#tmp1];
ってなperlの部分をphpになおしたいんだが
だれか教えてくれないでしょうか?
ここで3日も困ってるっす。
0808nobodyさん
02/11/17 15:21ID:ZXiBJBMVソートする {
始めの条件(同じだったら偽になるので、次の条件へ)
次の条件 }
}
0からtmp1の最後まで];
要するに、優先順位がある2つの条件でソートして、配列にいれてるだけ。
0809nobodyさん
02/11/17 15:31ID:???htmlspecialchars()を使えばいいと思いましたが、スクリプト中に数十個以上あるため
全部をいちいちやってられないのですが・・・
各変数に勝手に代入されちゃう前に文字列をまとめて処理する方法はないですかね?
0810nobodyさん
02/11/17 15:34ID:???(・A・)イクナイ!! と思う。
0811nobodyさん
02/11/17 16:04ID:YRaU2xF9正直に申しますと
FFアドベンチャーがあまりに負荷が高いと書いてあるので
PHPにしようとがんばっているところです。
>>808
それをPHPで書く良い方法ないですか?
0812809
02/11/17 16:13ID:???おいおい、俺も作ってるんだけど・・・
$_POST = array_map("htmlspecialchars", $_POST);
これで良いのかな。さすが俺。
0813808
02/11/17 16:27ID:YRaU2xF9どのあたりよ?
こっちは250行目のあたりで
悩んでる。
それ以外は ほぼ完成してる
ここの部分ができれば、後はバクだしして おわりっす。
0814809
02/11/17 16:38ID:???俺はma-tiさんの0.47使ってるからな。
クッキー関連とかロック関連とかまだまだだが。
まあ、まだPHP歴3日だし。
配布するつもりはあるのかな?それなら俺作るのやめようかな・・・
0815808
02/11/17 17:30ID:YRaU2xF9公開できるような綺麗なものじゃない
スパゲティーだから
0.45と0.47って どう違うよ?
0816808
02/11/17 17:42ID:YRaU2xF9EBS お願い
0817809
02/11/17 17:48ID:???>ver.0.47: 2002年4月28日配布開始
>・ソースを最適化して75.2KB→63.1KBに成功!
>・若干早くなったと思います。本当に若干。。。気持ち程度。。。
つまりはあまり変わらないと思う。
俺は公開&配布予定だから、使うんだったら最新版のほうが良いし。
まあ、予定は未定だが。
EBSはプレイしたことないからよく知らん。
0818808
02/11/17 17:52ID:YRaU2xF9ソース公開しますわー
まだ 作りかけのでよいかい?
というか 手伝って
それか ほかに有名どころのゲームをPHPお願いしたい
yomiサーチでもOK
できれば ebs
0819809
02/11/17 18:01ID:???元々俺がPHP化しようとしてる理由は
『自分の改造しまくってるFFAが負荷やばいためPHP化しよう』と思ったが、
既にすごく汚くてとてもやる気がおきなかったため、
とりあえず軽量の原作版から作って
公開してそれから自分の改造したいように変えていこうって考えなわけ。
だからFFA以外は今のところする気はないな。設置してないし。
0820809
02/11/17 18:03ID:???0821nobodyさん
02/11/17 18:06ID:FpRG38IL++++FF ADVENTURE++++
http://pc.2ch.net/test/read.cgi/php/991910275/l50
0822808
02/11/17 18:06ID:YRaU2xF9無料HPを運営していて あまりにFFAとEBSの設置が多いので
負荷がすごくなり、他のユーザー様にご迷惑がかかるので
必要に迫られて作っています。
言わば逆の立場ですね。お互い。
で どうするよ?
0823809
02/11/17 18:13ID:???作りかけでもいいから送ってくれれば俺が作ってる奴も
送り返すよ。俺もランキングの部分はまだ出来てないけど(汗
0824nobodyさん
02/11/17 18:34ID:n7xO86Z7完成の暁には漏れに適価で売ってはくれまいか?
0825PHP初心者
02/11/17 19:18ID:yD7j6+V5皆さん、がんがって下さい(≧∇≦)ノ
0826808(さるる)
02/11/17 19:47ID:YRaU2xF9完成したら
http://cgi.aaacafe.ne.jp
ここで、簡単に設置できるようにする予定なので
がんばります
0827809
02/11/17 19:54ID:???FFAは改造して何ぼですからね。
FFA推奨委員会も寂れているようなので
どんどん推奨していきたいです。
0828nobodyさん
02/11/17 21:11ID:???それは知ってるよ……。
とりあえずPECLのmailparse拾ってきて入れてはある。
で、公式サイトmailparse関数下部のスクリプトを走らせたら
signal 11吐いてapacheの小プロセスが死ぬ。
コマンドラインから実行するとphpがcore吐いて死亡。
諦めるかな……。
0830nobodyさん
02/11/18 17:18ID:???関数名、クラス名、メソッド名の大文字小文字の区別をしないようなのですが、
これを区別させるようにする事は出来ないのでしょうか?
0831nobodyさん
02/11/19 03:59ID:GvT3tsAV区別できれば何かメリットあるの?
自分で読みやすいようにdoSomething(hanyan)みたいにするけど。
0832780
02/11/19 11:50ID:9dfDoISG催促して申し訳ありませんが、よろしくお願いします。
0833nobodyさん
02/11/19 12:28ID:9zdIs68pブラウザ出力するスクリプト中、shell_exec関数を使ってバイナリ版用のスクリプトを呼び出しました。
<html>
<?php
$envs=array("QUERY_STRING","REQUEST_METHOD");
for($i=0;$i<count($envs);$i++) {
putenv($envs[$i]."=".getenv($envs[$i]));
}
$str=shell_exec("sample");
?>
</html>
#!/usr/local/bin/php -q
<?php
echo "こんにちは";
?>
ここで上記$strには「こんにちは」が格納されると思ったのですが、
「X-Powerd-By: PHP/4.2.2 Content-type:text html No input file specified.」
という文字列が格納されてしまっています。なぜなのでしょうか?
($envsからの行を加えたとたんに、このエラーが出力されるようになりました)
Webで調べたのですが、解決策として示されていた--enable-discard-pathでも解決しません
0834nobodyさん
02/11/19 16:03ID:???ImageString ($im, 11, 10, 10, "オマエモナー", $color);
とすると、イメージ内の文字が化けて出てきます。
どなたか宜しくお願いします。
0835sage
02/11/19 23:29ID:aA08ojgXファイルが存在するかを調べるfile_existsというのがありますが、
ディレクトリが存在するかを調べるものはないのでしょうか?
よろしくお願いします。
0837nobodyさん
02/11/20 08:28ID:???file_existだとディレクトリも含まれる。
一般のファイル is_file()
ディレクトリ is_dir()
シンボリックリンク is_link() #Winでは使えない。
0838nobodyさん
02/11/20 10:37ID:???>>832
スレッド使うのが常套手段ですが、PHPではアタリマエのようにスレッドが
使えないので基本的に厳しいです。
ので、シェルを使ってバックグラウンドで走らせるしかないでしょう。「色々な処理」
が何なのかわからないので、もっとメタな解決方法はあるかもしれませんが。
というわけで
$pid = getmypid();
foreach ($urls as $url) {
`curl $url > /tmp/$url.$pid &`;
}
とかして後はリダイレクトされたファイルを処理する、くらいでしょうか。どうやって
個々のcurlが終了したかを判断するのもまた面倒ですが、とりあえずファイルサイズ
見るとかでもいいんじゃないでしょうか?とりあえず、ですが。
最後にファイルを消すのもお忘れなく。register_shutdown_function()とか。
>>830
どーしても、どーしても、とおっしゃるのでしたらパッチ書いて差し上げますが、あんまり
うれしいこと無いと思いますよ。Zend Engine2ではCase Sensitiveにしよう、という話も
あったのですが、後方互換性的に問題ありありということで却下になりました。
メリットとしては
(1)関数やオブジェクトテーブルのlookupが早くなる(今はtolowerして処理してます)。
(2)普通の言語っぽくなる(笑)
くらいしか思いつきませんが。
0839nobodyさん
02/11/20 11:59ID:GqTHpGaWパーミッションは644との認識なのですが、
Hファイルや、INCファイルも644としてよろしいのでしょうか?
また、PHP、H、INCファイルをアップロードするには
転送モードはバイナリ?テキスト?どちらなのでしょうか?
0841nobodyさん
02/11/20 13:26ID:???テキストエディタで開いてテキストファイルだったらテキストモード。
パーミッションは、拡張子だけじゃ分からん。
そのスクリプトでどう扱われているのかによる。
READMEを嫁
0843nobodyさん
02/11/20 18:27ID:eNXAFipWサーバに入っていません。
http://www.thewebmasters.net/php/FastTemplate.phtml
ここから取ってきたモノをincludeしてやろうと思うのですが
誰か他に試した方いませんか?
class.FastTemplate.php3
3が付くのが気になります...
0844843
02/11/20 19:09ID:???http://ns1.php.gr.jp/pipermail/php-users/2001-August/001489.html
この辺を参考にしてみます。
0845nobodyさん
02/11/20 22:56ID:???何を意図していたかと言うと、
メソッドのオーバーロードが実装されるまでのつなぎとして、
function func(&$val)
{
$classname = get_class($val);
switch ($classname) {
case strtolower("MyClass1"):
.
.
case strtolower("MyClass2"):
.
.
}
}
とする時に、strtolower()がちょっと邪魔だっただけなので…
0846nobodyさん
02/11/20 23:33ID:1jUBHxNp今日ウチも自宅サーバーに挑戦しようと思い、
とりあえずWindows-Apache環境でPHP入れて、php動くようになったんですが、
一つ気になることがあるんです。
Apache側の設定で、
LoadModule php4_module c:/php/sapi/php4apache.dll
AddModule mod_php4.c
AddType application/x-httpd-php .php .phps
PHP側の設定で、
;include_path = ".;c:/php/includes;c:/php/pear"
doc_root = "C:/Program Files/Apache Group/Apahce/htdocs"
extension_dir = "c:/php/extensions"
の3行を設定した末、phpinfo()による動作確認でページの表示は認められたんですが、
変数の受け渡しなどが全くできないのです。
たとえば
http://localhost/index.php?query=hoge
のqueryが受け渡されないんです。
Apache環境に変えた理由は和製のAn Httpdを使用していたところ、
同じような現象がありまして困ってます(´・ω・`)
Apacheの.incが認識されていないかとアホなことを考え、
使わない環境も考えたんですが変数の受け渡しだけがどうもうまくいきません。
php.ini側の設定に問題があるのでしょうか。
それとも他に何か設定が必要なのでしょうか?
説明不足かもしれませんが・・・ご教授お願いします( ・∀・)ノ
ApacheのバージョンはApache 1.327です。
0847nobodyさん
02/11/20 23:41ID:???0848846
02/11/20 23:58ID:9aYPHyGQ言い忘れてましたが、現在もレンタル中なんですが、
そちらの方では変数の受け渡しは出来ましたヽ( ´¬`)ノ
0849846
02/11/21 00:06ID:XBf4tF8P言い忘れてましたが、現在もレンタル中なんですが、
そちらの方では変数の受け渡しは出来ましたヽ( ´¬`)ノ
0851846
02/11/21 00:35ID:XBf4tF8Pありがとうございます。
extract($_GET);
ですね〜
0852780
02/11/21 01:07ID:???ありがとうございます。
正直、何を言われているのかサパーリなのですが(;´Д`)
頑張って勉強します。
やっぱスレッド使えないのは痛いですねえ。
ちなみに「いろいろな処理」というのは簡単に言えば
「配列に入れてソート」です。
データが複数のページにまたがっているので全部まとめてしまおうと。
0853nobodyさん
02/11/21 01:15ID:???どうすればいいのでしょうか?
プログラミングとか初心者なんです。
昨日、店に行ってVisualStudioっての買ったのですが
これからどうして良いのか分かりません。
お店の人はこれがあればプログラミング出来るとの事なんですが・・・
0854nobodyさん
02/11/21 01:27ID:???掲示板を作りたいんなら、メモ帳でいいとおもうよ、うん。
0855nobodyさん
02/11/21 01:33ID:???0856nobodyさん
02/11/21 03:04ID:???0857nobodyさん
02/11/21 10:45ID:???0858nobodyさん
02/11/21 10:53ID:???0860nobodyさん
02/11/21 14:05ID:???>これからどうして良いのか分かりません。
これがホントならこの人は間違いなく・・・モゴモゴ
普通はPHP関連のHPを収集してPHPの環境等を調べて
PHPをインストールして、HPにあるサンプルで2時間ぐらい遊ぶ
そして、初心者に評判のいいPHP本を調べて購入して勉強
構文を覚え、これをするには何が必要かが分かるようになって
初めて市販の開発ソフトを購入→管理・運用が楽→ウマー
0861nobodyさん
02/11/21 21:49ID:YPJ0mbwG一度飛ばして、そこから次のページへ飛ばそうとしても上手く飛びません。
また、FORMによるデータの受け渡しもまったくできない状態だと判明しました。
原因の心当たりがある方はいらっしゃりませぬか?
0863nobodyさん
02/11/21 22:35ID:???どういう神経してるんだろうね?
0864nobodyさん
02/11/21 23:19ID:1XZhJXxJ0865861
02/11/21 23:21ID:YPJ0mbwG勿論>>4も設定しました
0868nobodyさん
02/11/21 23:56ID:???無ければ答える必要ないんじゃねーか?
あるやつが答えりゃいいだけだろ?
0869861
02/11/22 00:03ID:6zsUquR2今回はLinux環境で動かしているのですが、まったく同じソースでWindows版においたときの動作確認はとっています。
PHP4.2.2です
0870nobodyさん
02/11/22 10:04ID:HEeXMk8V上記で削除フラグがつけられると思ったんですが、だめでした。
ためしに既読のフラグをつけようと
imap_setflag_full($mbox,"1","\\Seen");
をやっても新規のフラグのままでした。
一度フラグを削除してからでないとだめなのかと思い、
imap_clearflag_full($mbox,"1","\Recent");
imap_setflag_full($mbox,"1","\\Seen");
とやってもだめでした。
マニュアルもあまり詳細がのってないので前に進めません。
どなたかご教授ください。
0871>>870
02/11/22 10:06ID:HEeXMk8VOSはRedhat7.3
接続は
{localhost/pop3:110/notls}INBOX
でしています。
PHPのバージョンは4.2.3です。
よろしくお願いします。
imap_datele で削除マーク
imap_expunge で削除
としてたよ俺は。
0873>
02/11/22 10:21ID:HEeXMk8V削除ができるのは私も確認しました。
でも、
imap_datele($mb,"1");
$overview = imap_fetch_overview($mb, "1");
foreach($overview as $value){
$flag = $value->deleted
}
echo $flag;
imap_expunge($mb);
で、途中のフラグを表示してから削除してみても、
なぜか、新規フラグがたってました。
pop3での接続じゃむり...ってか、反映しないのではなかったかなぁ。それ。
最近使っていないので、ほとんど忘れてる。
0875>>870
02/11/22 10:31ID:HEeXMk8V$mb = @imap_open($host, $user, $pass);
$overview = imap_fetch_overview($mb, $msg_no);
imap_clearflag_full($mb,1,"\\Recent");
imap_expunge($mb);
print "<pre>";
print_r($overview);
print "</pre>";
pop3だとフラグつけられないのかな?
imap_close($mb);
0876>>870
02/11/22 10:33ID:HEeXMk8Vありがとうございました。
0877>>870
02/11/22 12:50ID:HEeXMk8Vプラス、Recentのフラグだけつけることができない。
なんで?
使用なの?
0878nobodyさん
02/11/23 12:58ID:???gmdate()で漢字が文字化けする。
関数内でstaticを使い、同時に複数の同じスクリプトを走らせると
異常に重くなる。globalだと問題ない。
0879nobodyさん
02/11/23 20:34ID:twAAlTTS配列はこんな感じで
$val[0]=array("a","b","c");
$val[1]=array("d","e","f"); あって
<input type="hidden" name="val[]" value="<? print serialize($val); ?>" >
やってもうまくいきません。
目的はフォームで確認のために$valを表示させ、OKならPHPで$valを処理。
ヘルプお願いいたします。
0880879
02/11/23 21:06ID:???0881nobodyさん
02/11/23 21:11ID:nnNnwbKG自己解決したら解決法も書いておくと他の人に親切。
まだここ見てたら書いておいてみてくださいな。
0882880=879
02/11/23 21:37ID:twAAlTTSにあるユーザーのレスにあるpropogateというファンクションで済ませました。
ひたすらval[0][0]からval[1][2]をアウトプットしてます。
でもserialize()で簡単にできそうな気がするんですが。
なぜか、879でHTMLソースはvalの値が化けていました。
0883nobodyさん
02/11/24 15:09ID:rESUx17LPHPにはありませんか?
0884883
02/11/24 15:29ID:???エラー処理で使うわけではないので諦めます。
0885nobodyさん
02/11/24 16:22ID:???0886PHPさん
02/11/24 19:32ID:???教えてください。
ちなみに PHP Version 4.0.6 で、Apache で CGI 動作しています。
$REMORT_HOST では取得できませんでした。。
0887の
02/11/24 20:58ID:2iDKmUF0とかやって見るのがよろし。
---
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0888nobodyさん
02/11/24 21:16ID:???phpから取得できないの?
>>886 とかぶってるのかも
0889nobodyさん
02/11/24 21:31ID:???4.0.6で動くかは知りませんがさっさとバージョンアップすべきです。
借りているならそんな所さっさとやめるべきです。
http://www.php.net/manual/ja/ref.network.php
0890nobodyさん
02/11/24 23:19ID:???trimしなくてもいいのかな?
0891nobodyさん
02/11/25 01:15ID:TRGgbFwYとりむさんいらないよ
0893nobodyさん
02/11/25 20:09ID:MbgdCRNZAAAA.html
--------------
<html><body>
AAAA
</body><html>
--------------
↓
AAAA.html
--------------
<html><body>
BBBB
</body><html>
--------------
こんな感じの事がしたいのですが、スクリプトの書き方が途中までしかわかりません。。
<?php
$fp = fopen("./AAAA.html" , "w");
fwrite($fp , "test");
fclose($fp);
?>
これだと、AAAA.htmlは
--------------
test
--------------
になってしまいます。。良い書き方を教えていただけませんでしょうか。。
0894nobodyさん
02/11/25 20:14ID:???置き換えて
書き込む
0895nobodyさん
02/11/25 20:16ID:???,. ‐'"::::::::::::::::: ....:``'-、 >>893 って本物のアホだな!あはははははは!
,/::::::::::::::::::: ....::::::::::::::::::::::::ヾ:、 ,....,
/::::::::::::::: ..:::::::::::::::i、::::::::::::::::::::'、':,. / ヽ
/::::::::::: ....:::::::::::::::::::::i:::!`、:ト、::::::::::::i i! / i
i ...::::::|'、ヽ;::::::::::::::|,!:!__リ,,'iヽ::l''、:'、 / /
| ..::::::::;:::i!:i ヾ:、ヽ:::::::::| リ , -─ リ i;il:ヽ, i /
l:::::::::::::::i',i ':i ,メ、 \;:l '゙ `、 !::::/l ...::::::/``ヽ
l::ヽ:::::ヽ:i,レ',.゙-‐'''' ',/'/..::::::::::/ l'ヽ;、
i:::::>、:ヾ,' / _,.. -‐'ヾi ,レ'::::::::::;r':.. / i_\
i:::i. `'‐,ゝ i" '! ,.‐''" :::::::::::i゙::::::::.../. ノ 'i\
!::\ `ヽ ':, l{ ..:::::/::L,. ‐'":::::;/ ! l
l::::::::`''‐r\ ヽ.,__,.ノィ'‐-‐''"'ォ‐--,゙弋''''"::::::;.ノ l
|::::::::;ィ:::}、 ``'''─--、-‐ニ┤ ___ハ,`''ーヽ-'=‐''"::: ,,/
!::::::/ i:::|、\ ヾ´. i ヽ 、''‐-、_::::::::::::::::: /
i:::::/ i:::ハヽ`''‐、/l__\,| / ヽ--、,.ニ=‐--‐'"
0896893
02/11/25 20:25ID:MbgdCRNZ置き換えの部分がわかりません。。
どんな感じなのでしょうか。。
0897nobodyさん
02/11/25 21:23ID:???ふつうに置換えれば・・・。
つか何みてやってん? マニュアルみろよ。
eregあたりからしれらべてみ。
http://jp.php.net/manual/ja/
0898893
02/11/25 21:36ID:???$fp = fopen("./AAAA.html , "r");
$fp2 = fopen("./AAAA_2.html" , "w");
while (!feof($fp)){
$okikae = fgets($fp , 4096);
$after .= ereg_replace("AAAA" , "BBBB" , $okikae);
}
fwrite ($fp2,$after);
exec ("mv ./AAAA_2.html ./AAAA.html");
こんな感じでできました。スイマセン。
0899nobodyさん
02/11/26 00:39ID:???PHPにも、touch rename は用意されてる
0900nobodyさん
02/11/26 01:42ID:???0902nobodyさん
02/11/26 15:40ID:???0903nobodyさん
02/11/26 18:49ID:???20021126.txtってみたいなの
いい初心者サイトって無いかな?
0904nobodyさん
02/11/26 20:10ID:???荷馬車がゴトゴト >>903 を載せてゆく
可愛い >>903 売られてゆくよ
悲しそうな瞳で観ているよ
ドナ・ドナ・ドナ・ドーナ >>903 を載せて
ドナ・ドナ・ドナ・ドーナ 荷馬車が揺れる
0906nobodyさん
02/11/26 20:31ID:???ありがとう
http://jp.php.net/manual/ja/でfopenを見ろという事ですね
>>905
$hizke = gmdate("Ymd", time());
ってしろと言うことですね
0907ぽぽんた
02/11/27 17:46ID:32F4cqjQfsockopen でデータを取得すると、どうも(低い確率ですが)
一部文字化けしませんか?私の取得方法がおかしいのかとか
考えましたが、サンプルとかと比べてもそれほどおかしなやり方は
していないと思うのですが・・・・。
過去ログや、googleで調べても出てこないのですが、他の人は
こういう現象が起きたりしていないのでしょうか。
【手順】
・fsockopenで目的のURLをオープン。
・各種パラメーターを fputs で送る。
・while でループして fgets でデータを取得
・ソケットをクローズする。
ってな感じです。
$sock = fsockopen( "www.xxxxx.xxx", 80 );
fputs( $sock, "xxxxxxx\n" );
fputs( $sock, "xxxxxxx\n" );
fputs( $sock, "xxxxxxx\n" );
while( !feof( $sock ) ) {
$str = fgets( $sock, 4096 );
echo $str;
}
fclose( $sock );
ちなみに、一度ソケットを利用すると再び同じPG内で
ソケットを利用しようとしてもオープンできません。
後片付けが悪いのでしょうか?
よろしくお願いします。
0909ぽぽんた
02/11/27 19:18ID:32F4cqjQありがとうございます。
サンプルが \n だったのでそのままでした。
で、早速直したのですがやっぱりだめです。
データは「とりあえず」ほぼ正しく送られてくるのでhttpヘッダを
送る時点の問題では無いようです。(でも、今後ちゃんと\r\nにします:汗)
なんでしょう・・・一部の文字が崩れて文字コード崩れのような状態に
なってしまうんです。100文字に1文字とかそんな感じの頻度なので
結構、目立ちます。
例えば・・・htmlソースそのままで表示すると
------------------
でn
34b
ネければ、
--------------------
となります。原文は「でなければ」です。
他にも変な崩れ方をします。
「指落 1000 ヨっ」って表示されます。
これは「指輪っ」が正しいです。
なんなんでしょうねぇ・・・・
0910nobodyさん
02/11/27 20:15ID:???0911nobodyさん
02/11/27 22:02ID:???safemodeでchmod使おうと思ったら
chmod failed: Operation not permitted とか言われました。
ブラウザでサーバサイドスクリプトを使ったときって、その他の扱いになるんですか?
サーバ内で処理してるからオーナーじゃないのですか?
あぅー、同アカウント内のスクリプトでしか見れないファイルつーのを作りたいYO
0912nobodyさん
02/11/28 03:36ID:???0913nobodyさん
02/11/28 09:04ID:F7kZgWD6ひょっとしてWin鯖なら\nで良いです。詳しくは分かりませんが。
0914bloom
02/11/28 09:44ID:RNMw186qhttp://www.agemasukudasai.com/bloom/
0915nobodyさん
02/11/28 10:46ID:???\012 でも良いけど。
0916ぽぽんた
02/11/28 13:45ID:nkeBXKRh鯖はLinuxです。確かにCRLFはWinの改行コードですね。
それはそれで大切な議論なのですが、どっちにしろ
文字化けまくります。内部的な問題なのかなぁ(socketモジュール?)
PG細かく組まなくても単純にヘッダをfputs() で送って
fgetsで取得して表示するだけでも化けちゃうんですよね。
file()でURLを指定して読み込むと普通に読めるんですよね。
ちなみに、今回はPOSTデータを送る必要があったので
fsockopen()を使ってhttpヘッダをぶち込んでいます。
相手鯖からのデータを待っていなくちゃいけないのかなぁ。
ブロックモードとか関係ないと思うし・・・・(泣)
0917nobodyさん
02/11/28 14:15ID:PUGto0Nk0918の
02/11/28 16:05ID:BEW1IJeNphp のバージョンは?
4.2.3 だと mb 系を有効にすると一部文字化けが起きるバグありと聞いてます。
0919ぽぽんた
02/11/28 16:18ID:IiE4hQoQphp のバージョンは 3.0.18-i18n-ja-3 です。
日本語処理を i18n系の関数を多用しているので 4に
移行していません。
その 4.2.3 のバグは、 mb系を利用していると起きるバグなのでしょうか?
それとも mb系を有効にしているだけで socketデータ取得時に
(mb系の関数を使わなくても)文字化けが起きてしまうようなものなのでしょうか。
SJISでよくある文字化けの問題であれば SJIS <-> EUC の絡みの
どこかで特定の文字だけ文字化けするはずですよね・・・・
まだ特定の文字だけなのか調べていないのでちょっと調べてみます。
有名どころで「表示」とか。
そういえば、毎回同じ[個所]で文字化けが起きていた気がする・・・・
「特定位置」でなくて「特定文字」という可能性はなぜか考えていませんでした。
0920ぽぽんた
02/11/28 16:56ID:IiE4hQoQ言い訳させてください(爆)
1年ほど前、とあるサイトのページを取得しようと思ったのですが、
cookieを使ってたり、サンプルにあるヘッダ情報だけではうまく
データが取得できなかったので、「カンニング」したんです。
ブラウザ(IE5)で閲覧中の送受信パケットをダンプしてhttpヘッダをコ
ピーしたんです。で、それを編集してPGに組み込んだ、と。
賢明な方なら原因はすぐに分かりますよね。
1年近くずっと悩んでたのにごく簡単な理由でした・・・
httpヘッダが・・・・ HTTP/1.1 に・・・・・
えぇ、笑ってください。いいですとも。かなり大馬鹿ものですよ。
httpプロトコルが違ったのに動いていた方が不思議ですね・・・
HTTP/1.0 と HTTP/1.1 とでは同期の取り方が微妙に違うんでしょうね。
0921nobodyさん
02/11/29 00:25ID:Fg6tlzE0PHP開発技術者育成講座:Zend Studioマスターコース
http://www.zend.co.jp/e-learning/
金額は個人で受講しても手頃だけど、内容がよくわからないので、二の足を踏んでます。
0922nobodyさん
02/11/29 01:17ID:lP9MNlfeと記述すると$naに名前が出力されるものなのですが、、、
echo"ようこそ<br>$naさん";
とすると名前が出力されず、
echo"ようこそ<br>$na<br>さん";
とすると正常に出力されます。
PHPでは変数を使う場合は、
変数の前後に記述しては行けないもの等の決まりなどがあるのでしょか?
PerlでのCGIは理解しているのですが、
PHPは初めてなので混乱しています。
お力をお貸しいただければ幸いです。
0923nobodyさん
02/11/29 01:23ID:lzLul13h書き込んだあとに、再読み込みを押したら同じ内容が
自動的に書き込まれました
つまり、POSTで送信するとその状態が残っているような感じ
なんです。これを回避する方法はないかしら
0924nobodyさん
02/11/29 01:30ID:CsjprMSL× echo "ようこそ<br>$naさん";
○ echo "ようこそ<br>".$na."さん";
0925nobodyさん
02/11/29 01:46ID:CsjprMSLひとつの案として、メッセージを書き込みするページが
開いたとき $_SESSION["kakikomi"] = "mada" にしておいて
書き込むページで
if ( $_SESSION["kakikomi"] == "mada" ) {
kakikomi( $_POST["message"] );
$_SESSION["kakikomi"] == "moukaita";
} else {
echo "二重投稿エラーです。";
}
ってのはどう?
0926の
02/11/29 02:42ID:vqpWO9fR書き込み済んだらリダイレクトして再表示しちゃうのがお手軽かと。
POST の処理ルーチンも簡単にできるし。
---
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0927nobodyさん
02/11/29 06:02ID:QnsCph4W0929bloom
02/11/29 08:57ID:Ep+NyYTShttp://www.agemasukudasai.com/bloom/
0930nobodyさん
02/11/29 10:27ID:a3WbsO8Jありがとうございます。
$na = 名前 となる場合
<?echo"<center>{$na}</center><br>";?>
と記述するのが良いのか
<?echo"<center>".$na."</center><br>";?>
と記述するのが良いのか、どうなのでしょう?
どちらでも同じ事なのでしょうか?
0931hmk
02/11/29 10:58ID:+pV4MPpt{$na}では駄目です。${na}です。
0933gn355my0
02/11/29 15:21ID:???<CENTER><?= $na ?></CENTER><BR>
0934nobodyさん
02/11/29 16:51ID:FGwKAXnrhtmlに出力するときはどっちが高速ですか?
(例1)
<?
テスト
?>
(例2)
print"テスト";
0935nobodyさん
02/11/29 17:40ID:???何の意味があるのか小一時間問い詰めたい。
0936nobodyさん
02/11/29 18:02ID:???0937nobodyさん
02/11/29 18:03ID:FGwKAXnr<?
テスト
?>
}else{
print"テスト";
}
a=aの場合と
a=nullの場合と
どちらが表示が速いでしょう
0938nobodyさん
02/11/29 18:21ID:???0939nobodyさん
02/11/29 20:02ID:rdc6a4ct0940nobodyさん
02/11/29 20:24ID:???|・ω・`)
|oωo
|―u'
見守る初心者
0941nobodyさん
02/11/29 20:52ID:FGwKAXnrperlのソースですがphpに訳せる天才はいませんか?
$new=3;
$old=10;
$num1 = 7777;
$num2 = 77;
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
$key = "uhreri";
@key = split(//, $key);
$date_num = sprintf("%02d%02d%02d%02d%02d",$mon +1,$mday,$hour,$min,$sec);
$chcode = ($date_num + $num1) * $num2;
$i = 0;
$chcode =~ s/./sprintf("%02x",ord($&)^ord($key[$i++ % @key]))/ge;
0942nobodyさん
02/11/29 23:24ID:???<? テスト ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY></BODY></HTML>
こんなのが出力されるよ!
print"テスト";
テキストで
print"テスト";
と出るよ!
htmlは例1だから答えは例1!
0943nobodyさん
02/11/29 23:29ID:???エラーメッセージが出るけれど、いいの!?
>perlのソースですがphpに訳せる天才はいませんか?
凡人もいるよ!
0944nobodyさん
02/11/30 00:04ID:???$chcode = ($date_num + $num1) * $num2;
$i = 0;
$chcode =~ s/./sprintf("%02x",ord($&)^ord($key[$i++ % @key]))/ge;
これはおかしくない?最初の$chcodeで時間と何かの数字で計算して代入しているのに
また、$chcodeに何かを代入するの?
0945の
02/11/30 01:38ID:tS4FEdrLs/ だから php なら、$chcode = preg_replace(...,,$chcode) ってパターンだな。
書き換えは簡単だけど、正確に読むのはダルいんでパス。
---
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0946nobodyさん
02/12/01 03:25ID:2VKLUjr4gdの「imageCopyResampled()」を使いたくて、 gd-2.xにバージョンアップ
しようとして(現在は gd-1.8.3-7)、 RPMパッケージを探したのですが、
ftp://ftp.rpmfind.net/linux/PLD/current/dists/ra/PLD/i386/PLD/RPMS/gd-2.0.1-7.i386.rpm
のようなPLDディストリビューションしかなく、インストール(アップデート)しても
うまくバージョンアップしてくれません。
どこかに別のRPMパッケージ、もしくは上記のもので成功させる方法って
ないでしょうか?
現在はImageCopyResized()を使って画像縮小してるんですが、激しく
荒い画像になってしまいます、、。
0947nobodyさん
02/12/01 10:25ID:iDh7XpXh0949946
02/12/01 10:48ID:2VKLUjr4現在のphp-4.1.2-7.1.6をインストールしたままgd-2.0.1-7をインストール
しようとすると、「libgd.so.1.8はphp-4.1.2-7.1.6に必要です」と言われて
拒否られてしまいます。 強引に入れると確かにapache起動に失敗します。
gd-2.0.1-7のインストールファイルリストを見てlibgd.so.2.0.0だけなので
いやな予感はしていましたが、、、。
今度はPHP関係をまず全てアンインストールして、gd-2.0.1-7から入れると
インストールはできるのですが、php-4.1.2-7.1.6をインストールしようと
すると、「libgd.so.1.8はphp-4.1.2-7.1.6に必要です」と言われて、
今度はPHPがインストールできなくなってしまいます。
私のような素人考えからいくと、「gd-2.xを必要とするPHP4のRPMパッケー
ジがあれば、、」などと考えてしまうのですが、ちょっと的外れでしょうか?
0950nobodyさん
02/12/01 11:46ID:???後でどうなっても知らないけど、
gdのページには、
A very high degree of backwards compatibility
with existing gd 1.x code has been maintained,
at both the source code and binary level.
ってあるから無理やり入れてもよさそう。
libgd.so.1.xにシンボリックリンク張るのを忘れずに。
尚、レジストリの修正は自己責任でお願いします。
0951946
02/12/01 12:08ID:2VKLUjr4ありがとうございます。
つまり、「gd 2.x は、1.x とソースコードもバイナリレベルも似ていて互換性も
保ってます」ってことですね。
最後の2行の意味がよく分からないのですが、libgd.so.1.xにシンボリック
リンクを張るのがどういう意味をなすのでしょう?
レジストリ修正っていうのはPHP4のRPMパッケージをいじるっていうこと
でしょうか? 、、、ちょっと私にできるかどうか、、、。
0952nobodyさん
02/12/01 12:44ID:EpowQ2LG無料ホムペスペースのsendmailは
PHP4で使えますでしょうか?
0953nobodyさん
02/12/01 12:49ID:Ympa0jkR当然使えます。sendmailもqmailも設定ひとつです
0954952
02/12/01 12:53ID:???早速、スクリプト探してきます!!
0955初心者
02/12/01 15:01ID:IYJM+D46自分も丁度気になっていたところ。
ob_start("ob_gzhandler");
で良いと思うんですが。
0956nobodyさん
02/12/01 15:53ID:???0957nobodyさん
02/12/01 17:53ID:???0958nobodyさん
02/12/01 18:04ID:???今のPHPの設定を目を皿にして確認してみよう。
ただし、PHPでgzipコンプレスすると正常動作しなくなるスクリプトが少なからず出てくる。
(クライアント側ブラウザに圧縮されたバイナリデータが展開されてしまう)
スクリプトを修正すればなんとかなるとは思うが。
そろそろ新スレか?
0959nobodyさん
02/12/01 19:13ID:???0960nobodyさん
02/12/01 22:40ID:???0961nobodyさん
02/12/02 00:30ID:eE3XhUq7foreach($_POST as $key => $value){
$_POST[$key] = str_replace("\n", "", $value);
}
↑のように書くと意図したように動かない
foreach($_POST as $key => $value){
$_POST[$key] = str_replace("\n", "", $_POST[$key]);
}
↑のように書くとちゃんと動く
同じように見えるんだけどなにか違うの?
\nとかじゃなくてただのアルファベットとかだとちゃんと前者でもちゃんと動作するんみたい。
何故?誰か教えて。
0962nobodyさん
02/12/02 01:50ID:???\nじゃなくて、\r\nに変更したけど。
0963nobodyさん
02/12/02 04:08ID:???Part3 が立ったのは 980
Part4 が立ったのは 999
Part5 が立ったのは ……HTML 化待ちで、漏れは読めない
0964961
02/12/02 04:43ID:eE3XhUq7試してみた。
$_POST[$key] = str_replace("\r\n", "", $value);
だけだと成功
$_POST[$key] = str_replace("\r\n", "", $value);
$_POST[$key] = str_replace("\n", "", $value);
$_POST[$key] = str_replace("\r", "", $value);
3つ書くと失敗
後ろの$valueを$_POST[$key]に変更すると成功
php-4.2.2なんだけどなー。なんでだろう。
0965nobodyさん
02/12/02 09:45ID:vgT4ee9m正規表現
0966nobodyさん
02/12/02 23:01ID:2uvkz+AIそこで祝日(成人の日)の判定が分からないです。
1月第2月曜日ってのはどうやって判定したらよいのでしょう?
教えてください。
0967nobodyさん
02/12/02 23:34ID:???第二日曜が14日なら第二月曜は8日。
0968ノウバディ
02/12/02 23:56ID:yCCT0waLCGIBOY同様の訪問回数、初回訪問日などを
誰かつけてください。
おながいします、。
0969nobodyさん
02/12/03 00:53ID:F9qCnjkA>>967さんありがとうございます。
簡潔に書けそうなすばらしいロジックですね。
ただ、第二日曜を判定するロジック(書き方)が分からないのです。
教えてクンですみません。PHP4でのこの辺の書き方教えていただけないでしょうか。
0970nobodyさん
02/12/03 01:26ID:Q35J3m80$first_day = getdate($timestamp);
if($first_day[wday] == 0)
$second_monday = 8;
else
$second_monday = 15 - $first_day[wday];
かな?
1日が日曜日なら第2月曜は8日、それ以外なら2週間後の今日から
最初の日曜日までの日数を引いた日、っていう感じ。
たぶん合ってると思う。
0971nobodyさん
02/12/03 01:28ID:???まあ、そんな感じで。
0972nobodyさん
02/12/03 01:29ID:???$month = 1;
$the_day = happy_monday($year,$month);
echo $the_day;
function happy_monday($year,$month){
$weekday_1st = date("w",mktime(0,0,0,$month,1,$year));
$weekday_1st == 0 ? $sunday_1st = 1 : $sunday_1st = 8 - $weekday_1st;
$monday_2nd = $sunday_1st + 8;
return $monday_2nd;
}
0973nobodyさん
02/12/03 12:11ID:???レッツPHPの人にお頼み申せ。
0974nobodyさん
02/12/03 16:07ID:F9qCnjkA>>970,972 ありがとう。休日(ダイヤ)か平日(ダイヤ)かの判定ができるようになりました。
こんな感じです。
//-----------------------------------------
//休日か平日の判定
function is_holiday($year,$month,$day){
$ls_day = sprintf("%02d/%02d",$month,$day);
$sflg = "weekday";
$holiday = array("01/01","02/11","03/21","04/29","05/03","05/05","07/20","09/15","09/23","11/03","11/23","12/23","12/30","12/31","01/02","01/03");
for ( $i = 0; $i < count($holiday); $i++ ) {
$holiday[$i] = holiday_shift($holiday[$i] . "/" . $year );
}
$holiday[16] = "01/" . sprintf("%02d",happy_monday($year,1));//成人の日
$holiday[17] = "10/" . sprintf("%02d",happy_monday($year,10));//体育の日
for ( $i = 0; $i < count($holiday); $i++ ) {
if ($ls_day == $holiday[$i]) {
$sflg = "holiday";
break;
}
}
return $sflg;
}
//-----------------------------------------
//ハッピーマンデー対応
function happy_monday($year,$month){
$weekday_1st = date("w",mktime(0,0,0,$month,1,$year));
$weekday_1st == 0 ? $sunday_1st = 1 : $sunday_1st = 8 - $weekday_1st;
$monday_2nd = $sunday_1st + 8;
return $monday_2nd;
}
0975nobodyさん
02/12/03 16:07ID:F9qCnjkA//-----------------------------------------
//祝日が日曜日の時には月曜日が休み
function holiday_shift($in){
$t = split("/",$in);
if(date("w",mktime (0,0,0, $t[0], $t[1], $t[2])) == 0) {
$holiday = sprintf("%02d/%02d",$t[0],$t[1]+1);
} else {
$holiday = sprintf("%02d/%02d",$t[0],$t[1]);
}
return $holiday;
}
0976nobodyさん
02/12/03 19:51ID:R/9PtWVbたとえば
<html><body><table><tr><td>文章</td></tr></table></body></html>
このようなファイルで<table>〜</table>までを取り出したいときにはどうしたら良いでしょうか?
この場合は
<table><tr><td>文章</td></tr></table>
を取り出せればいいのですが
宜しくお願いします。
0977nobodyさん
02/12/03 20:18ID:PNt+pMvy<table>から</table>にマッチする正規表現で抜いてくればいいんじゃない?
0978nobodyさん
02/12/03 23:16ID:vkKrixb3インストールしている途中でPHP.iniのインクルードパスのところで
いきづまってます。PHP.iniのインクルードバスがコメントになってる
からです。どうすればいいのですか?
Linux7.3です。LinuxもPHPも素人です。
7.3にPHPは既に入ってました。
<? phpinfo(); ?>は動作しました。
0979nobodyさん
02/12/04 00:21ID:???0980うえ〜ん
02/12/04 05:35ID:XOwW5my4全っ然わからん。PHP歴4時間・・・
-----test.php
<HTML><BODY>
<?php
$filename = "/home/hoge/hoge.dat";
$fp = fopen ("$filename","r");
flock ($fp,1);
$contents = fread($fp,filesize($filename));
flock ($fp,3);
fclose ($fp);
print $contents;
?>
</BODY></HTML>
0981nobodyさん
02/12/04 06:23ID:???0982nobodyさん
02/12/04 06:25ID:???0983nobodyさん
02/12/04 06:35ID:???0984nobodyさん
02/12/04 07:28ID:???0986nobodyさん
02/12/04 10:57ID:???0987
02/12/04 14:04ID:xBoKBvCa$fp = fopen ($filename,"r");
0988nobodyさん
02/12/04 14:11ID:???0989ageてもいい?
02/12/04 14:51ID:???取得できるのかなぁ?
0990nobodyさん
02/12/04 14:52ID:???0991nobodyさん
02/12/04 16:10ID:???0993980 (そろそろ新スレ?)
02/12/04 16:26ID:XOwW5my4けど・・・まだダメなんです。
教えて頂いたとおりに、
$filename = "./home/hoge/hoge.dat"; とか
$filename = "home/hoge/hoge.dat"; と
やってもダメでした。
ただエラーが表示されるようになって、
「No such file or directory 」といわれます。
読んだままファイルの指定の仕方が間違ってるみたいなんですが・・・
で、ご指摘頂いた /home とルートからフルパスで書くところをhome/と
していますが、どういった理由なのでしょうか?
それともそんな書き方はもともと出来なくて、全て相対パスで書くべき
なのでしょうか?
http://www.php.net/manual/ja/function.fopen.php
を見ると $fp = fopen ("/home/rasmus/file.txt", "r");
のようにルートからフルパスで書いてあります。
test.phpとhoge.datを同じディレクトリに入れて
$filename = "./hoge.dat"; としてみたら、エラーは全く出ない
のですが、
<HTML><BODY></BODY></HTML>
とだけ見えて内容を全然読んでくれませんでした。
ちなみに >>987 さんの言うとおりに4行目はこうしてみました。
$fp = fopen ($filename,"r");
質問ばかりで申し訳ないのですが、ご教授願います。
>>989 オレも知りたい・・・
0994989
02/12/04 16:37ID:???phpinfo 見ると、、、Server API が、CGI になってた(鬱
どやってApacheモジュールにするのかなぁ?
0995nobodyさん
02/12/04 16:50ID:???Apacheモジュール版なら
$HTTP_SERVER_VARS['PHP_AUTH_USER'], $HTTP_SERVER_VARS['PHP_AUTH_PW']
とか
$_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']
で取れるだろ。
>>993
で、/home/rasmus/file.txt は有るの?
0997995
02/12/04 17:00ID:???http://pc.2ch.net/test/read.cgi/php/1038988518/l50
0998nobodyさん
02/12/04 17:06ID:???長らくお待たせしました。やっと1000取り合戦場になるようです。
\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、やっぱやんなきゃダメか? ,,、,、,,,
/三√ ´�兪)/ \________________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \今更やる気でねぇ…………よ。。。/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ;) (ι ) ( ;) )
0999nobodyさん
02/12/04 17:09ID:???1000nobodyさん
02/12/04 17:11ID:???,,、,、,,,  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ \∧_ヘ
,,、,、,,, やっぱや〜めたっと > / \〇ノゝ ,,、,、,,,
,,、,、,,, ________/ /三√ ゚д゚)
/三/| ゚U゚| \
\エーーーーーーーッ!?/ ,,、,、,,, U (:::::::::::)∪ ,,、,、,,,
∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ //三/|三|\
( ) ( ) ( ) ) ∪ ∪
∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧,,、,、,,, ,,、,、,,,
( ) ( ) ( ) ( ) ,,、,、,,,
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。