【PHP】初心者コーナー 3 Released【スローモード】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/06/11 06:24ID:???ファイル MySQL PostgreSQL 正規表現でも なんでもいってみ
でもな、アホな質問であっても詳しく質問しろよ。 ネタはおもしろく書けよ。
前スレ http://pc2.2ch.net/test/read.cgi/php/1048442813/l50
■PHPの普通の質問はあっちな、【PHP】質問スレッド Part8
http://pc2.2ch.net/test/read.cgi/php/1050249148/l50
■PHPへ移行したいPerl信者はあっちな、【待望】PerlユーザのためのPHP入門
http://pc2.2ch.net/test/read.cgi/php/1046326634/l50
■マニュアル嫁ってうるさいのがいるからちょっとは嫁な、
http://www.php.net/manual/ja/
■おまえ初心者なら入門本くらいかっとけな、PHP関連の書籍(但しPHP出版系お断り)
http://pc2.2ch.net/test/read.cgi/php/985315574/l50
■これはなズープスと読むらしいがあっちな、XOOPS
http://pc2.2ch.net/test/read.cgi/php/1031736248/l50
でもな、ここで書きたかったらここで書き。 あとは関連な、>>2
0002nobodyさん
03/06/11 06:24ID:???http://www.php.net/
■ 日本 PHP ユーザ会
http://www.php.gr.jp/
■ PHP マニュアル
http://www.php.net/manual/ja/
■ PEAR マニュアル
http://pear.php.net/manual/ja/
■【待望】PerlユーザのためのPHP入門
http://pc2.2ch.net/test/read.cgi/php/1046326634/l50
■PHP-users ML ヲチ
http://pc2.2ch.net/test/read.cgi/php/1031734100/l50
■【PHP】Smarty【Template】
http://pc2.2ch.net/test/read.cgi/php/1047225437/l50
■ PHP アップグレード報告スレッド
http://pc2.2ch.net/test/read.cgi/php/987259309/l50
■ PHP + MySQL
http://pc2.2ch.net/test/read.cgi/php/983250751/l50
■ PHP + PostgreSQL
http://pc2.2ch.net/test/read.cgi/php/983128806/l50
■ PHP 関連の書籍 (但し PHP 出版系お断り)
http://pc2.2ch.net/test/read.cgi/php/985315574/l50
■ perlスクリプト⇒phpスクリプト移植要望スレ
http://pc2.2ch.net/test/read.cgi/php/1035700861/l50
■ YomiサーチPHP化プロジェクト
http://pc2.2ch.net/test/read.cgi/php/1044371877/l50
■ せっかくだからPHPで掲示板作ってみませんか?
http://pc2.2ch.net/test/read.cgi/php/1035700861/l50
0003nobodyさん
03/06/11 06:27ID:kzWk23HI0004nobodyさん
03/06/11 06:31ID:???0005nobodyさん
03/06/11 06:32ID:???0006nobodyさん
03/06/11 06:32ID:???0007nobodyさん
03/06/11 13:44ID:lWApjllN0008nobodyさん
03/06/11 13:53ID:???PHPに関しては、このあたりのページをブックマークしておくと便利だよ。
http://www.php.net/manual/ja/ref.mysql.php
MySQLに関しては、
http://www.mysql.gr.jp/jpdoc/4.0/manual.ja_toc.html
0009nobodyさん
03/06/11 13:55ID:???0010nobodyさん
03/06/11 22:32ID:???英語でもいいんで・・
どなたかタノム
0011nobodyさん
03/06/12 00:25ID:???確かに(見難さには)同意するが、それはPHPのマニュアルに
慣れすぎてる部分が多分にあるからかと。
あとmysql.comの方は結構使えるで。
0012nobodyさん
03/06/12 23:40ID:FX+eijnOttp://www.komonet.ne.jp/script/f_mail2/komomail.htm
ttp://www.komonet.ne.jp/script/f_mail2/komomail.phps(PHPソース)
上記のメールフォームを改造してチェックボックスを配置したいのですが、
HTML側のソースは、
<input type="checkbox" name="abc[]" value="hoge01">hoge01
<input type="checkbox" name="abc[]" value="hoge02">hoge02
<input type="checkbox" name="abc[]" value="hoge03">hoge03
<input type="checkbox" name="abc[]" value="hoge04">hoge04
を追加し、PHP側のソースに
for( $i=0; $i<count($abc); $i++ ) {
print $abc[$i] . "<br>\n";
}
print "<input type=\"hidden\" name=\"sabc\" value=\"$abc\">\n";
を追加しまして動作させたところ、
確認ページでは正常に表示されたのですが、ソースを見ると
<input type="hidden" name="sabc" value="Array">
とvalueの値がどのチェックボックスを選択しても「Array」になってしまい、
このまま送信してもメールにも「Array」と表示されてしまいました。
この「Array」の部分を「hoge01」「hoge01,hoge04」
のように表示させるにはどうすればよいのでしょうか。
宜しくお願いします。
0013nobodyさん
03/06/13 00:03ID:???value=\"$abc\"ここはArayだかだ$abc[$i]だとおもうど、
001412
03/06/13 00:20ID:???それも試してみたのですが、
value=""
となり、何も表示されなくなってしまいました…
書き忘れましたが、
function SendMessage()内には
globalに $sabc を、それと
$msg .= "選択肢 = $sabc\n";
を追加してあります
0015nobodyさん
03/06/13 00:37ID:???0016nobodyさん
03/06/13 00:42ID:???}
print "value=\"$abc\">\n";
こうなってるから。
001712
03/06/13 01:19ID:???ttp://www.komonet.ne.jp/script/f_mail2/komomail.phps
のソースに>>12と>>14を追記しただけなので全文の必要は無いかと
勝手に判断してしまいました…
>>16
それは…
for(){
}
内にprint "value=\"$abc\">\n"; を入れなければならない、
ということでしょうか?
0018nobodyさん
03/06/13 01:30ID:???必ずインデックスをつけて呼び出さなければならない。($abe[$i])
あなたのソースの一番下の行を$abc[$i]としても
$iのなかに何も値が入っていないので、
おかしなことになります。
ちゃんと$iのなかに数字を入れましょう
001916
03/06/13 01:52ID:???> この「Array」の部分を「hoge01」「hoge01,hoge04」
ってことなら、
value=\"".implode(",",$abc)."\" みたいにして、
配列を文字列に変換しなきゃいけない。
002012
03/06/13 02:19ID:???インデックスというのは
$abc[0] = hoge01
$abc[1] = hoge02
$abc[2] = hoge03
$abc[3] = hoge04
というやつですよね?
>>19
おぉ!出来ました!implode…配列要素を文字列により連結する、
というヤツですね?これで全ての問題が解消されました。
>>13さん、>>15さん、>>16=>>19さん、>>18さん、
どうも有難うございました。
PHP勉強し始めてまだ日が浅いのですがもっと努力します。
0021nobodyさん
03/06/13 02:21ID:???for($i=0;$i<count($abc);$i++){
print "<input type='checkbox' name='sabc' value='".$abc[$i]."'>".$abc[$i]."<br>\n";
}
こういうことなのか? PHP初心者なのか?
0022nobodyさん
03/06/13 02:22ID:???0023nobodyさん
03/06/14 00:13ID:oYY8Bt5l$hensu が a か b か c か d か
と言うのを書きたいんですけどうまく出来ません。
どうやったらいいんでしょうか。
ちなみに下記のように書きました。
$hensu = a;
if($hensu == (a||b||c||d)){
echo "あってます";
} else {
echo "違います";
}
0024nobodyさん
03/06/14 00:50ID:???$hoge = array("a","b","c","d");
if (in_array($hoge,$hensu)) {
echo "あってます";
} else {
echo "違います";
}
0025nobodyさん
03/06/14 01:14ID:???if ($hensu == 'a' || $hensu == 'b' || ...) {
yes;
} else {
no;
}
if (preg_match("/^[a-d]$/", $hensu)) {
yes;
} else {
no;
}
0027nobodyさん
03/06/14 08:37ID:p4ucyWfSsrand((double)microtime()*1000000);
$link=round(rand(1,5));
echo"<a href=\"http://www.*****.com/php?id=$link>リンク</a>\"";
これだとページをリロードしなければリンク先が変わりません
どうやったらいいんでしょうか?
0028nobodyさん
03/06/14 08:40ID:???echo"<a href=\"http://www.*****.com/php?id=$link\">リンク</a>";
0029あぼーん
NGNG0030nobodyさん
03/06/14 08:49ID:???ttp://www.*****.com/php に手を加えられるのなら、
その中でrand()すればいいのでは?
リンクのページ -> .com/php -> リンク先
0034nobodyさん
03/06/14 11:32ID:???2ページ目 : rand()でジャンプ先を決めてheader(Location:)で実際にジャンプ
1ページ目のリンク文字(<a>〜</a>の間の文字)は固定になるけど、どう?
0035nobodyさん
03/06/14 16:45ID:???最近のバージョンだと不要だよ。
0036nobodyさん
03/06/14 21:31ID:???>>12を真似て更にチェックを増やした(チェック項目じゃなくて種類)ら
途中まで表示されて止まっちゃった(応答無し)んですけど
0038nobodyさん
03/06/14 21:43ID:???0040nobodyさん
03/06/15 14:32ID:???解決しますた
HTMLの書き方がおかしかったみたいです
>>38
前からメール送信フォームのスクリプトを探してたんですけど
チェックボックス付きのって不思議なくらい少ないんですよ
ラジオボタン付きのは多いのに。
こんなCGI探してますスレで聞こうと思っていた時に
12でそういう話題が出てたんでこりゃ僥倖、というわけです
0041nobodyさん
03/06/16 19:26ID:???ファイルのn行目だけを消去というような処理は
どうすれば良いのでしょうか。
0042nobodyさん
03/06/16 21:57ID:???n行目だけ飛ばすとか?
0043nobodyさん
03/06/16 22:35ID:???edが入ってれば・・・
ed {ファイル名} <<EOT
行数d
wq
EOT
こんな感じのことをやらせると簡単?
# 複数行あるときは、行数は大きい順にdコマンドせいよ!
言ってることがわからないときは無視していいよ・・・
0045nobodyさん
03/06/16 23:50ID:ULUKCUBQ対象文字列が1つだけならば問題はないのですが、
複数ある場合に正しく認識しないのです。
0046nobodyさん
03/06/17 00:06ID:???オーソドックスに1行ごとファイルを読んで、対象行について処理。
消して詰めるんだったらスキップすれば良いし、
空行にしたいなら空行に入れ替えればよい。
処理用のテンポラリは配列を使ってメモリー上でやってもいいし、
PHPの一時作業ファイルの機能を使っても良い。別ファイルに吐くなら
直接そこに書き込んだ方が二度手間にはならないけど。
つかもちぃと、自分のやりたいことを具体的に書けるように汁。
0048nobodyさん
03/06/17 03:07ID:jU4Lgx5s$content=ereg_replace("(\[\[[^(\]\])]*\]\])","<a href=\"index.php?action=view&title=\\1\">\\1</a>",$content);
こうしてみたのですが、うまく動きません。
どうしたらよいのでしょう。
最初は
$content=ereg_replace("(\[\[.+\]\])","<a href=\"index.php?action=view&title=\\1\">\\1</a>",$content);
でした。
0049nobodyさん
03/06/17 04:08ID:???0050あぼーん
NGNG0051nobodyさん
03/06/17 11:30ID:???>うまく動きません。
これだけじゃね。
0052nobodyさん
03/06/17 15:44ID:???0053nobodyさん
03/06/17 17:12ID:???http://www.zend.co.jp/aboutphp/
0055nobodyさん
03/06/17 23:07ID:0jiXtgetディレクトリの中のファイル一個づつ足していかないとだめなんでしょうか。
0058nobodyさん
03/06/18 00:59ID:z2IuQj0n画像の大きさを判別できるのでしょうか?
200×300とか
調べたんですけど関数がないような
ということはC言語で関数を作る?
だれかわかりませんか?
0059nobodyさん
03/06/18 01:04ID:???0060nobodyさん
03/06/18 01:14ID:???http://www.php.net/manual/ja/function.getimagesize.php
マニュアルにまんまあるぞ。このRTFM!
0062nobodyさん
03/06/18 01:40ID:???0063nobodyさん
03/06/18 01:57ID:ozrEi3htありがとうございました
59>>
回線切って首を吊れ
0065nobodyさん
03/06/18 11:17ID:Y4tmU7Uq皆様におかれましては、いかがお過ごしでしょうか?
と、まぁ〜、んな事はどーでもいいので、質問させて下さい。
配列の中の要素の数を取得する事って出来ますか?
$hoge[0] = hoge0
$hoge[1] = hoge1
$hoge[2] = hoge2
って、配列があるとしたら、全部で3つじゃないですか?
その3ってのを取得したいんです。
0067あぼーん
NGNG0070nobodyさん
03/06/18 16:47ID:???JCode.php見つけたんですけどいまいち上手く動作しないのです。
0071nobodyさん
03/06/18 17:50ID:???007270
03/06/18 18:38ID:???要は、普通の掲示板などで行われている処理なのですが。
0074nobodyさん
03/06/18 22:09ID:???じゃあ、普通にjcode.phpつかえば。
jcode.phpだけど、
>JCode.php見つけたんですけどいまいち上手く動作しないのです。
こういう書き方するとバカかと思われるよ。
007565
03/06/19 03:14ID:2RPLMQCv別の質問なのですが、
title1,value1
title2,value2
title3,value3
というcsvファイルを、file()で読み込んで $lines に格納した後、
列ごとの要素を配列に入れたいのですが、
list($title,$value)=explode(",",$lines[$i]);
と、やったら上手くいきません。
マニュアル読むとlist()は、「配列と同様の形式で、複数の変数への代入を行います」
と、あるので上記だと $title や $value は変数で配列ではないという事ですよね?
列ごとの要素を配列として扱うには、どうすればよいでしょうか?
0077nobodyさん
03/06/19 03:59ID:???なんでeuc指定しないの?
007870
03/06/19 04:01ID:???ただ、ブラウザが送出する文字列は指定できないこともありますので、
変換前文字列を自動認識にしているんです。
すると、ときどき化けることがあるわけで。
0079nobodyさん
03/06/19 04:35ID:???これを上手い事、条件つけて変換するとか。
008070
03/06/19 04:52ID:???どういう条件をつけたらよいのでしょう。
0081nobodyさん
03/06/19 04:57ID:Xa9Oiy3tとりあえず
$lines = file('hoge.csv');
$title = array();
$value = array();
for ($i=0;$i<count($lines);$i++) {
list($title[$i],$value[$i])=explode(",",$lines[$i]);
}
かなあ?
$lines = array_map('SplitCSV', file('hoge.csv'));
function SplitCSV($line) {
$a = explode(',', $line);
return array('title'=>$a[0], 'value'=>$a[1], 'value2'=>$a[2]);
}
みたいに多次元配列に入れたほうがデータを使い回しやすいし、
ファイルを全部読み込む必要がないならfgetcsvを使うのが良いだろうし。
方法はいろいろありますyo。
>>78
jcode.phpsは最新版(1.34)ですよね?
いちおう http://www.spencernetwork.org/ を張っときます。
PHPがセーフモードでないなら、exec()でnkfを使うとか
mbstringのDSOを調達してdl('mbstring.so');するとか? (w
008270
03/06/19 05:17ID:???jcode.phpsは最新版です。
で、後の方法ですが、強引ですねえ。。。
文字化けの状況はここと一緒かと。ちょっと内容微妙だけど。
http://www.google.co.jp/search?q=cache:W9edWQoBLUMJ:www.geocities.co.jp/CollegeLife-Labo/9015/discussion/0301-0350/log00000305.html+%E5%8A%B9%E5%8D%A0&hl=ja&ie=UTF-8
なんか、根本的に間違っている気がしてきました。
0083nobodyさん
03/06/19 05:46ID:???>>82
すごく強引です。半分ネタのつもりで書きました。ごめん。
ところで、文字列は保存する直前(処理したあと)変換してませんか?
それならスクリプトの冒頭で
$str = serialize($_POST);
$str = JcodeConvert($str, 0, 1);
$_POST = unserialize($str);
って感じであらかじめ変換してやるといいかも。
個別に変換するんじゃなくて、一つの長い文字列として扱うことで
判定ミス軽減を狙ってます。うまくいくかわかんないけど。
とりあえず、そのリンク先が根本的に間違っているのは疑いの余地が無いですね。
0084nobodyさん
03/06/19 05:54ID:???上の$_POSTは$HTTP_POST_VARSもしくは$HTTP_GET_VARSと読み替えてくだされ。
0089nobodyさん
03/06/19 14:58ID:???しらんかたよ汗
0090nobodyさん
03/06/19 16:54ID:BuZyfKvG$key = 'key';
$line = 'abcd $key{key1} efgh $key{key2} ijkl';
以上のデータを使って$lineを
abc val2 efgh val2 ijkl
と成るように置換したいのですが、以下だとうまく動きません。
$line = preg_replace('/\$'.$key.'\{(.*?)\}/',$hash["\\1"],$line);
どうしたらうまく動かせるのでしょうか。教えてください。
ちなみにperlだと
$line =~ s/\$$key\{(.+?)\}/$hash{$1}/g;
0091あぼーん
NGNG0092nobodyさん
03/06/19 16:59ID:3FZVSEpwつか、それ以前に''(シングルクォート)じゃあ、変数が
展開されねーべさ。
0094nobodyさん
03/06/19 17:19ID:???''
009592
03/06/19 17:20ID:???「'」(しんぐるくぉ〜と)
と書き直してみるテスト。
0096nobodyさん
03/06/19 17:22ID:???$hash[$1] のかわりに md5($1)とか、オリジナルのハッシュ関数($1)とかでもいいかも。
009790
03/06/19 17:24ID:BuZyfKvGちょっとまぎわらしいコードを書いてしまってすいません。
$lineでしたら、展開されないように''にしています。
$line = 'abcd $CODE{1} efgh $CODE{2} ijkl';
$key = 'CODE';
$hash = array(1=>'111',2=>'222');
$line = preg_replace('/\$'.$key.'\{(.*?)\}/',$hash["\\1"],$line);
で$lineを
abcd 111 efgh 222 ijkl
にしたいのですがpreg_replaceの所で、つまずいています。
0098nobodyさん
03/06/19 17:44ID:???実用的なものとしては、“漢字コードはEUC”というのがある。
ttp://www.valhalla.gr.jp/coffin/essay/2001/august.html#12
>> 90
$line = preg_replace_callback('/\$'.$key.'\{(.*?)\}/', create_function('$a', 'return $GLOBALS["hash"][$a[1]];'), $line);
もっといい方法があるかも。
0099nobodyさん
03/06/19 18:05ID:j1VyygA0可能でしょうか?
0100あぼーん
NGNG0101nobodyさん
03/06/19 21:54ID:???0102nobodyさん
03/06/19 22:14ID:???まずform.htmlで
<form name="form1" method="post" action="confirm.php">
<p> 名前<br>
<input name="name" type="text" size="100">
</p>
のようなフォームを作り、confirm.phpで
<?php echo $_POST["name"] ?><br>
として表示しようとしているのですが、何故かなにも表示されません。
PHPが動いていることはphpinfo()で確認済みです。
どうもform.htmlからconfirm.phpに変数を渡せていないような気がします。
これはなにか設定の問題なのでしょうか?
ご教示ください。
0103nobodyさん
03/06/19 22:34ID:qf8t/Q9iParse error: parse error, unexpected '=' in /xxxxx/index.php on line 11
「=」はつかえないんでしょうか?
0104nobodyさん
03/06/19 22:34ID:???0105nobodyさん
03/06/19 22:38ID:???http://jp.php.net/manual/ja/function.preg-match.php
0106nobodyさん
03/06/19 22:39ID:???0108nobodyさん
03/06/19 22:50ID:???0109nobodyさん
03/06/19 23:00ID:???0110nobodyさん
03/06/19 23:23ID:???fopenではダメなのですかい?
0113nobodyさん
03/06/19 23:39ID:???ttp://www.php.net/manual/ja/function.fopen.php
0114nobodyさん
03/06/20 00:25ID:???allow_url_fopen
http://www.php.net/manual/ja/features.remote-files.php
0115nobodyさん
03/06/20 14:27ID:LThxuIrX次のページにその並び順のまま渡すには、
どんな方法が考えられますか?
ファイルに書き出すしかないでしょうか…
0118nobodyさん
03/06/21 00:51ID:???>>116-117の補足
shuffle($arr);
$str = rawurlencode(serialize($arr));
GETのとき
echo "<a href=\script.php?shuffled="{$str}\">xxx</a>";
POSTのとき
echo "<input type=\"hidden\" name=\"suffled\" value=\"{$str\}" />";
SESSIONのとき
書くのめんどくさい。rawurlencodeとかserializeとか不要。
0119nobodyさん
03/06/21 11:11ID:k+R30mgd調べてみると、multibyteってのを入れると、日本語化できる
みたいに書いてあるのですが、
逆を言えば、multibyteを入れないと日本語化できないんでしょうか?
またPerlってどうなんでしょうか?
0121nobodyさん
03/06/21 12:23ID:HF7plXmg先日、フリーのPHPチャットプログラムをダウンロードしてきました。
製作者様がおっしゃるにはそのチャットプログラムは、
改造は規約さえ守れば好きにしていいとの事です。
しかし、その公式ページ以外でそのPHPに関する質問は絶対にしないように
とのことで、しかしながら質問のお返事が戴けません。
そしてわたしは、今回初めてPHPを弄った筋金入りの素人です。
そのPHP内に特定の言語をはじくというソースがあるらしいのですが、
どこがなんなのかもうさっぱりです。さんざん自力でいじり、探しましたが、
なにせhtmlも満足にいじれないわたくしにとって腐海のようです。
解決策とかそれ以前に、わたしはどうすれば良いでしょうか。
製作者様のお答えを根気よく待つべきでしょうか。ここで質問しても
大丈夫なものなのでしょうか。自力でPHPを1からミッチリやり込むべきでしょうか。
0122あぼーん
NGNG0123nobodyさん
03/06/21 12:42ID:iHlRBHxT>そのPHP内に特定の言語をはじくというソースがあるらしいのですが、
意味がわからないな。。言語って英語とか?それともPerlはじくとか?(これも意味不明
できればその配布サイト教えてよ。簡単なら同じ機能ついたの作ってやるから。
0124119
03/06/21 12:50ID:k+R30mgd即レスありがとうございます。
じゃあmultibyteは何の役割をするんでしょうか?
0125nobodyさん
03/06/21 13:18ID:HF7plXmgいえ、まさかそこまでして頂く訳には参りません。
その、これを申すとそのプログラムが特定できてしまいそうなのですが、
いわゆる『人工無能』のついたチャットなんです。
『人工無能』とはAと言えばBと答える、というような法則を覚えさせて
疑似会話が出来るものだと聞きました。
その『人工無能』が、特定の言葉、主に著作権関係の言葉と思われるのですが、
それを全て覚えません。
その機能を外すには、どこのソースを消せばいいのか、という話なのです。
お解りになりましたら、どうぞご助言願います。
0127123
03/06/21 13:35ID:KU8WU14M>その機能を外すには、どこのソースを消せばいいのか、という話なのです。
>お解りになりましたら、どうぞご助言願います
PHPならPHPゆいちゃっとのゆいぼっとかなっとは思うけど…、
とりあえず配布サイトのURL出してくれないとわからないです
0128nobodyさん
03/06/21 13:40ID:???スクリプトによって違うので
何とも言えません。
アドバイスは
PHP入門(エーアイ出版)
をかってPHPを勉強しましょう
ということです。
0129123
03/06/21 13:40ID:KU8WU14M0130あぼーん
NGNG0131123
03/06/21 13:51ID:KU8WU14M原因突き止めてるからちょっと待ってね。
0132nobodyさん
03/06/21 13:55ID:???あやふやな質問にいくらレスしても疲れるだけだっつーの。
0133125
03/06/21 14:00ID:HF7plXmgはい…1から入門するのが一番だとは思っております。
ご推薦の書物を探して読んでみます。ありがとうございます。
>123さん
あああッバレてるッ(泣笑
すみません。結局サイトまで明かす事になってしまいました。
ここであのプログラムの事を質問しても、問題はないのでしょうか?
あのちなみに、『ビートルズ』の実験はどちらでなさったのでしょうか…
わたしが躍起になって調べた結果、経済界要人とスポーツ選手は覚えます。
歌手、有名人、米国のアニメキャラクター、映画のタイトルなんかは総崩れです。
ほんとうに、お手を煩らわせてご免なさい。
ありがとうございます。
0134125
03/06/21 14:03ID:HF7plXmg製作者様はわたくしの無理な質問に散々付き合って下さりました方です。
その製作者様が、わたくしの所為でそう言われては申し訳が立ちません。
どうか、その旨ご理解願えませんか。
0135123
03/06/21 14:04ID:KU8WU14Mなんて処理は何処にも無かったよ。多分原因は他に有ると思う。
0136123
03/06/21 14:08ID:KU8WU14M正式には、利用規約違反にはなっちゃうだろうなぁ…。
でもまぁレイさんも忙しいんだろうし、こっちでバグ見つけて報告するのはダメってわけじゃないから、
とりあえず何処が悪いのか探してみるよ。
ちなみにビートルズの実験は自分のサーバーでやってる
0137125
03/06/21 14:15ID:HF7plXmgそうですか!
あの、ズブの素人が素人脳で考えてしたことは、著作権に触れる言葉を
覚えさせた時にも、datファイル内には追加されているのです。
その上で$no_msgが発動していますから、全てのphp内を$no_msgで検索したんです。
$no_msgに関係するソースはどれを外しても動かなくなりますので、
じゃあそういう仕様なのだろうかと……すみませんほんとうに何にも知らなくて……
でも、著作権に関係する言葉だけを覚えないなんていう
器用なバグがあるのでしょうか。
やっぱり規約違反ですね……どうしよう………
0138123
03/06/21 14:16ID:KU8WU14M勝手に引用して悪いけど、
ボットが『ジョン・レノン』は覚えますが、『ビートルズ』『ポール・マッカートニー』を覚えません………(?。
禁止用語か何かでしょうか。
覚えない単語に共通しているもの、それは「ー」。
ためしにやってみるとわかるよ。
それから言うと、実際には「覚えている」
つまり、データファイルには書き込まれているが、それが呼び出されないのが原因らしい。
これ以上はまだわからない
0139123
03/06/21 14:18ID:KU8WU14Mレイさんがこのスレッドを見てらっしゃるかどうかは知らないけど、
原因見つけてバグ報告する事になっても、とりあえずこの事は黙っておくよ。
0140132
03/06/21 14:22ID:???やってて酷い目にあった経験があったものでw
原因は正規表現とか置換とか?
(スク読んでないけど)
マルチバイトのやつじゃなければ、mb_で試してみるとか。
0141125
03/06/21 14:31ID:???…………解りました………!
びっくりしました。そうだったんですね!なるほど!ほんとだ!
だからミッキーマウスもアーノルド・シュワルツネッガーも
オードリー・ヘプバーンもマリリン・モンローもダメだったんですね!
………アレ?だけどタモリもはじかれます。
すみません本当に。もしレイさんがここをご覧になった暁には、
レイさんの取られます処置に従おうと思います。
こんなに人目に触れる場所なので、遠からず彼もご覧になるかと思いますが……
いろいろ手を尽くして下さって、本当にありがとう。
>132さん
いえ、そもわたくしが全ての元凶ですので………
レイさんに黙ってここに書き込みするのに、後ろ暗いのです。
ほんとうにごめんなさい。
うわあ…だんだん自分がネットの契約違反者になっていく……
ネットの契約書を読むたびにそんな違反は普通に使っててしないだろうと
思っていましたが、初めて解りました。うう。
0143あぼーん
NGNG0144123
03/06/21 14:59ID:KU8WU14Mでも私が修正しようとすると、ややこしいやり方になっちゃう(しか知らない)から、
どう修正するかは、レイさんにおまかせするよ。
とりあえずサポ板に書き込みに逝って来まふ
0145125
03/06/21 15:04ID:???何から何までありがとうございました。
ご恩とご好意、忘れません。
これに懲りて、ちっとは自力でプログラムを弄れるようにお勉強いたします。
…とりあえずわたしも理系学生のはしっこですし(泣
123さん、132さん、本当にありがとうございました。
>142さん
心にズキンと響くイイお言葉ですねがんがれ。
ありがとうございます。がんがります。
0146nobodyさん
03/06/21 15:06ID:???0147123
03/06/21 15:40ID:???ほいじゃね。
0148nobodyさん
03/06/21 16:09ID:3yZp62xoというデータがPOSTされてくるので、既存のログファイルに、
POSTされたIDがあればエラー、なければデータ追加するには
どうすればいいでしょうか。
IDは固定長、dat1~3は可変長のデータです。
0149あぼーん
NGNG0150nobodyさん
03/06/21 16:39ID:???どこで悩んでるの?
0152nobodyさん
03/06/21 17:08ID:VyXOk/2cchomp($temp);
print "$tempが入力されました\n";
}
これだとABCDと入力したら ABCDが入力されました、と出て、
while ($temp = <STDIN>) {
$temp2 = chomp($temp);
print "$temp2が入力されました\n";
}
これだとなぜか、1が入力されました、としか出ないのはなぜですか?(´・ω・`)
0153あぼーん
NGNG0155nobodyさん
03/06/21 21:15ID:???Cでいう
do〜while
と同じような働きをする
ものってありますか?
0157あぼーん
NGNG0158あぼーん
NGNG0159nobodyさん
03/06/21 21:59ID:???0160nobodyさん
03/06/21 22:30ID:???0161あぼーん
NGNG0162nobodyさん
03/06/22 02:42ID:???0163nobodyさん
03/06/22 02:49ID:???0164影
03/06/22 07:56ID:???$hoge = file ( "test.log" );
echo "<table border=1>";
for ( $a = 0 ; $a < count($hoge) ; $a++ ){
echo "<tr>";
for ( $b = 0 ; $b < 5 ; $b++ ){
echo "<td>";
echo "$hoge[$a]";
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
と、やってみますたが、見事に失敗しますた(ウトゥ
0165nobodyさん
03/06/22 10:53ID:???どういう内容のtest.logに対して、どう表示したいの?
for( a ){
for( b ){
echo hoge( a );
}
}
になってるから、bの回数分(5回)だけ同じ$hoge[$a]を1行に出力するよ。
0166nobodyさん
03/06/22 13:16ID:v4BkkZfH456
789
10
みたいに表示したいので、半日悩んだ末↓でやったらとりあえず、上手くいったんだけど、
なんかしっくりこない。(echo"$k";が2回あるあたり)
もっとスマートなやり方ありますか?
$k=1;
for ($i=1;$i<=4;$i++) {
if ($k==10) {
echo"$k";
break;
}
for ($j=1;$j<=3;$j++) {
echo "$k";
$k++;
}?><br><?php echo ("\n");
}
0167nobodyさん
03/06/22 13:24ID:???あんた・・・
for($i=1;$i<=10;$i++){
echo $i;
if($i%3==0)echo"<br>\n";
}
0168PHPDQN
03/06/22 13:31ID:???reset($hoge);
echo "<table>\n";
foreach ($hoge as $key->$val) {
if ($key % (NUMCOLS - 1) == 0) {
echo "<tr>\n";
}
echo "<td>".$val."</td>\n";
if ($key % NUMCOLS == 0) {
echo "</tr>\n";
}
}
echo "</table>\n";
0169nobodyさん
03/06/22 13:45ID:???やさしいね。でもそこはかとなく間違ってる。
×foreach ($hoge as $key->$val) {
○foreach ($hoge as $key=>$val) {
×if ($key % (NUMCOLS - 1) == 0) {
○if ($key % NUMCOLS - 1 == 0) {
◎if ($key % NUMCOLS == 1) {
あとecho "</table>\n";の前に
$n = count($hoge) % NUMCOLS;
if ($n > 0) {
for ($i = 0; $i < $n; $i++) {
echo "<td></td>\n";
}
echo "</tr>\n";
}
かな。
0171166
03/06/22 14:04ID:???ありがと
こんな簡単に出来るのか
>>168-169
これはテーブルで表示できるのかな
おれのレベルじゃまだ理解できない・・・
ちょと試してみます
0172nobodyさん
03/06/22 15:44ID:TMm6ngKF普通にリロードできるようにするにはどうやるの?
0175nobodyさん
03/06/22 16:23ID:???172じゃなくて 173だった。
0177影
03/06/22 21:01ID:???サンクスコ
<table border=1>
<td>ほげ1
</td>
</tr>
<tr>
<td>ほげ2
</td>
<td>ほげ3
</td>
<td>ほげ4
</td>
<td>ほげ5
</td>
<td>ほげ6
</td>
</tr>
<tr>
<td>ほげ7
</td>
<td>ほげ8
</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
てな具合に、最初の行が上手く動作してくれないんだけど、原因が見当つかない
0178PHPDQN
03/06/22 22:40ID:???×if ($key % (NUMCOLS - 1) == 0) {
○if ($key % NUMCOLS - 1 == 0) {
◎if ($key % NUMCOLS == 1) {
$key == 0 の時にもTRUEになるためには一番上が必要でした
0179影
03/06/23 04:05ID:???foreach ($hoge as $key=>$val) {
if ($key == 0) {
echo "<tr>"."\n";
}elseif ($key % NUMCOLS == 1) {
echo "<tr>"."\n";
}
とか、やってもダメですた・・・(ウトゥ
<table border=1>
<tr>
<td>ほげ1
</td>
</tr>
<tr>
<td>ほげ2〜
最初の<tr>が出現したのみ。
1行目だけなんで・・・(つД`)
0180
03/06/23 04:06ID:vjy3Tk6shttp://strangeworld-honten.com/cgi-bin/bbs.cgi
0181nobodyさん
03/06/23 04:12ID:???0182あぼーん
NGNG0183PHPDQN
03/06/23 04:23ID:???foreach ($hoge as $key=>$val) {
if ($key % (NUMCOLS - 1) == 0) {
echo "<tr>"."\n";
} elseif ($key % NUMCOLS == 1) {
echo "<tr>"."\n";
}
0184あぼーん
NGNG0185影
03/06/23 08:30ID:???背中に手が届きそうで届かない!
漏れにプログラムは向いてないんか!?
>>183
それだと、$key が 8 になった時も
if ($key % (NUMCOLS - 1) == 0) にマッチして<tr>が出てくるべさ。
するとテーブルが崩れてしまうべさ。
昨日>>168見た時は、サパーリだったけど、今は何をどうしたらいいかが
解ってきたような気がする・・・
後は、何とか自力で・・・出来たらいいなぁ〜(´¬`)
ところで、今回は定数に5を代入してるけど、これ変数じゃだめぽ?
あっ、NUMCOLS-1 とかしてるから変数じゃマズイか・・・
yata-でけた〜!!!!!!
0186影
03/06/23 08:32ID:???reset($hoge);
echo "<table border=1>"."\n";
foreach ($hoge as $key=>$val) {
if ($key == 0) {
echo "<tr>"."\n";
} elseif ($key % NUMCOLS == 0) {
echo "<tr>"."\n";
}
echo "<td>".$val."</td>"."\n";
if ($key % NUMCOLS == 4) {
echo "</tr>"."\n";
}
}
$n = count($hoge) % NUMCOLS;
if ($n > 0) {
for ($i = 0; $i < NUMCOLS-$n; $i++) {
echo "<td> </td>"."\n";
}
echo "</tr>"."\n";
}
echo "</table>"."\n";
0188影
03/06/23 12:41ID:???$key % NUMCOLS == 1
だと、$key が、1,6,11・・・の時にマッチしてしまい、出したい所に<tr>が出ない。
なのでやっぱりここは
$key % NUMCOLS == 0
if ($key % NUMCOLS == 4)
の部分は、5列って事しか考えていなかった為、ちょい修正して
if ($key % NUMCOLS == NUMCOLS-1)
>>169が書いてくれた空セル追加は
for ($i = 0; $i < $n; $i++)
だと、例えば余剰が4の時は、4つ空セルを作ってしまう。
空セルは列の数から余剰を引いた分だけ欲しいので、
for ($i = 0; $i < NUMCOLS-$n; $i++)
こんな厨な漏れに付き合って下さった PHPDQN 様、ありがとうございました!
0189影
03/06/23 12:43ID:???$filename = "test.log";
$hoge = file ($filename);
define("NUMCOLS",5); // 列の数
reset($hoge);
echo "<table border=1>"."\n";
foreach ($hoge as $key=>$val) {
if ($key == 0 || $key % NUMCOLS == 0) {
echo "<tr>"."\n";
}
echo "<td>".$val."</td>"."\n";
if ($key % NUMCOLS == (NUMCOLS-1)) {
echo "</tr>"."\n";
}
}
$n = count($hoge) % NUMCOLS;
if ($n > 0) {
for ($i = 0; $i < NUMCOLS-$n; $i++) {
echo "<td> </td>"."\n";
}
echo "</tr>"."\n";
}
echo "</table>"."\n";
0190nobodyさん
03/06/23 16:28ID:???$c += $c % 5
for ($i = 0, $j = 0, $td = '', $tr = ''; $i < $c; $i++, $j++) {
$v = isset($hoge[$i]) ? $hoge[$i] : " ";
$td .= sprintf("<td>%s</td>", $v);
if ($j == 4) {
$tr .= sprintf("<tr>%s</tr>", $td);
$j = -1;$td = '';
}
}
printf("<table>$s</table>", $tr);
0191nobodyさん
03/06/23 17:00ID:ghLrcRD3ヒアドキュメントに関して教えて欲しいのですが、
ヒアドキュメント内に、式、というか関数を書き、その結果を
使いたいのですが、うまくいきません。
$buf = <<<EOD;
a = {$db->query($_POST['a'])},
b = ### 以下同じように...
EOD;
のような感じに書き、print $buf; で
a = 値, b = 値 となるようにしたいのですが、
Parse error: parse error, expecting `'}'' in ...
となってしまいます。ヒアドキュメントではなくて、
$buf .= "a = ".$db_con->quote($_POST['a']).",";
と続けていくしかないでしょうか?
0192影
03/06/23 19:16ID:???↑この行ってセミコロンいるんですか?
0193191
03/06/23 19:22ID:ghLrcRD3すみません。手コピーした時にミスりました。
セミコロンいらないです。
書き写しをミスっただけなので、セミコロンは本質的な
問題じゃありません。すみませんです。
0194影
03/06/23 19:33ID:???a → $a
, → ;
今の漏れにはこれくらいしかミスがハケーンできず。
あとは、偉い人よろ。
0195nobodyさん
03/06/23 20:41ID:???$buf = <<<EOD
EOD;
~ このセミコロンはだめだと思うが?
EOD
;
こうだろ。
$buf = <<<EOD;
EOD
でも良いとおもうが
0196nobodyさん
03/06/23 20:49ID:???つーかそれ以前にヒアドキュメント内には関数を書けんわけだが。
「以下同じように」なことをしたいんならwhile、for、foreachのどれかでしょ。
0198191
03/06/23 21:05ID:???ども。書けない事がわかったのでヒアドキュメントを使うのを
やめられます(^^;
>>194, 197
いえいえ。アクションを起してもらえた事がうれしいので、
感謝しています。ありがとう。
0200nobodyさん
03/06/24 00:57ID:???0201nobodyさん
03/06/24 03:00ID:/ljDW6SS返信機能も付けたい・・・↓
ttp://blue.ribbon.to/~goonet/pppbbs.php
どうしたらいいですか?
0202nobodyさん
03/06/24 03:21ID:???アホな質問であっても詳しく質問しろよ。 ネタはおもしろく書けよ。
0203nobodyさん
03/06/24 12:56ID:bE/a8saZ$after = array('aaa'=>'AAA','bbb'=>'BBB');
上の配列を下配列に変換するにはどうしたら良いでしょうか。
クラスの中でコールバックする時にクラス内の関数を指定するには
どうしたらよいですか?
class::function,$this->functionともにダメでした。
0204PHPDQN
03/06/24 19:27ID:???> $before = array('aaa','AAA','bbb','BBB');
> $after = array('aaa'=>'AAA','bbb'=>'BBB');
> 上の配列を下配列に変換するにはどうしたら良いでしょうか。
$i = 1;
foreach ($before as $key=>$val) {
if ($i % 2 == 1) {
$hoge = $val;
} else {
$after[$hoge] = $val;
}
$i ++;
}
> クラスの中でコールバックする時にクラス内の関数を指定するには
> どうしたらよいですか?
> class::function,$this->functionともにダメでした。
class::function()
$this->function()
0205nobodyさん
03/06/25 11:50ID:???function arrayToHash ($array) {
if (!is_array($array)) return false;
$hash = array();
$m = count($array);
for ($n=0;$n<$m;$n++) {
if ($n % 2) {
$hash[$array[($n-1)]] = $array[$n];
} else {
$hash[$array[$n]] = "";
}
}
return $hash;
}
こんなかんじかな?なんとなくだけどもっと良い方法が在るかも
クラス内でのコールバック関数を使うんだったら、create_function()を使うか
array($this,'method_name')でソメッドを指定してやること
ttp://jp.php.net/manual/ja/function.preg-replace-callback.php
を見れば参考になるよ(Notesのところもね)
0206nobodyさん
03/06/25 12:13ID:TNz4QTlp$a=array(1,2,3);
$b;
hoge();
piyo();
function hoge(){
global $a,$b;
$b = &$a;
var_dump($b);
}
function piyo(){
global $a,$b;
var_dump($b);
}
でpiyoのdumpがNULLなのはなぜですか?
0207nobodyさん
03/06/25 15:15ID:RiMKFAt2サンプルソースより、多々のサイトを閲覧し意味を求めているのですが、
解釈があっているかどうか・・・
session_name('2ch_session');
セッション名ですよね?
session_cache_limiter('nocache');
ページをキャッシュをさせるかどうかの意味だと思うのですが、
public、nocache、privateの違いがいまいちわかりません。
session_cache_expire(30);
limiterでキャッシュする場合、30分とかという
時間の長さですよね
session_start();
ここからセッションが始まる
何冊か本を購入したのですが、sessionのやり方は書いてあっても、
サンプルスクリプトなどにsession_cache_limiter();
などど唐突に書いてあり、意味の解説がなされてありませんので、
自分ながらに解釈してみました。どこが間違っているでしょうか?
0208nobodyさん
03/06/25 16:10ID:???実はマニュアルは存在しない、私の想像の産物に過ぎないのであろうか・・・
この理不尽な質問にもそう考えるとすべての辻褄が合う。
0209nobodyさん
03/06/25 16:36ID:???そんな事、たらたら書くんだったら教えてあげ。
http://jp.php.net/manual/ja/ref.session.php
おい、207これでわかるか?分かんなかったらまた質問し。
0210nobodyさん
03/06/25 16:39ID:+bFcwMX4マニュアルのまんまの参考書って多いよね。
マニュアルのほうが分かりやすいし、最新、タダなのにねぇ。感謝>doc.group
>なんでマニュアル読もうとしないのだろうか?
考えられる理由は、マニュアルのトップページ見ても
1) XCIIIセッション処理関数(session)
に辿り着く前に面倒になる
2) search for [ ] in the [function list]
の英語が分からない
3) 2)の submit ボタン が 分かりづらい
4) manual の 存在に気づいてない
& このスレの最初すら読んでない
& 基礎からやるのはダルイ
ぐらいかな。
0211ereg質問者
03/06/25 17:12ID:???本を見ただけではわからないので質問させて下さい。
現在あるソースを見ながら何をしているのかを調べているのですが、
eregを使っている部分で分からなくなってしまうので
解説してもらえないでしょうか?
具体的には以下のようなコードが書かれています。
------------------------------------------------
ereg( "([0-9]{1,2}) (.+)", $ini_file, $regs ) )
ereg( "\*", $regs[2])
ereg_replace( "\*", "", $regs[2] )
ereg_replace( "\*", "(.*)", $regs[2] )
ereg("\"[EGOPS]{2,3}T ".$ini[$ii][1]."(.*) HTTP", $file, $regs)
ereg( $param[$ss], $log_url )
eregの部分だけなので繋がりがなく分かりずらいと思いますが
よろしくお願いします。
0212nobodyさん
03/06/25 17:20ID:???3行目で $b に値が設定されていないから。アホか。
しかしスコープ間でリファレンスを受け渡しする際の挙動制御は確かにややこしいと思う。
http://www.php.net/manual/ja/language.variables.scope.php
http://www.php.net/manual/ja/language.references.spot.php#references.global
と、01-Aug-2001 05:07 の補足。
( http://www.php.net/manual/ja/migration4.variables.php )
( http://www.php.net/manual/ja/language.references.unset.php )
>208
ある程度phpに習熟しているのにマニュアルを読まない者が何割か残り続けるところからすると、
マニュアルを読むのにはいくつか「慣れ」が必要なポイントがあると思う。
慣れれば利用は易いが、慣れることができなかった場合はその先もずっと読まない。
マニュアルはphpに残った最後の敷居か。
0213あぼーん
NGNG0214nobodyさん
03/06/25 17:37ID:???0215nobodyさん
03/06/25 17:39ID:+bFcwMX4ふいてしまったじゃないか!
0216212
03/06/25 18:04ID:???ユーザ定義関数の内から直接グローバルスコープの変数にはアクセスできないが、
global宣言をしていれば、グローバルスコープでも変更が反映される。
global宣言は分かると思うけど、関数内(ローカルスコープ)の変数に
グローバルスコープの変数へのリファレンスを渡すもの。
( マニュアルいわく、global $a; は $a =& $GLOBALS['a']; と同義 )
同じように、ローカルスコープで作られた変数はグローバルスコープからは変更できない。
この場合はstatic宣言をすると、グローバルスコープへ関数内の変数を持ち出すことが出来る。
ただ、>206の人がはまってるように、ローカルスコープ(関数内)で作られたリファレンスは
static宣言してもグローバルスコープへは持ち出せない。関数処理が終われば消滅。
そのような感じ。
0217nobodyさん
03/06/25 18:26ID:???まあ間々あることか、、
0218あぼーん
NGNG0219あぼーん
NGNG0220nobodyさん
03/06/25 19:40ID:???教えて頂けませんか?
0222nobodyさん
03/06/26 02:14ID:ZsWdiO4a0225207
03/06/27 02:26ID:GX1Z4ukeマニュアルを熟知しました。
その上で質問です。
セッション変数にデータを追加する際、
session_start();
session_register("user_id");
$user_id = "giko";
をヘッダに使用すると、別のページでも、user_idに格納された
データを使うことができますが、
本に書いてあったのは、
session_start();
$user_id = "giko";
$_SESSION["user_id"] = "user_id";
とあり、
$_SESSIONは4.1.0から追加された配列です。とあります。
~~~~~
$_SESSIONで、PHPマニュアルで探したのですが、ちょっと見つけることができませんでした。
ということは、少量の変数を用いる際は、上の例で、
配列を使いたいときは、下の例でいいということなんでしょうね・・・
なんか、まだ自信がないのですが、
推奨とかありますか?
0226とも
03/06/27 02:34ID:8zlvqcC5http://www1.free-city.net/home/s-rf9/page005.html
0227nobodyさん
03/06/27 02:49ID:???0228207
03/06/27 02:58ID:???自己レスです。
http://jp.php.net/manual/ja/ref.session.php
に普通に乗っていました。
グローバル変数として扱えるのですね。
検索の仕方が悪かったようで。
すいませんでした。
0229nobodyさん
03/06/27 05:44ID:???0230あぼーん
NGNG0231あぼーん
NGNG0232あぼーん
NGNG0233nobodyさん
03/06/27 11:18ID:oE4Jdn/I単純に、ファイル名(日付になっています)に並べたいです。
以下の方法で一覧を表示したときに何順にならんでいるのでしょうか。
当方の確認した環境では、全く順不同でした…
while ( $filename = ReadDir( $handlerDir ) ) {
if ( $filename != '.' && $filename != '..' ) {
print $filename;
}
}
よろしくです。
0234あぼーん
NGNG0235nobodyさん
03/06/27 11:48ID:9q2Y1uRy#いったん配列に入れて
if ( $filename != '.' && $filename != '..' ) {
$files[] = $filename;
}
#ソートする
sort($files);
#ポインタを先頭に
reset($sort);
#表示
foreach($files as $filename) {
print $filename."<br>\n";
}
0236nobodyさん
03/06/27 13:37ID:oE4Jdn/Iありがとうございます。
大変参考になりました。
0237あぼーん
NGNG0238あぼーん
NGNG0239あぼーん
NGNG0240nobodyさん
03/06/27 23:59ID:???0241nobodyさん
03/06/28 08:30ID:WrETl/geWarning: SAFE MODE Restriction in effect. The script whose uid is 〜
というエラーが出てしまいます。
FTPで最初からフォルダを作っておくとちゃんと出来ます。
どうすればよいんでしょうか。
0243nobodyさん
03/06/28 10:05ID:???0244nobodyさん
03/06/28 10:58ID:???まずはやってみれ。もちろんローカルで。
0245nobodyさん
03/06/28 12:09ID:???知ったか君はは試したこともなくてどうなるか自分も解らないのに「試してみろ」って言ってくる。
お前もまずはやってみれ。後学のために。もちろんローカルで。
0246!244
03/06/28 12:56ID:???訊くって言う発想がよくワカランなぁ。
余計にマンドクサくね?
>>245
>自分も解らないのに
ってのは分かんないじゃん
>>243が何にも試してないんだろうなって臭いはプンプンするが。
そもそもマヌアルにはdefine()の使いどころの注意書きは見当たらないけど、
心配しだす動機は何なんだろ
テスト環境用意してないのかな?
いちいちマヌアルに書いてない事まで心配しだしたらコーディング進まねーYO!
俺は安全な環境で誤動作上等って感じでコード書きまくってからテストしてる。
やっちゃダメな事はローカルで実体験しまくった方が身によく付くYO
#まだPHP弄りだしたばかりで、PHPで定数使ったことねぇんだけど
#適当なソースにdefine()とその定数をechoする行追加してみたけど
#何の問題もなさそうだたーよ
0248246
03/06/28 13:06ID:???何か無粋なやっちゃな
釣りとか釣られたとかくだらねー
0250221
03/06/28 16:28ID:???いやー>>220が頓珍漢な事を言ってるから
こちらも頓珍漢な答えで茶化したわけだが
何故無理してまでヒアドキュメント使おうとするのかわからん
まぁたしかにタチ悪かったねスマン
0252246
03/06/28 17:47ID:???>>250と結びつける意味がワカラン
ますますくだらねー
ただでさえジメジメしてうっとおしい時期なんだからさ
そういうジメジメしたカキコはやめようや
>>249
定数とかは分かりやすい場所に書いたほうが良いよ
ファイルの前の方とか、定数だけ書いたファイルをインクルードするとか
散在してると後で見つけにくくなるから
後、繰り返しになるけど、コードの落とし穴とかは(テスト環境で)実体験しといた方が楽だよ
ちょっとした疑問程度なら自ら動かしてみてくらはい
見聞きしただけでバグ無しコード書けるくらいに頭の回転がはやい人なら別だろうけど
0254nobodyさん
03/06/29 01:35ID:???列挙型とか。
0255nobodyさん
03/06/29 14:32ID:rZczdmH2フォームから入力したテキストに[\](バックスラッシュ)が
入ってしまうんです.
調べて[magic_quotes_gpc]の値を[ini_set]でOFFにすればいいと
いうのがわかったのですがこれでも回避されませんでした.
しかたなしに[stripslashes]で回避しているのですが
もっと根本的に直せないでしょうか?
ちなみに[magic_quotes_runtime][magic_quotes_sybase]の
値も全てOFFです.
0257255
03/06/29 15:52ID:rZczdmH2ini_set('mbstring.http_output', "EUC-JP");
を実行して[EUC-JP]に変換しています.
この辺が怪しいですか?
0260255
03/06/29 17:21ID:rZczdmH2[stripslashes]で回避はできますができれば根本から
直したいです.
0261nobodyさん
03/06/29 17:49ID:???ini_setでmagic_quote_gpcは設定できないように書いてあるようにみえる。
0262nobodyさん
03/06/29 20:30ID:???合ってるよ(一応PHP4.3.2のソースでも確認)
http://jp.php.net/manual/ja/ref.info.php#ini.magic-quotes-gpc
で、PHP_INI_PERDIRとPHP_INI_SYSTEMなので
http://jp.php.net/manual/ja/function.ini-set.php
の説明どおり、スクリプトの中のini_set()では変更できない。
0263nobodyさん
03/06/29 22:53ID:???261あってるね。
0264255
03/06/30 00:28ID:8Khs5mrJ書き忘れてましたがPHP4.1.2です.
再起動しないとだめなんですね…
でも
ini_set('magic_quotes_gpc', 0);
phpinfo();
をやるとちぇんとLocal ValueではOFFに
なってるんですがこれはあくまで設定値ということなんですね…
ありがとうございました.
0265255
03/06/30 00:32ID:8Khs5mrJレンタルサーバの場合などみなさん
どうしているんでしょうか?
いちいち[stripslashes]の処理をさせてるんでしょうか?
0266nobodyさん
03/06/30 00:48ID:???俺はこんな感じのことをしてます。
---------
if (get_magic_quotes_gpc() == 1) {
switch ($_SERVER["REQUEST_METHOD"]) {
case "POST":
while (list($key, $val) = each($_POST)) {
if (! is_array($val)) {
$_POST[$key] = stripslashes($val);
}
}
break;
case "GET":
while (list($key, $val) = each($_GET)) {
if (! is_array($val)) {
$_GET[$key] = stripslashes($val);
}
}
break;
}
}
0267nobodyさん
03/06/30 01:50ID:???$_POST = array_map('stripslashes', $_POST);
$_COOKIE = array_map('stripslashes', $_COOKIE);
これ最強。
0268nobodyさん
03/06/30 01:56ID:???$_GET = array_map('r_stripslashes', $_GET);
function r_stripslashes($value) {
if (is_string($value)) {
$value = stripslashes($value);
} elseif (is_array($value)) {
$value = array_map('r_stripslashes', $value);
}
return $value;
}
0269266
03/06/30 02:48ID:???0270nobodyさん
03/06/30 04:09ID:8KMUcild0271あぼーん
NGNG0273nobodyさん
03/06/30 05:11ID:OSudLwdSアカウント名に、半角英数小文字のみ
abcdefghijklmnopqrstuvwxyz0123456789_-
だけにしたいのです。
フォームから上記以外の文字を入力された場合、
駄目!って言いたいんだけど、
正規表現は難しそうなので、
if ( mb_convert_kana($account,"akh") != $account ) { echo "駄目!!"; }
で行こうと思ったんだけど、
全角の漢字とか、スペースを入力されてしまいそう・・・
記号もたくさん入力されそう・・・
なんかいい方法ありますか?
0274nobodyさん
03/06/30 06:52ID:???ちょっと分からなくても正規表現やっておくといいと思うよ。
$a がフォームから受け取った文字
ereg("^[a-z0-9_-]+$", $a)
これで期待通りの結果が得られると思うけど、意味は自分で調べるとよろし。
それよりお前ら、PHP5.0.0 Beta1なんてのが表舞台に出てきましたよ。
0275nobodyさん
03/06/30 10:12ID:aQ17FmN/EUCで書かれたファイルで作成するので
$line = mb_convert_encoding($line,"ISO-2022-JP","EUC-JP");
$subject = mb_convert_encoding($subject,"ISO-2022-JP","EUC-JP");
mail($mail,$subject,$line,"From: hoge@yahoo.co.jp\r\nReply-To: hoge@yahoo.co.jp");
としています。
送られてきたメールを見るとタイトルは文字化けしているのですが、
メッセージの方は問題無く表示されています。
なにが問題なのでしょう。
0276255
03/06/30 10:31ID:JZyVHkmBありがとうございます!
m(_ _)m
べんきょうになりますな.
0278275
03/06/30 11:00ID:???mail()の個所をmb_send_mail()と変更しただけで、
mb_send_mail()を使用しましたが、
届いたメールは件名はあるがメッセージ自体が無い状態で届いてしまいました。
これもまたなぜなんでしょう。
0280275
03/06/30 11:35ID:???操作自体も同じですし。
0282nobodyさん
03/06/30 12:26ID:???$subject = mb_convert_encoding($subject,"SJIS","EUC");
$subject = '=?ISO-2022-JP?B?'.base64_encode($subject).'?=';
してから、mail関数で送信してみ
0284nobodyさん
03/06/30 16:01ID:???fileで読み込むと全行読み込むから効率が悪いと思うのです。
0285あぼーん
NGNG0286nobodyさん
03/06/30 17:43ID:???0288あぼーん
NGNG0289nobodyさん
03/06/30 22:15ID:???0290nobodyさん
03/07/01 11:51ID:???0292nobodyさん
03/07/01 21:20ID:???Shift-JISのファイルをEUCに変換できますか?
↓みたいなやつ作ったんですけど、データファイルがShift-JISだったんで読み込めない(汗
<?php
$data = file ("$file");
print $data;
?>
0293nobodyさん
03/07/01 22:15ID:???mb_convert_encoding(文字列,出力文字コード,入力文字コード)
で文字列ごとに変換しないとだめなのかも
PHPはじめて10日くらいなので詳しくは知りませんが
0295nobodyさん
03/07/01 22:26ID:???"送信"を押しても何も表示されません。
どこが悪いのか・・・
<FORM action="<?php echo($_SERVER["PHP_SELF"]) ?>" method="POST">
なまえ:<INPUT type="text" name="yourname"><br>
<input type="submit" name="SUBMIT" value="送信"> <input type="reset" name="reset" value="リセット">
</FORM>
<?php
if ($SUBMIT != "" ) {
echo ($yourname);
}
?>
0297295
03/07/01 22:52ID:???ありがとうございます
>>295はPHP入門という本を参考にしてます
一番やさしそうだったんで買ったんですけど、たしかに内容古いかも
$_REQUESTを使うのかな?
もうちょっと試してみます
0299nobodyさん
03/07/01 23:26ID:???0301295
03/07/02 00:07ID:???echo ($_REQUEST["yourname"]);
}
でようやく出来ました
ありがとうございましたー
0303nobodyさん
03/07/02 01:52ID:???まちがっちゃーいないんだけど
$_REQUESTはGETとPOST、COOKIE、FILESを区別しないから
セキュリティーホールになりやすい。
つーかなんで>>299の優しさをふいにするかなあ。
$_POST['SUBMIT'],$_POST['yourname']にしる!
0306あぼーん
NGNG0307nobodyさん
03/07/02 07:06ID:???ごめんごめん。でも...それ...古いし。
4.1以降でも非推奨だしPHP5では使えんでしょ?(憶測
スルーしたのは素直に悪かったと思ふ。
0308nobodyさん
03/07/02 08:22ID:???PHP5では使えなくなるのか・・・
0309nobodyさん
03/07/02 15:03ID:iDV7N0wg0310309
03/07/02 15:14ID:???0311あぼーん
NGNG0312nobodyさん
03/07/02 15:39ID:???0313K
03/07/02 15:55ID:+4nJpvGg0314あぼーん
NGNG0315あぼーん
NGNG0316nobodyさん
03/07/02 20:54ID:???0317301
03/07/02 21:24ID:???あわわ・・・
ttp://search.net-newbie.com/php/language.variables.predefined.html
↑にもユーザ入力機構によりスクリプトに入力される全ての変数で、 このため、信頼することができません
ってありました。
以後、気をつけます。
0318404.HDML ◆StMXML.EXE
03/07/03 03:55ID:???if(ereg(一致条件,評価する変数,$hoge)){ # 眠いので勘弁して
die(count($hoge));
}
一致条件にマッチした箇所が配列として$hogeに入るので、
後は$hogeをcount()関数で数える、という事を思いついた。。
0320nobodyさん
03/07/04 00:29ID:WD3uwLUpPHPから、linuxの認証を使い回すことは可能でしょうか?
また、その際、パスワードの変更なども可能でしょうか?
0322nobodyさん
03/07/04 09:14ID:DNjraE66リサイズは出来たんですけど、減色の方法がわかりません・・。
0323nobodyさん
03/07/04 14:36ID:???$headers=getallheaders();
$ua = $headers['User-Agent'];
としています。
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"が欲しいのですが
"Mozilla/4.0"
までしかデータベースに入りません。どうすれば良いのでしょうか。
ローカルで試しています。PHP 4.3.2 Apache/1.3.24
ご教授願います。
0324nobodyさん
03/07/04 16:03ID:ykyCw+ELPHPからFlashに送るためには
どういう風にスクリプトを書けばいいんでしょう?
Flash側はsendAndLoadなどで送られてきた
データを受け取ることはわかっているのですが
PHPからどう出力すれぱいいのかわかりません。
(例えばecho ($hoge)などで出力するわけじゃないですよね…)
あともうひとつFlashからPHPに変数を送る際に
返り値もなにも受け取らず、ターゲットウインドウもなし
ただ単純に変数を送るだけってことはできるんでしょうか?
sendで送信後に送り先の「〜.php」が開いてしまいます。
↑板違いなFlash含んでて申し訳ないです。
0325nobodyさん
03/07/04 16:22ID:???0327nobodyさん
03/07/04 21:18ID:???$in{'FROM'} =~ s/◆/◇/g;
if ($in{'FROM'} =~ /#(.+)/){
my $key = $1;
my $salt = substr($key."H.", 1, 2);
$salt =~ s/[^\.-z]/\./g;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$trip = ' ◆</b>' . substr(crypt($key, $salt), -8) . '<b>';
はどうすればよいでしょうか?
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
でつまってしまいました。厨な質問で申し訳ないですがよろしくお願いします
0330nobodyさん
03/07/04 22:14ID:???0331nobodyさん
03/07/04 22:15ID:2pHtYtXT駄目ならすいませんが誘導ください。
phpBBをインストールし、Global Announcement Modというものを新しくインストールしたのですが、なにも項目も追加されてませんし、「重要」トピックなどで投稿しても全てのフォーラムに反映しません。
コレはどうすれば宜しいのでしょうか?
宜しくお願いします
0332名無し
03/07/04 22:26ID:P/UD1L9mエラーが出てしまいます。下記の記述で間違っている個所があるのでしょうか?
$file="file.dat";
if(!file_exists($file)){
$fp = @fopen($file,"w") || die("error");
flock($fp,LOCK_EX);
$print="aaa";
fputs($fp,$print);
flock($fp,LOCK_UN);
fclose($fp);
}
ホントに初歩的な質問ですみません。。。
ご回答お願いします。
0334nobodyさん
03/07/04 23:11ID:???>$fp = @fopen($file,"w") || die("error");
var_dump($fp); してみてください。
これだと、たぶん $fp がリソースではなくbool型になってる。
正しくは $fp = @fopen($file,"w") or die("error");
こうすれば = が処理される前に $fp が評価されるはず。
演算子の優先順位の項目を参照のこと。
質問するときはどこでどんなエラーが出てるのかちゃんと書けって
いつも言ってるだろこのバカチンが !!
0335nobodyさん
03/07/04 23:13ID:???評価されるのは $fp に入る前の fopen(); の結果ね。
0337nobodyさん
03/07/04 23:31ID:???0338nobodyさん
03/07/04 23:49ID:???This will supress the injection of error messages into the data stream output to the web client.
0339nobodyさん
03/07/05 00:34ID:???0340336
03/07/05 00:42ID:???対象行がdelete掛けられた場合の処理(逃げ)は必要だよ
0341nobodyさん
03/07/05 04:20ID:???0342nobodyさん
03/07/05 08:20ID:???>こうすれば = が処理される前に $fp が評価されるはず。
ダメじゃん・・・。
0344nobodyさん
03/07/05 10:06ID:???$fp = @fopen($file,"w");
if ($fp) {
#処理
}else {
die ("error");
}
0347323
03/07/06 13:15ID:???フィールドのタイプはtext、文字数は設定なし、取り出してるクエリは
SELECT *
FROM `テーブル名`
です。
よろしくお願いいたします。
0348あぼーん
NGNG0350あぼーん
NGNG0352323
03/07/06 20:28ID:kEFDIfkpレスありがとうございます。
print "<input type=\"hidden\" name=\"ip\" value=$ip>\n";
print "<input type=\"hidden\" name=\"ua\" value=$ua>\n";
のような形でフォームから普通に配列に入れてテーブルに追加しているつもりだったのですが
DWMXを使ってしまったのでよく解らなくなりました。下記のあたりはどうすればよいのでしょうか。
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
0353あぼーん
NGNG0355名無し
03/07/07 16:56ID:+XnYDKVbようやく解決しました。「or」に直し、if文をなくすとOKでした。
ありがとうございました。
PS.>>337 @fopen=>の@は、エラー抑止させるという機能です。
0356あぼーん
NGNG0357nobodyさん
03/07/07 18:33ID:???調べたところあんまり評判がよくないような気がします。
他にクールなファイルロックの手段ってありますか?
0358nobodyさん
03/07/07 18:37ID:???【Perl】ファイルロック(排他処理)について語ろう
http://pc2.2ch.net/test/read.cgi/php/1024795138/
0359nobodyさん
03/07/07 21:58ID:???Windows2000Professional sp3
Apache2.0.46
PHP 4.3.2
Firebird 1.5RC3
でPHPソース EUC-JP
データベース EUCJ_0208
magic_quotes_gpc off
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
;mbstring.script_encoding = SJIS
でquery結果を Print するとデータベースから取り出した
漢字の 井(0x88,0xE4) が 遺・(0x88,0xE2,0xE1) に
なるんだが、どこがまずいのかさっぱりわからん…
へるぷみー
0360nobodyさん
03/07/08 02:21ID:???0361359
03/07/08 09:14ID:???どうもデータベースの取り出し結果が必ず SJIS になってるような…。
ソース DB
EUCJ EUCJ 文字化け
EUCJ SJIS 文字化け
SJIS SJIS ○
SJIS EUCJ ○
出力設定の変更では何も変化なし。
0362nobodyさん
03/07/08 12:11ID:jypS6q60msi形式のファイルをアップロードするとコピーされません。
他の形式のファイルでは問題なくアップロードできるのですが、
何か問題があるのでしょうか?
0363nobodyさん
03/07/08 12:58ID:???他の原因を探ってみては?
・ファイルサイズ
・自分でmsiを拒否ってた。
・ブラウザで存在確認しただけだった。
・そもそもmsiの中の人など居なかった等々
0364nobodyさん
03/07/08 13:18ID:jypS6q60いや、拡張子でなくバイナリ的にmsiが何か拒否られてるみたいなんです。
ためしにpdfファイルを拡張子msiに変えて試したら正常にコピーされました。
逆にmsiファイルをpdfに変えてもダメ。他のmsiファイルで試してもダメ。
LAN内の端末なので実際にファイルがコピーされてないことも確認してます。
0365nobodyさん
03/07/08 13:30ID:syho/6wx0366323
03/07/08 14:24ID:???フォームから入力するのをやめたらできました。
0367nobodyさん
03/07/08 19:13ID:???そこで、PHP4.3.2にGD2.0.15のGIFサポート版を
リンクしてコンパイルしようとするのですが、PHPのmakeで
エラーがでてしまいます。どなたか、実践された方居られませんか?
GDの ./configure
./configure \
--with-png=/usr/local --with-freetype=/usr/local --with-jpeg=/usr/local --with-xpm=/usr/X11R6
PHPの ./configure
./configure \
--enable-zend-multibyte --enable-mbstring --enable-zend-multibyte --enable-calendar --with-imap=/usr/local/lib \
--with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs --enable-exif \
--with-gd=/usr/local --with-zlib-dir=/usr/local/include \
--with-png-dir=/usr/local --with-jpeg-dir=/usr/local --with-freetype-dir=/usr/local --with-xpm-dir=/usr/X11R6 --with-zlib-dir=/usr/local
そのままでは make中
ext/gd/gd.c に undefined reference なエラーが発生するので
展開したGDの gd.* gd_gd.* gd_io.*を ext/gd/ にコピーしてmakeすると
main/internal_functions_cli.c に undefined reference to `gd_module_entry'
なエラーがでてしまいます。どうやら ext/gd/php_gd.h の
extern zend_module_entry gd_module_entry; あたりかなとは思うのですが、
ここで力尽きてしまいました。どなたかご存知の方居られましたら
ご教授ください。なおOSはFreeBSD4.3です。
長文失礼しました。
GIFサポートはこれで、どうやらLZW系のライセンスはクリアしているらしいのですが
ttp://www.rime.com.au/gd/
0368nobodyさん
03/07/10 09:27ID:???0370nobodyさん
03/07/11 01:11ID:jNV68Tt50371あぼーん
NGNG0372nobodyさん
03/07/11 01:37ID:jNV68Tt5eucで書くと何も表示されません。
エンコード変えて表示させてもF5すると、またエンコード切り替わって、
何も表示されなくなってしまいます。
超初心者です。教えてください。
0373あぼーん
NGNG0374nobodyさん
03/07/11 04:52ID:???PHPマヌアルには「SJISでは書かない方がいい」みたいな事が書いてある。
それから、文字化けについては吐き出したHTMLのソースを見れ。
0376nobodyさん
03/07/11 09:57ID:???考えるべきは沢山あるな。
で、本にはSJISで書いてあるってどういうこと?
つーか書名キボンヌ。
0377372
03/07/12 03:12ID:???付いているCD-ROMがSJISとEUCに分かれていて、
僕がSJISを参照しているだけでした。
一応、本の名前は「そのまま使えるPHPサンプル100選」 技術評論社
です。
申し訳ないついでにもう一つ質問なんですけど、PHPは半角スペース
は意味がないんですか?サーバー系のはあるだなんだ〜ってこと
聞いたことがあるんですけど。あー馬鹿っぽい質問だな〜
0378nobodyさん
03/07/12 03:40ID:???$mona = "";
$hanyan = "";
の「=」の位置を揃えたいとかなら 半角スペースの個数は関係ないよ。
p r i nt みたいに、PHP本体の解釈を妨げるような半角スペースの挿入は有害。
PHPが出力したHTMLの半角の話ならWeb制作板にカエレ!!
0379372
03/07/12 05:57ID:???ここにいさせてください。
0380nobodyさん
03/07/12 07:34ID:???ttp://www....../hoge.php?hoge=1
などするのはかっこ悪いので、
ttp://www....../hoge.php?hoge
というURLで処理を行いたいのですが可能でしょうか。
実際には、この=の先には特に意味は持たしません。
ページが長いので、?hogeの部分で判断できれば、
そのリストだけ表示するようにしようと思っています。
よろしくお願いします。
0382nobodyさん
03/07/12 09:10ID:tmgiXdLP$_SERVER["QUERY_STRING"]
と
$_SERVER["argv[0]"]
にhogeが入る。
argvは一般にコマンドライン用だからWebで使うならQUERY_STRINGの方かな
0383nobodyさん
03/07/12 09:13ID:???argv:コマンドライン引数
QUERY_STRING:環境変数
そもそも使い道が全然違うと思われ。
0384nobodyさん
03/07/12 12:49ID:qK/j+nNBをする際に意図する結果が得れません。PHPで\nにしていてもテキス
トに記録するとCRが追加されているみたいで
Range: Bytes=**-
で既得分のバイト数を渡して1文字b熾ヤって来ない緒態を期待してb澆R
の個瑞舶ェだけゴミが封ヤってきます。bQch型スクなbで専用ブラウャUでエ
ラ=[になります。ャeキストに記録bキる改行コードb\r\nにしてもャ_メでし
bス。何かよい対緒法はないでしb蛯、か。お願いbオます
0386nobodyさん
03/07/12 14:35ID:???知りたいんですがどういった命令がありますでしょうか?
0387nobodyさん
03/07/12 15:20ID:???どの言語でも定型のやりかただと思うよ。
0389nobodyさん
03/07/12 23:50ID:???バイナリー指定(rbとかwbとか、そんな感じ)
があるので、それ付けてバイナリーとして
扱って見れ
あと詳しく書くのはよろしいが、折れみたいに
PDAで読み書きしてる椰子もおるんで、
適当に文切ってな
0390nobodyさん
03/07/13 09:07ID:???をする際に意図する結果が得れません。PHPで\nにしていてもテキス
トに記録するとCRが追加されているみたいで
Range: Bytes=**-
で既得分のバイト数を渡して1文字も返って来ない状態を期待してもCR
の個数分だけゴミが返ってきます。2ch型スクなんで専用ブラウザでエ
ラーになります。テキストに記録する改行コードを\r\nにしてもダメでし
た。何かよい対処法はないでしょうか。お願いします
Wwindows98+Apache1.3.27環境は改行コードがCRLFですが差分取得
をする際に意図する結果が得れません。PHPで\nにしていてもテキス
トに記録するとCRが追加されているみたいで
Range: Bytes=**-
で既得分のバイト数を渡して1文字も返って来ない状態を期待してもCR
の個数分だけゴミが返ってきます。2ch型スクなんで専用ブラウザでエ
ラーになります。テキストに記録する改行コードを\r\nにしてもダメでし
た。何かよい対処法はないでしょうか。お願いします
0391nobodyさん
03/07/13 18:53ID:8ZbS77HL以下のような index.html と test.php があって
index.htmlのリンクをクリックしても何も表示されないのですが
何か宣言が足りないのでしょうか?
[index.html]
<html>
<body>
<a href="./test.php?mode=home">home</a>
</body>
</html>
[test.php]
<?php
print("$mode");
?>
0392nobodyさん
03/07/13 19:09ID:???参考にした資料が古いと思われ。
print($_GET['mode']);
でいけますよ。
ここの「警告」を読まれることをおすすめする。
http://jp.php.net/manual/ja/language.variables.predefined.php
あとprintは括弧がいらなかったりechoでも同じだったりするけど
そこら辺は好きなように書いてよかです。
0394あぼーん
NGNG0395nobodyさん
03/07/13 22:32ID:???解決のヒントをよろしくお願いします。
OS:
WindowsXPPro(sp1a)
Webサーバ:
Apache1.3.27(Windows版)
インストール先C:\Program Files\Apache Group\Apache
PHP(zip):
PHP 4.3.2(Windows版)
インストール先C:\Program Files\php
症状:
phpファイルを実行しようとすると、ダウンロードダイアログが表示されて、プログラムを実行できない。
関係ありそうなこと:
(1)php4ts.dllはphp4apache.dllと同じフォルダ(C:\Program Files\php\sapi)にいれた。
(2)php.ini-distをphp.iniにリネームし、C:\WINDOWSにいれた。
php.iniのなかで、doc_rootをC:\Program Files\Apache Group\Apache\htdocsに設定。
(3)httpd.confには、
LoadModule php4_module "c:/Program Files/php/sapi/php4apache.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
を追加しています。
0396nobodyさん
03/07/13 23:26ID:???php4ts.dllはpathの通ってるところに放り込むこと。
つか、install.txtちゃんと読んでるようなんで、
そこにはNT系の場合のやり方が書いてあったでそ
デフォでWindowsインストールしてるのなら、
c:\windows\system32ディレクトリ
0397404.HDML ◆StMXML.EXE
03/07/13 23:28ID:???>(1)php4ts.dllはphp4apache.dllと同じフォルダ(C:\Program Files\php\sapi)にいれた。
"php4ts.dll"は、"C:/WINDOWS/system32"フォルダ内に収めて下さい。
後、Apache1なら"AddModule"宣言を忘れていませんか?
0399nobodyさん
03/07/14 04:24ID:???ネタなのか釣りなのか騙りなのか分からないけど、
このあたりをブックマックしておいて悩んだ時や暇な時に見ておくとよい。
http://japache.infoscience.co.jp/
0400395
03/07/14 10:43ID:???>>396
install.txtによると、
So where does php4ts.dll has to be to be properly loaded ?
php4ts.dll is searched in the following order:
1) in the directory where apache.exe is start from
2) in the directory where php4apache.dll is loaded from
3) in your %SYSTEMROOT%\System32, %SYSTEMROOT%\system and
%SYSTEMROOT% directory.
Note: %SYSTEMROOT%\System32 only applies to Windows NT/2000/XP)
4) in your whole %PATH%
で上の設定は2)にしたつもりです。ちなみにc:\WINDOWS\system32にphp4ts.dllをいれても同じ症状でした。
というより、2)の設定で、php4ts.dllの名前をphp4ts.dll.oldなどに変えると、php4apache.dllが読み込めない
とのエラーがでたので、php4ts.dllの読み込みはできていたのではないでしょうか?
>>397
httpd.confにAddModule宣言
AddModule mod_php4.c
を入れると、
[warn] module mod_php4.c is already added,skipping
とでたのでAddModule宣言はコメントアウトしています。
0401nobodyさん
03/07/14 10:43ID:???何故PHPのマニュアルって色んなサイトで掲載されているの?
Googleで検索すると同じ(内容)マニュアルばっかり引っかかって悲しい。
0403404.HDML ◆StMXML.EXE
03/07/14 13:48ID:???ぅぃ。試しにアナタとほぼ同環境であろうWindowsXP Pro SP1使って
Apache/1.3.27とPHP/4.3.2をインスコしてみたんだが、、
何の問題無くphpinfo()内容が表示出来たぞ?
php.iniに関しては、php.ini-distをリネームしただけで内容の編集すら
していない。一体、どうなってやがる?
ちなみに、俺が設置したパスは以下の通り。
Apache/1.3.27(msi Package) → C:/
# Cドライブ直下
ActivePerl/5.8.0(msi Package) → C:/usr
# これは必要無いけど
PHP/4.3.2(ZIP Package) → C:/usr/local
# Linuxっぽく(Linuxなら、"/usr/local/lib"だけど)
php.ini → C:/WINDOWS
php4ts.dll → C:/WINDOWS/system32
原則的に、>>397で書いた事以外はしていましぇん。
0404nobodyさん
03/07/14 15:00ID:???<?include(counter.php);?>
で挿入しましたが数字がでません。index.htmlをindex.phpに
書き換えたところ、数字がちゃんと表示されました。
これはなぜなんですか?
検索エンジンに登録することを考えるとindex.htmlをindex.phpに
書きかえると面倒なのであまりそうしたくありません。
0405nobodyさん
03/07/14 15:52ID:???使いたいオプションが初回インストールで入れていなかったので
後から追加しよう、と思いやっているのですがphpinfo()のほうが全く変化なしっ! 実際にインスコもされていない模様。
./configure clean して、その後下記の./configureしてもアカン。
こういうもんなんでしょうか?
オプションの後入れは無理ですか?(´・ω・`)
参考(下の行が追加したオプション
./configure --with-apxs=/usr/sbin/apxs --enable-mbstring --enable-mbregex
--with-gd --with-jpeg-dir=/usr/lib/ --with-zlib-dir=/usr/lib
>>404
あなたの使っているWebサーバで *.html はphpが動かない仕様になってるからですよ〜
confや.htaccessいじれば*.htmlでphp動かせますよ。
0407405
03/07/14 17:15ID:???レスありがとうっす。
ええ、もちろん make intall や restart 、これでもダメだったのでOS再起動までしてました。
で、たった今解決してしまいますた。
$ make clean
makeにcleanなんて存在するのを初めて知りました。。(恥
make cleanしたあとはなんてことなく、上手くいきました・・・
0408395
03/07/14 20:12ID:???うお。わざわざインスコしてくれたんですか?
どうもすみません。
とりあえず、あとで原因追求するためにhttpd.confとphp.iniのバックアップをとった後、
インストールディレクトリを変えて、>>397の要領でPHPとApacheの再インストールしてみます。
ついでにApache2でも試してみます。
Apache+PHP+PostgreSQLで幸せになれると思ったんですが、あふぉには険しい道のりらしい。
ウィンドウズにこだわらんと素直にPC-UNIXしたほうがいいんかな。
お騒がせしました。
0409よん ◆StMXML.EXE
03/07/14 22:37ID:???つーか何故、WindowsにApache入れてPHP入れる事位に失敗してるのかよく理解
出来ないのだけれども。フォルダに必要ファイルを放り込むだけじゃないの。
httpd.confだって、数箇所書き加えるだけなんだし。
httpd.conf(前略)
#LoadModule headers_module modules/mod_headers.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule php4_module C:/usr/local/php/sapi/php4apache.dll
(中略)
#AddModule mod_unique_id.c
AddModule mod_so.c
AddModule mod_setenvif.c
AddModule mod_php4.c
(中略)
AddType application/x-tar .tgz
AddType image/x-icon .ico
AddType application/x-httpd-php php phtml
AddType application/x-httpd-php-source phps
(後略)
0410nobodyさん
03/07/15 00:16ID:???どうすれば良いのか教えていただけませんか。
参考になるページとかでも良いんでお願いします。
0411nobodyさん
03/07/15 02:13ID:???またApacheの口が変わった関係があるのかと思ったけど、
Apache/1.3.27 ○PHP4.2.3、○PHP4.3.2、○PHP4.3.3RC1
Apache/2.0.47 ×PHP4.2.3、○PHP4.3.2、○PHP4.3.3RC1
#PHP4.2.3が×なのは正常。
条件
・WindowsXP Pro SP1
・php4ts.dllはそれぞれのバージョン同梱のものを、それぞれのsapiディレクトリに
・php.iniは読み込ませない。
・httpd.confはapacheインストール直後のものに以下の2行を加えたのみ
AddType application/x-httpd-php .php .phtml
LoadModule php4_module "c:/usr/php4/sapi/php4apache.dll"
上記を、CGIやshtmlのAddHandlerの下あたりに追記。
#実際にはphpのバージョンごとにphp423とかphp432に変えたり、
#Apache2はphp4apache2.dllを指定してます。
AddModule mod_php4.cは指定しないが、同じバージョンの付属のhttpd.confでも
公開時期の違いで記述に差(ClearModuleListの位置だったか、有無だったかな)があって
指定しないと駄目な場合もあった。[warn] module mod_php4.c is already added,skipping
となってるのなら、指定しないでOK。
apacheのインストールディレクトリ化のhtdocsに<? phpinfo(); ?>のスクリプトを
放り込んで、動作するか、正しい値が取れるかで確認。
ところで、httpd.confでは"C:/Program Files/Apache Group"のように
括ればスペース付きのディレクトリもOKだが、php.iniもそうだっけ?
(ディレクティブにもよるかも) あと\と/が必ずしも同義にならない
ディレクティブもあったような気がする。
0412404.HDML ◆StMXML.EXE
03/07/15 02:16ID:???どこぞのサイトで「一度インスコしたPHPを再設定する為に再インスコする場
合、元有るファイル群を根刮ぎ消しとかないと設定が反映されてない」みたい
な内容のメモを見た事が有る気がするけど。。実際はドウナンダロウ。
って、解決済だったのか。。(・∀・∀・)
>>410
具体的には以下の一文を".htaccess"に書き加えたりします。
以下では、".php",".phtml","html"の拡張子でPHPを動作させます。
AddType application/x-httpd-php php phtml html
但し、アナタが利用しているウェブサーバで".htaccess"による設定変更を
許可していれば、の話でっせ。
0413404.HDML ◆StMXML.EXE
03/07/15 02:25ID:???>AddModule mod_php4.cは指定しないが、同じバージョンの付属のhttpd.confでも
>公開時期の違いで記述に差(ClearModuleListの位置だったか、有無だったかな)があって
>指定しないと駄目な場合もあった。[warn] module mod_php4.c is already added,skipping
>となってるのなら、指定しないでOK。
これは知らなかった。公開時期の違いって具体的には、いつといつの違い?
俺が試したのは、昨日そのうちにダウソしたもの(Apache/1.3.27)なんだけど。
0415nobodyさん
03/07/15 03:29ID:???.htaccessはセキュリティ上置かない、と言うサーバがありましたが
セキュリティ弱いんですね。
0416404.HDML ◆StMXML.EXE
03/07/15 06:23ID:???>読み方はエイチティーアクセスと読むんでしょうか。
その通り。
>.htaccessはセキュリティ上置かない、と言うサーバがありましたが
>セキュリティ弱いんですね。
そりゃユーザ任意で好き勝手な設定されたらサーバ管理しづらいからね。
但し、ウェブサーバ管理者の設定によって".htaccess"で変更できる内容を
細かく制限できるので、一概に「セキュリティが云々」というのも、只の
怠け文句の様にしか聞こえんわな。
ああ、そうそう。".htaccess"は、"Apache(アパッチ)"というウェブサーバにて利用できる、
ディレクトリ毎の設定ファイルの事です。
ウェブサーバとしてApacheを採用していない所では使えませんよ。
0417山崎 渉
03/07/15 11:06ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0418nobodyさん
03/07/15 11:10ID:1Nim6t2Z一部のタグを使用できるように独自タグを実装し、
[code][/code]を<pre></pre>タグに置き換えています。改行は<br>に置き換えしています。
問題は<pre>タグ内の改行文字も<br>に置き換えているので、見た目上は問題ないのですが、
コピペすると、改行のない1行としてペーストされてしまうのです。
<pre>タグ内の改行が\nならきちんと改行されてコピーできるのを確認しました。
[code]〜[/code]で囲まれた文字内の改行文字だけを"~"などの
特殊な(使わなそうな)文字に置き換える方法はないでしょうか?
表示時に"~"を\nに置き換えたいと思っています。
情報不足でしたら、ご指摘ください。
windows2k apache 1.3.27 php4.2.3の環境で作業しています。
よろしくお願いします。
0419nobodyさん
03/07/15 11:12ID:DBSRX3ivApacheをインストールしないとだめですか?
0420nobodyさん
03/07/15 11:31ID:???0421nobodyさん
03/07/15 12:33ID:VrVVC0RBfunction error($msg){
echo $msg;
exit;
}
を入れると
Fatal error: Cannot redeclare error() になる…
因みに別の設定ファイルにおいて require してます
0422nobodyさん
03/07/15 12:36ID:dUuUFsTqメール内容を残したいのですがどうすればいいんでしょうか・・・助けてください。
0424nobodyさん
03/07/15 12:57ID:???で、クライアントがサーバのメールを読んで削除してしまうのを
残したいってことか?
0425nobodyさん
03/07/15 14:13ID:VrVVC0RBrequireでなくしたら治った…なんだったんだ
0426nobodyさん
03/07/15 14:23ID:dUuUFsTqだいたいそんな感じなのですが
htmlでメールフォームを作り、送信を押すとリナックスサーバにメールを
送るということなのですが、やり方がわからなくて・・・
メールアドレスに送るのは簡単にできましたが・・・。
よろしくお願いします。
0427nobodyさん
03/07/15 14:30ID:???追記できないようにしました。ですが次回そのファイルにアクセスしよ
うとした時にパーミッションを変えた情報はどこにも残していないので
書き込みモードで開くとpermission deniedのエラーになります。
if(!($fp = fopen(***,**))){ error_trap()}
してもエラー処理は続行されますがエラー文は返ってきます。
これを回避するにはどうすればよいでしょうか?
パーッション情報を得て回避させるか完璧なエラー回避の構文に
するかだとは思うんですが具体的な知識がないので困ってます。
ググっても良い解決策は見当たりませんでした。
よろしくお願いします
0428427
03/07/15 14:43ID:???0431427
03/07/15 17:21ID:ptJK4UDQおお!そんな手もあるんですね。ありがとうございます。
応急処置でstat(filename)でやってみましたがそちらに切り替えて
みます
0432nobodyさん
03/07/15 17:51ID:???Windows 2000
php 5.0.1b1-win32.zip
apache 2.0.47
手順どおりphpのファイルを展開。
apache起動時にcannnot load c:/php/sapi/php4apache2.dllが
ロードできませんとのエラーメッセージ。
ファイルはあるけど、ロードできないです。
0433427
03/07/15 17:54ID:ptJK4UDQ成功です。ありがとうございました
0434nobodyさん
03/07/15 17:56ID:???PHP5を入れたいのにphp4apache2.dllを組み込もうとしてるの?
もしPHP4の間違いならすでに動かしている方のhttp.confの一部を
見せてもらうとか
0435nobodyさん
03/07/15 17:58ID:???>>426
何がやりたいのか?
そもそもメールフォームからのメールの送信は出来ているのか?
そのメールをサーバに置いて何かしたいという事なのか?
0437395
03/07/15 18:19ID:???httpd.confの
LoadModule php4_module C:/usr/local/php/sapi/php4apache.dll
をいれる位置が問題だったみたいです。
最初は176行目あたりに
# Example:
# LoadModule foo_module modules/mod_foo.so
LoadModule php4_module C:/usr/local/php/sapi/php4apache.dll
としていたのですが、>>411を参考にして、CGIやshtmlのAddHandlerの下あたり848行目に追記したところ
うまくいきました。なんか納得いきませんが。
ちなみに、Apache2ではこのような問題は発生せずすんなりでした。謎。
0439nobodyさん
03/07/15 19:19ID:???部分以外はまだ何が変わったか調べる手間がもったいないと思う。
PHP4.3をいじくり回してみてある程度飲み込めてからでいいんじゃない
すか?
0440nobodyさん
03/07/15 19:21ID:ptJK4UDQ0441nobodyさん
03/07/15 23:07ID:???正規表現してください,お願いします。
0442nobodyさん
03/07/16 00:27ID:???すみませんです・・・
0443nobodyさん
03/07/16 00:40ID:4pRAgQGCあるデータベース(何故か不明)のテーブルを書き出したtxtファイルがあり、
それをPosrgres+PHPのシステムに移してほしいと頼まれました。
(手元にはそのtxtファイルしかなく、元のデータベースは既に無いらしい・・)
が、あるフィールドがtextareaだったらしく、途中で改行が入っているのです。
id name abc(textarea) tel
1 あああ あああああ 11111
2 いいい いいいいい 22222
3 ううう うう −−−(ここで改行)
\ううう 33333 −−−(改行の続き)
4 えええ えええええ 44444
といった感じです。
Excelにインポートして少し配置を変えてからエクスポート、それから
COPYコマンドで入れ直すつもりだったのですが、途中の改行が邪魔をして
(上の例だと、「¥ううう」が、あたかもidのように居座っています)
困っています。しかもレコードは5000件ほどあり、手で直すわけにも・・・
どうにか上手くExcelでいじれる形まで持っていけないでしょうか?
お願いします。
0444415
03/07/16 00:48ID:???どうもありがとう。
少しづつですがわかってきている状態です。
ちなみに僕が使っているとことはファイル設定が出来るそうです。
PHPどころかプログラム初心者なのでめちゃ苦労している状態です。
そもそも、PHPを始めたのはDBを作りたかったからです。
それ以外にもPHPが優れているところはどこなのでしょうか?
皆さんがなぜPHPをやり始めたのか聞かせてもらえませんか。
に比べてそれ以外に
0445415
03/07/16 00:50ID:???>>に比べてそれ以外に
↑これいりませんねw
0446nobodyさん
03/07/16 00:51ID:???データもってきたアホにやらせれば?
ってのは冗談で
本来の行末のフィールドに絶対改行が入らないなら、
一行ずつ取っていってフィールド数がたらんかったら
次の行を追加するようなスクリプト作れば?
0448447
03/07/16 00:54ID:???0449nobodyさん
03/07/16 01:32ID:APFwOkckというよりタブ空文でも改行でもデータを拾うようにして4フィールど
毎に1つ目のフィールドが数字である事をチェックして真なら改行。
これでよいはず。前述でも同じ結果が得れたらなんでもいいだろうけど
0451404(・∀・∀・)HDML ◆StMXML.EXE
03/07/16 01:42ID:???俺の場合、PerlよりハイカラなイメージがPHPに有ったからというだけの理由。
ちなみに今でもド素人の部類に入ると思います。Perlの勉強すらすっとばして
いきなりPHPから始めちゃった訳ですから。
そもそも、自前でアクセス解析スクリプト程度のものを作れればいいかなー、
程度の目標だったんで上達する事も無く。
今借りてるレンタルサーバがSQLに対応してくれていないせいも有って、データ
ベース系を勉強する機会も興味も沸かないし。
0452nobodyさん
03/07/16 01:48ID:APFwOkckデータ4個周期を基本にチェックしてるわけだし。よほどいいかげんな
DB処理でないかぎりIDとデータが混同される事はないでしょ。
0453nobodyさん
03/07/16 02:07ID:???id name abc tel
1 あああ あああ(改行)
1(改行)
1 090-xxxx-xxxx(改行)
2 あああ あああ 090-xxxx-xxxx(改行)
ってのを
split /\t|\n/
ってやるとややこしくなんね?
違うやり方をいってるならスマソ。
0454415
03/07/16 02:55ID:???そうなんですかw
僕の方は幸い、なんでも出来そうな環境が整っています。
DBまでの道のりは長そうなので、まず何Pかカウンターを作ってみました。
で、次なんですけど、何をやろうか迷っています。皆さんの参考を教えてください。
まだ、面白いと思える段階ですw
0455nobodyさん
03/07/16 09:14ID:APFwOkckまず1行分と予測する生データを4つバッファリングして5つ目のデータ
を参照。5つ目がIDデータだと判断できたら1行分を修正済みを格納す
る配列へ代入。もし5つ目がIDデータでないなら4つ目とくっつける。
で、6つ目をチェック。以下同様。
根本的に異常なデータが混じっていない限りきっちり修正出きると思う。
処理はややこしいかもしれないが確実。無条件な状況判断ではどこか
でおかしな処理をしやすいから串だんごみたいにして1本ずつ丁寧に
修正してやるとよいかも。
2ch互換スクの故障データの修正で体験した
0456nobodyさん
03/07/16 16:45ID:IyV1t1TM自作のエラー用の関数で、何処で起きたか表示させたいのです
0457418
03/07/16 17:05ID:???力業っぽいですが、解決しましたのでお知らせします。
#<pre class="code">〜</pre>に置き換え後、
$msg = str_replace("\n", "<br />", $msg);
$array = split("pre", $msg);
for($i = 0; $i<count($array); $i++){
if(strstr($array[$i], "class=\"code\"")) $array[$i] = str_replace("<br />","~~", $array[$i]);
}
$msg = join("pre", $array);
表示処理で
$msg = str_replace("~~","\n", $msg);
ありがとうございました。
0458nobodyさん
03/07/16 21:11ID:???(C言語で言うところの int i; のように)
タイプミスで一文字違っただけで数時間も悩むのはもうイヤ!
0459nobodyさん
03/07/17 01:05ID:???つこてるバージョンによっても違うが、
error-reportのレベルをNOTICEも出力するようにすると出ない?
error_reporting(E_ALL)とか。
http://jp.php.net/manual/ja/function.error-reporting.php
あとは折れは"$文字列"の正規表現で、ファイルあたりの出現回数を
カウントしたりしてる。変数名に固有のプリフィクスつけて管理してるので。
0461nobodyさん
03/07/18 07:11ID:???もし存在するならどこにあるか教えてください。
0463nobodyさん
03/07/18 23:43ID:Uzp0kmuOMac OS ] 10.2.6ですが、
PHPのバージョンてどこをみれば分かるのですか。
0464あぼーん
NGNG0469nobodyさん
03/07/22 10:50ID:???header("Location: http://hogehoge.com");
をつかってみたのですが、これだとリファラが残ってしまいます。
ソケット関数使わずにリファラを消すにはどうしたらいいですか?
0470nobodyさん
03/07/22 20:45ID:???困って問題があるのか?
不特定多数を別のサイトに送り込んでカウンタを無駄に上げたりするような用途位のような気がするんだが。困るのは。
0471nobodyさん
03/07/23 02:19ID:???てか、もう一つページを挟めばいいかな。
適当にがんがって見ます。
0472PHP初心者
03/07/23 21:32ID:8eneuWCZ↓は上のフォームに記述して送信した文字列を下のフォームに表示する、
というものですが、
<body>
<form method="GET" action="form.php">
<p><input type="text" name="text1" size="40"> <input type="submit"
value="送信します" name="b"></p>
<p><input type="text" name="text2" size="40" value="<?php echo $_GET['text1'] ?>"></p>
</form>
</body>
実行すると、
<b>Notice</b>: Undefined index: text1 in <b>C:\Apache Group\Apache\htdocs\samples\form.php</b> on line <b>11</b><br />
というエラーが出ます。どこがおかしいのか、わからなくて困ってます。PHPは4.3.2を使ってます。
よろしくお願いします。
0474あぼーん
NGNG0475nobodyさん
03/07/23 21:37ID:???<p><input type="text" name="text2" size="40" value="<?php echo $_GET['text1'] ?>"></p>
ここが11行目です。
0477nobodyさん
03/07/23 22:13ID:???0479nobodyさん
03/07/24 08:32ID:???namazuで検索したいのでEUC版が欲しいのですが・・・
0480nobodyさん
03/07/24 09:41ID:???0481nobodyさん
03/07/24 10:03ID:???0482nobodyさん
03/07/24 10:37ID:???とりあずNotice出したくないんなら変数を宣言しろ。
if(!isset($_GET[text1])) {$_GET[text1]="";}
if(!isset($_GET[text2])) {$_GET[text2]="";}
0483482
03/07/24 11:06ID:???if(!isset($_GET['text1'])) {$_GET['text1']="";}
if(!isset($_GET['text2'])) {$_GET['text2']="";}
こうだね。
0484nobodyさん
03/07/24 11:14ID:???if(!isset($_GET['text2'])) $_GET['text2'] = "";
むしろこうじゃ無いのかと。
@$_GET['text1'];
@$_GET['text2'];
でもいいけどね。
0486nobodyさん
03/07/25 03:55ID:???includeは常時、ファイルをincludeして監視状態なのでしょうか?
ということは、大規模になると、遅くなる原因になるのかなと思いまして。
たとえば、config.phpが、
//config.php
$hoge = "2ch";
$moge = "3ch";
・
・
・
-------------------------
この時、
include "config.php";
echo $hoge;
それとも、
if($hituyou){include"config.php";}
echo $hoge;
こんな感じ。
大規模の時に下の方が負担は軽減される。
と妄想してるんですが、本当はどうなんでしょうか?
0487nobodyさん
03/07/25 04:05ID:???includeはその時点で全て読み込まれるんじゃ・・・
そのincludeファイルが必要になった時点で読み込めばいいと思うけど。
そんなに遅くなる原因にはならないと思うけど。
0488nobodyさん
03/07/25 09:51ID:wJ5ItSlnphpでgzip圧縮通信がしたくて、php.iniファイルの設定で、
output_handler = ob_gzhandler
としたのですが、これで正しく圧縮通信ができるのでしょうか?
もしできているのなら、それをどうやって確認すればいいでしょうか?
環境はRedHat9.0 Apache2 PHP 4.3です。
0489nobodyさん
03/07/25 10:53ID:TM9efvfmphpのバージョンを4.2.3から4.3.2にアップグレードさせようと考えています。マニュアル、FAQ等でその方法を調べてみたのですが、探し方が悪いのでしょうかイマイチ明快な答えが見つかりません。
一応以下に示す方法を実行しよようと考えているのですが何か安易な気がしてなりません。お気付きの点がありましたらご指摘ください。
私的には、3. でmake clean して前のヴァージョンの makeファイルを削除するのがミソかなと思っているのですが…。
これでは前のヴァージョンをアンインストールすることにならないような気もします。そもそも前のヴァージョンを削除する必要があるのかどうかすら分かりません。
勉強不足で申し訳ありませんが、皆様宜しくお願いします。(昨夜一度質問してみたのですが、どこの板に書いたか見失ってしまいました…)
環境:RedHatLinux7.1+apache1.3.27+php4.2.3
1.まずhttpdを停止する。
$ su
# /etc/init.rd/httpd stop
2.php4.2.3のソースファイルが展開されているディレクトリに移動する。
# cd /usr/local/src/php-4.2.3
3. make clean でmakeファイルを削除する。
# make clean
4.php4.3.2のソースファイルが展開されているディレクトリに移動する。
# cd /usr/local/src/php-4.3.2
5. ./configure を実行する。
# './configure' '--enable-mbstring' '--enable-mbregex' '--enable-zend-multibyte' '--with-pgsql' '--with-apxs=/usr/sbin/apxs' '--without-gd' '--with-zlib' '--with-openssl' '--enable-versioning'
6.make 、make install を実行する。
# make
# make install
7.httpd を起動する。
# /etc/ini.rd/httpd start
0490あぼーん
NGNG0492あぼーん
NGNG0493nobodyさん
03/07/25 11:31ID:???make clean が何をやっているのか考えてみましょう
0494nobodyさん
03/07/25 20:46ID:???index.phpからinclude_onceで読むのはうまくいくのですが、
count.phpからこれと同じ場所にあるデータファイルのcount.datを開こうとして
$fp =@fopen( "count.dat", "r") ;
とすると、
Warning: fopen("count.dat", "r") - No such file or directory in *********/count/count.php on line 42
となってしまいます。includeされたファイルの中で別のファイルを開く場合、パスの表記はどのようにすれば良いんでしょうか?
読み込み元のファイルのディレクトリを基準にするのか、読み込まれたファイルのディレクトリを基準にするのかが分かりません。
と言うより後者ならこれでうまくいくと思うのですが、これだと一つのカウンタで複数ページをカウントさせるのに
面倒な気がするので、もっと良い方法が無いかと探しているのですが…
0497nobodyさん
03/07/25 23:55ID:OQ729f+cネット上によくある、フリーCGIの配布サイトでは時々
「セキュリティホールが見つかったのでバージョンアップしてください」
というようなことが書かれてたりしてますが、
PHPでもセキュリティホールはあるんですか?
あるとしたら、どんなのがまずいんでしょうか
とりあえず、どこかのPHPスレではPHPが「index.php」を吐くのはマズイ、
と書いてありました
フォーム入力を受け付ける、掲示板みたいなものを作る場合、タグを
除去すれば大丈夫ですか?
0499494
03/07/26 00:00ID:???分かりました。その方法でやってみます。
ただ思い付きでいろいろ足して分かんなくなってきたので、
一から書直そうと思いますが。ありがとうございました。
0503nobodyさん
03/07/26 00:08ID:???>>502
PHP自体のセキュリティーホールとヘタレなコーディングによる
セキュリティーホールを混同してない?
「あんめろ」は「あんたには向いてない、やめろ」の意。
(民明書房刊「よくわかるセキュリティホール」より)
0504nobodyさん
03/07/26 00:16ID:???回答ありがとうです
自分が知りたかったのは、へたれなコーディングによる…の方でした
どんなコーディングがマズイのかな、と思って
「あんめろ」身に沁みました
0505nobodyさん
03/07/26 01:21ID:???>とりあえず、どこかのPHPスレではPHPが「index.php」を吐くのはマズイ、
なんでマズイの? 俺、吐き出してる。吐き出してる。
0506あぼーん
NGNG0507あぼーん
NGNG0508nobodyさん
03/07/26 03:13ID:83bOjRPY相当するものはない?
てっきりfileutimeみたいな関数があるだろうと思ってマニュアルを
見てみたがどこを探してもない。
どうやって変えるのだ??
0509nobodyさん
03/07/26 03:37ID:VZ1x6qD8んなこたーない。
"ファイルシステム関数"という章をよく見る。
0510nobodyさん
03/07/26 21:05ID:92eVqrLvhttp://www.hogehoge.com/~hoge/test.php/20030724/2310
↑こんな感じにPHPへデータを渡す方法知りませんか?
test.phpの内容を
<?php
phpinfo(32);
?>
にして結果見てみればわかる。
0512あぼーん
NGNG0513nobodyさん
03/07/27 04:37ID:C5x2VQP+更新変更はtouch()でやるのは分かったんだが、
最終アクセス変更をするのがやっぱり見当たらない。
0514nobodyさん
03/07/27 09:42ID:???Windowsなら単にreadしたりファイルサイズ取得関数とか使えば良し。
ファイルのプロパティ見てみ?いつも現在時刻だ。
0515nobodyさん
03/07/27 22:48ID:0kmBdvtlファイルの中身を修正する前に、ファイルの時間情報を取得しておいて
処理が終わった後にファイルの時間情報は修正前のままにしておきたい
って場合にどうすればいいのかと。
つまり最終アクセス時間と最終更新時間を過去の時間に設定したい訳ですな。
Perlだとutimeで両方、任意の時間を入れてファイルの時間情報を修正できるけど、
PHPだとtouchで最終更新しか変更できないみたい(見つけられなかった)。
ちなみにPerlからPHPへの移植をやってる過程で出てきて???になった。
やってる移植では更新時間を見て処理に使ってるから、最終アクセスは
なくてもいいけど、なんらかの理由で最終アクセス時間の変更が必要に
なった場合はどうするんだろ?
0516nobodyさん
03/07/27 23:33ID:???(UNIXタイムスタンプ)を指定できます。
しかしなんで公式のマニュアルには載ってないんだろ?
0517nobodyさん
03/07/27 23:41ID:???0518nobodyさん
03/07/27 23:53ID:???翻訳の遅れがあるみたいなのでこれからは英語版を見るようにします。
0519515
03/07/28 00:11ID:???自動で日本語版に切り替わるんだな。
touch (PHP 3, PHP 4 )
touch -- Sets access and modification time of file
bool touch ( string filename [, int time [, int atime]])
http://www.zend.com/manual/function.touch.php
日本語訳マニュアルをローカルに置いてそれを参照してたから
見つけられなかったよ。
英語版も随時参照すべしと自分に言い聞かせた次第。
0520nobodyさん
03/07/28 00:13ID:???0522nobodyさん
03/07/28 00:26ID:???最近はけん日本語で検索できて便利よ。
ttp://www.phpoo.net
0524nobodyさん
03/07/28 15:06ID:???ソ\アラというようにdataファイルに記録されています。
perlでつくった掲示板では普通にソアラと書き込めたんですが。
ローカルでshift-jisで書いております、eucでも試してみたんですがeucで保存すると
表示されないようです。php4.3.2を入れております。
ご助言願えませんか、ソースは下記のような感じでやってみました。
$carname = $_POST['carname'];
$newdata = implode(",", array($bango,$carname,$rap));
$kakikomi = fopen($datfile, "w");
rewind($kakikomi);
fputs($kakikomi, "$newdata\n");
0525nobodyさん
03/07/28 15:22ID:???国際化非対応だと文字が化けたりするもよん。
PHPはEUCで書く方が安心かと。
S-JISで受けたデータはjcode.phpでEUCにしてから内部で扱う。
んで、書出すときにまたEUC→S-JISに変換、と。
と言う事をどこぞで見たのだが。
0527nobodyさん
03/07/28 17:36ID:???HTMLに値を埋め込む時に
<?= hoge ?>
という書き方の出来るサーバーと出来ないサーバーがあります。
www.php.net のマニュアルを見ると asp_tags という設定ディ
レクティブで設定可能なようなのですが、双方のサーバーで
phpinfo() で設定を確認すると両方offになっているのです。
出来るサーバーの方は Apache 1.x 系にPHP4.2.0 で、
出来ない方は Apache 2.x 系にPHP4.2.2です。
php.ini は特に置いてません。
上記の記法の出来る出来ないは asp_tags 以外に何か設定が
あるのでしょうか?
0528nobodyさん
03/07/28 18:09ID:???0529525
03/07/28 18:30ID:???俺も初心者なんで、あまり詳しい事は書けませんけど、色々とチュートリアルを公開しているサイトを見る限りでは
初めからEUCで扱う(無論出力されるHTMLなんかも)か、せめて内部ではEUCとして扱う方がトラブルが少ない様です。
元々UNIX系はEUCだったと思うし、jcode.phpは見た感じそれほど使い方は難しくなさそうなんで、間に噛ませても良いんではないかと。
このスレの前半の方にもそんな話があったので、探してみると役に立つやも。
>>527
short_open_tag
0532nobodyさん
03/07/28 19:27ID:hpj2UE6Dライブラリにする方法を知っていたら、誰か教えてくだすぁい。
0533あぼーん
NGNG0534nobodyさん
03/07/28 23:51ID:???自分でつくってるんですが行き詰まりを感じてしまって
0536nobodyさん
03/07/29 08:38ID:???THX
short_open_tag でビンゴでした。
マニュアルでも asp_tags のすぐ上に書いてあったし(ウトゥ
0537nobodyさん
03/07/29 23:27ID:???ここの画像投稿BBS、どうやって画像に文字を埋め込んでいるんだろう?
設置者に聞けよ。
GDかなんかじゃないんか?
0539nobodyさん
03/07/30 00:48ID:???$str="ほ げ(ほ げ)-ほ げ";
$char1=" ";
$char2="(";
$char3=")";
$char4="-";
$char5="";
$str1=str_replace($char1,$char5,$str);
$str2=str_replace($char2,$char5,$str1);
$str3=str_replace($char3,$char5,$str2);
$str4=str_replace($char4,$char5,$str3);
echo "$str4";
preg_replace
0541nobodyさん
03/07/30 02:30ID:2CHAOdfRマニュアルより
>PHP 4.0.5 以降では、str_replace() への全てのパラメータは
>配列とすることが可能です。
0542あぼーん
NGNG0543nobodyさん
03/07/30 03:43ID:+xTBPNpJ昔、phpのメーリングリストで見たような気がしたんだけど、
googleで調べたら出来ないって書かれたサイトが出てた。
0544nobodyさん
03/07/30 11:15ID:???ここを説明しないと。(w
0545nobodyさん
03/07/30 12:12ID:???こういうことあじぇ?
0546nobodyさん
03/07/30 13:50ID:WV3lkWy5動かしてます。とりあえず
<?php phpinfo() ?>
は正常に表示されるので動作自体はしてると思うんですが
<? echo "てすと"; ?>
とかやると思いっきり文字化けしてしまいます。
winnt/php.ini へも日本語が使えるように設定はしたんですが
(default_charset = "Shift_JIS"とか)
なんか他に設定すべきところとかありますでしょうか?
0547nobodyさん
03/07/30 16:24ID:L2kAsoKqmbstringsでググレ
0548nobodyさん
03/07/30 17:09ID:???ここを説明しないと。(w
0549nobodyさん
03/07/30 19:01ID:QNOIDVkYレッツPHPのちゅーとりあるで紹介されている
一行掲示板をいろいろとこねくりまわしているのですが、
オート・リンクの機能を付けることに躓いています。
ご指導の程、よろしくお願いします。
0550あぼーん
NGNG0551あぼーん
NGNG0552nobodyさん
03/07/30 20:55ID:???正規表現で文字列を調べて、URI(URL)があれば
それを抜き出して、アンカータグと組み合わせて
置換する。
マニュアルで置換をする正規表現関数を調べて、
それが実際どのように使われているか、レッツPHPさんの
他の配布スクリプトを見て研究してみては?
0554nobodyさん
03/07/30 22:02ID:???ご指摘を受けて、
マニュアルを読みましたら、つぎのような部分がありました。
例 3URLをリンクで置換する
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
"<a href=\"\\0\">\\0</a>", $text);
これでうまくいきました。
ありがとうございます。
0555sage
03/07/30 23:32ID:EqJM85qgできない。
あればあったで便利だし、perlからの移行が楽だが
phpは配列操作の関数が比較的豊富なので
なければないで何とかなる。
0556nobodyさん
03/07/31 02:11ID:DkZYq6f/どうやったらよいでしょうか。
0558nobodyさん
03/07/31 02:30ID:???0559nobodyさん
03/07/31 04:20ID:???0560nobodyさん
03/07/31 05:08ID:???0562nobodyさん
03/07/31 14:45ID:UI9TuZ6S特定の文字列から特定の文字列までを置換したいんだけど、どうすればいいでしょうか?
hogehoge<REPLACE>2ちゃんねら</REPLACE>hogehoge
↓
hogehogeDQNhogehoge
こんな感じで。
0563あぼーん
NGNG0564nobodyさん
03/07/31 15:09ID:UI9TuZ6S追加質問していいですか?
置換した回数をカウントしたいのですが、str_replaceやereg_replaceでは
全置換されてしまうじゃないですか。
ひとつずつ置換をする関数ってないのでしょうか?
よろしくおねがいします。
0565nobodyさん
03/07/31 17:33ID:???preg_match
preg_match_all
あたりを見てみては?
0566565
03/07/31 17:42ID:???正規表現が良くわからず調べてもう〜んと唸るようであれば、泥臭くやるしかないかな。
strpos 等で開始タグの位置を見つけて前後の文字列で置換する文字列をサンドイッチ
して元の変数に格納という一連の処理を開始タグが見つかる限り繰り返せば結果は得
られると思うけど。
ただメモリーへのアクセスが頻繁になるからWebなんかで不特定多数のアクセスがある
ような処理につかうのはおすすめできない・・・。
0567梨
03/07/31 17:52ID:Vgd/NQeb数KB(?)に一度、 \nXXX\n のようなゴミ文字列が挿入されてしまいます。
(\nは改行で、XXXの部分は [0-9a-f]{2,3} のような文字列)
環境はWindows 2000で、
PHP 4.3.2 (cli) (built: May 28 2003 15:10:38)です。
再現は(他人様の物で恐縮ですが)以下のソースでも可能です。
tp://www.spencernetwork.org/memo/tips-3.php
ただし、HTTP/1.0接続をおこなった場合にはゴミは発生せず正常動作します。
phpのバグを疑った所、fsockopenがメモリを破壊する問題は、
4.3.0で発覚して4.3.2では解消されているとの事でした。
わかる方いましたら教えてください。
わからなかったらとりあえず再現を試してくれる方募集っす。
0568nobodyさん
03/07/31 18:12ID:???とりあえずリクエストするサンプルサイトのURLをキボンヌ
0569nobodyさん
03/07/31 18:23ID:???FreeBSD4.4
Apache たぶん 1.2
PHP 4.2.0
で2chの1000までいったスレをそのスクリプトで表示してみたがゴミは無いようだった
考察はちょっとまってな。
0570nobodyさん
03/07/31 18:26ID:???これを HTTP/1.1 に変えてやってみればいいのか・・・
0571あぼーん
NGNG0572あぼーん
NGNG0573nobodyさん
03/07/31 18:32ID:???とりあえず
>570 の変更をした上で >569 のように2chのスレを取得してみたらたしかにゴミが検出されたよ。
まぁ正確にはゴミじゃあないんだろうけどね。
ちょっと調べてみるよ。
0574梨
03/07/31 18:39ID:???スンマソ。お手数かけます。
yahooが大丈夫だけど、php使ってるサイトはだめだった。関係ないか?
ちょっと、アクセス先については根拠のある事が言えない。
>>569の環境で出るという事であれば、バグでは無いっぽいのかな。
あとで他の言語でも試してみます。
0575nobodyさん
03/07/31 18:41ID:???chunkの線は無いと思うが、がんがってphp4.3.2のバグを探してくれ。
0576573
03/07/31 18:44ID:???漏れ的には chunk っぽい気がしてるんだけどね(爆
HTTP/1.1 なんて生で触ったこと無いからプロトコルから調べてるよ
0577573
03/07/31 18:52ID:???\r\n1000\r\n
という文字列が挿入されてるってことかな。
fgets の読み取りバイト数かと思って 512 と 1000 で試したけど変化なし。
マニュアルの fsockopen では fread を使ってたので試しにこれに変えてみても変化なし。
ちなみにレスポンスヘッダは
HTTP/1.1 200 OK
Date: Thu, 31 Jul 2003 09:41:49 GMT
Server: Apache/1.3.26 (Unix) AuthMySQL/2.20 PHP/4.1.2 mod_gzip/1.3.19.1a mod_ssl/2.8.9 OpenSSL/0.9.6g
Last-Modified: Wed, 30 Jul 2003 12:53:28 GMT
Transfer-Encoding: chunked
Content-Type: text/html
X-Pad: avoid browser bug
こんな感じで返って来てる。
0578梨
03/07/31 19:01ID:???ともあれ、ありがd>>573, >>575
RFC2068にも書いてある(RFC2616を読んでね)けど、
CRLF受信バイト数の16進CRLF
が来てるって事よね。
ちょいとクライアント側の正しい実装がどんなのになるのか調べ中。
0579nobodyさん
03/07/31 22:01ID:CgHqCW+i"ソ\"になってしまいます。Mysqlにも"ソ\"そのまま入ります。
php.iniのmagic_quote行をoffにしてやると直ったんですが
そのままMysqlに登録すると化けてしまっています。
stripslashes()をつけてやるとこれも直るんですが
フィールドごとにいちいちつけるのは面倒くさいので
他に何かいい方法はないでしょうか?
0580あぼーん
NGNG0581あぼーん
NGNG0583梨
03/07/31 22:23ID:???「つーかeucにしろよ」と言いなおす。
0584Re: 配列のスライスに代入
03/08/01 02:01ID:S9mJFNQO出来るかどうか知りたかっただけでした。
一応、マニュアルとMailing-listのアーカイブ検索したけど、それらしい記述がなかったので。
ここが最後の頼みだったんだけど、やっぱ出来ないのかぁ。残念。
0585あぼーん
NGNG0586あぼーん
NGNG0587nobodyさん
03/08/01 09:04ID:???遅レスすまそ。
array_splice() でどう?
ttp://www.php.net/manual/ja/function.array-splice.php
0588nobodyさん
03/08/01 18:21ID:???現象的には確か「ソ」の2バイト目が「¥」のコードと
同じなんでエスケープ処理されるってことだな。
だから stripslashes すれば消えるのはあたりまえで、
もし鯖の設定を変えられないのであればいちいちかか
なきゃならんのはしょうがない。
まぁめんどくさかったら $_REQUEST をループ回して
格納し直したらどうよ。いろんなソースに書かないと
いけないとしてもコピペで済む(あるいはクラスを書くかだな)。
0589山崎 渉
03/08/02 02:21ID:???( ^^ )< ぬるぽ(^^)
0590ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:50ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0592nobodyさん
03/08/03 02:11ID:???【PHP】初心者コーナー 3 Released【スローモード】
アホな質問であっても詳しく質問しろよ。 ネタはおもしろく書けよ。
0594nobodyさん
03/08/03 02:20ID:XIyh3dEfといわれたんですがどういう意味でしょう?
バージョンは4.3.3RC2です。
文法エラーです。
…で予期しないT_CONCAT_EQUALが
0596nobodyさん
03/08/03 21:48ID:fj+ph+5sちょっと食い違いがあるんで質問させてください。
phpで掲示板作った場合、書き込んだ文字列に¥が勝手に
入ってしまう現象って、レンタル鯖での解決方法はstripslashes()関数を
つけることのほかに.htaccessで
php_flag register_globals on
php_flag magic_quotes_gpc off
と書いてアップすれば防げるって
ttp://www.komonet.ne.jp/report.htm
とか
ttp://www.e-provider.jp/server/php.html
に書いてあるんだけど、public_htmlフォルダ内に.htaccess置いても
防げません。.htaccessはメモ帳で「.htaccess.txt」として作成して、
アスキーモードで鯖にアプ後「.htaccess」にリネームしました。
テスト用のbbstest.phpは同じディレクトリにあります。
書くのはあの2行だけでいいんでしょうか?とりあえず2行だけに
しときましたが。
ちなみに鯖はaaa!cafeで、鯖HPのFAQには.htaccessは使えますって
書いてありました。
初心者な質問ですみませんが識者の方、どなたかお答え願えませんでしょーか。
0598nobodyさん
03/08/03 21:57ID:fj+ph+5s中途半端な質問ですんまそん。
調べてもどこもかしこも「php_flag〜の行を“含む”.htaccessファイルを」
と言ってるんで他にも書くことありそうだとは思って調べてるんですが…
.htaccessの正確な書き方が書かれたサイトが全然みつからん…
ミケネコのなんとかは分かりづらすぎ…
0599nobodyさん
03/08/03 21:59ID:fj+ph+5sアア、俺書き込み多すぎ。痛い。
そうですか、なんかあそこFAQの答え方がなげやりですもんね。
自作bbs置く香具師はめんどくてもコード書けってことか。ちくしょう。
0600nobodyさん
03/08/03 23:44ID:???書き方自体はそれでok
あとはユーザディレクトリの.htaccessが有効によまれるのか、
設定の上書きを許可しているのかとか
その辺
0601nobodyさん
03/08/04 00:00ID:???遅いレス。mysqlの「ソ」は私も悩んだ。
文末が「スマソ」とか「日本代表」だとエラーが出るんですよね。
phpinfoでmysqlの"Client API version"を4.*にすると症状は治まります。
どうも3.*のバグ(?)のようです。
mysql4.0+php4.3.2だとconfigureで--with-mysql=/usr/local/mysqlとかするといいみたいです。
0602nobodyさん
03/08/04 01:07ID:QF7utWcHサンクスコ
結局stripslashes関数で回避しました…
0603579
03/08/04 10:05ID:s0qIBXCyありがとうございます。
バグだったんですか^^;
どおりでおかしいと思いました。
では一度4に変えてみます^^
0604nobodyさん
03/08/04 18:00ID:8zL9M6pT判断するにはどうした良いですか?
適当なイメージ関数が定義されているか調べれ
0606nobodyさん
03/08/05 01:16ID:???http://www.php.net/manual/ja/function.extension-loaded.php
0607nobodyさん
03/08/05 01:36ID:???んだけど、もしかして無くなったのかな、どうよ。
0608nobodyさん
03/08/05 08:57ID:V6DdtSg7$html="
<pre>
<br>
<form method=post action=$file>
<table width=480 border=0 align=center>
TEXT1: $r[0]
</table>
</form>
</pre>
";
と記述するとTEXT1の文が長すぎると途中できれてしまうのです。自動で改行する良い方法
はありませんでしょうか?よろしくおねがいします。
0610nobodyさん
03/08/05 11:45ID:BUuQIqrMfunction convert_code (&$val,&$key,$code,$oldcode){
$val = mb_convert_encoding($val,$code,$oldcode);
}
array_walk ($array, 'convert_code','EUC-JP','SJIS');
array_walk ( array arr, string func [, mixed userdata])
という仕様ですが、この場合、userdataは配列や複数の値を
渡せないのでしょうか?
0611608
03/08/05 11:53ID:V6DdtSg7<table>使わないと全体的に左に寄ってしまいますよね。
バランスが悪いので何か対処法はありませんでしょうか?
0613nobodyさん
03/08/05 12:38ID:???よく見りゃつっこみどころ満載の「HTML」だ。
0614あぼーん
NGNG0615あぼーん
NGNG0616nobodyさん
03/08/05 13:16ID:???function convert_code (&$val,&$key,$opts){
$val = mb_convert_encoding($val,$opts[0], $opts[1]);
}
array_walk ($array, 'convert_code', array('EUC-JP', 'SJIS'));
可変引数は渡せないから第3引数にmixed型を渡すように
なっている。
だから配列もしくはオブジェクトなら渡せる。
0617nobodyさん
03/08/05 16:11ID:???CSSを使用すれば余白の制御など細かく出来る。
CSSが大変そうなら <blockquote> タグあたりでどうかね?
0618nobodyさん
03/08/05 17:37ID:woPpy0rJ前略
mysql_query(insert into T1(f1,f2,...) values('$1','$2'...));
mysql_query(insert into T2(fA,fB,...) values('$A','$B'...));
mysql_query(insert into T3(fa,fb,...) values('$a','$b'...));
といったように、一つのphpファイルに連続して複数のテーブルに入力
しようとしても、最初のクエリのみしか受け入れてもらえません。
フォームからの変数は問題なく受け取っており、エラーになるわけでも
ありません。
どなたか、原因と対処を御教示下さい。 m(_ _)m
0619618
03/08/05 17:42ID:woPpy0rJ0621618
03/08/05 20:07ID:HahDoJ1D$result1 = mysql_query("insert into T1(f1,f2,...) values('$1','$2'...)");
$result2 = mysql_query("insert into T2(fA,fB,...) values('$A','$B'...)");
$result3 = mysql_query("insert into T3(fa,fb,...) values('$a','$b'...)");
こんな感じで記述してあります。618は筆足らずでした。。
0622あぼーん
NGNG0623あぼーん
NGNG0624あぼーん
NGNG0625nobodyさん
03/08/05 21:38ID:???mysql_query()を呼んだ後は、返り値がTRUE(非ゼロ)またはFALSEのどちらかを確認して、
もし返り値がFALSEならmysql_errno()とmysql_error()を確認しよう。
さもなくば「エラーが出てない」とは言えない。
0626618
03/08/05 22:25ID:HahDoJ1D感謝!!
早速確認してみます。 ・・・でも、localhostで動作確認したときは
問題なく全入力出来たのに、、、
どういう可能性が考えられるのでしょう?
0627nobodyさん
03/08/05 23:04ID:???ありがとうございました。マニュアル眺めてるだけでは、なかなかわからんもんです。
0628nobodyさん
03/08/06 09:32ID:TaNZWYB4仕様?
0630あぼーん
NGNG0631あぼーん
NGNG0632nobodyさん
03/08/06 12:52ID:9CpMMik0popenでquota呼んだら
>Disk quotas for user xxxx (uid xxxx): none
しか来ないんだけど。
telnetだとusageとかgraceとか出るのにー
何か手ないすか?
0633あぼーん
NGNG0634nobodyさん
03/08/06 13:31ID:???伏字にしているのはエスパー募集だからですか?
0635nobodyさん
03/08/06 15:15ID:???とりあえずシェルから quota 呼ぶのと PHP(HTTPデーモン経由)から quota 呼ぶのとで
ユーザーが違ってると言ってみる
0637nobodyさん
03/08/06 18:46ID:wRB10Bh6日本語と英数が混じってると最後が・になったりして
おかしくなる場合があります。どうすれば上手くできるんでしょうか。
使ってるサーバーがmb関数使えないサーバーなんですけどできますかね。
0638nobodyさん
03/08/06 20:10ID:+64gfyUC0639nobodyさん
03/08/06 20:21ID:???漢字コード変換
http://www.spencernetwork.org/
0640nobodyさん
03/08/06 20:52ID:???文字コードが一定なら正規表現で1字ずつ数えれば良かろう。
([\x00-\x7F]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-\xFE]{2})
とかね。似たような関数をperlから移植する手もある↓
ttp://www2u.biglobe.ne.jp/~MAS/perl/waza/strcut.html
0641nobodyさん
03/08/07 15:46ID:oxPy+Rmw「ID:ジャンル名:所属ID」
という再帰テーブルを作りました。
この場合、直下にあるデータ一覧は所属IDをIDで検索すればすぐ出ますが、
トップからのパスはジャンル>所属しているジャンルID>さらに上のID…>
トップと検索して配列にセット、それを反転してトップ>ジャンル>その下の
ジャンルと整形しています。
この場合何度もSELECT文を出さなければなりませんが、もう少し効率的に
やる方法はないですか?
0643404.HDML ◆StMXML.EXE
03/08/08 01:59ID:???取得する方法は有りますか?
それとも、リモートファイルの内容を一時ファイルとして保存したものをfilesize
関数で読み出すべきでしょうか?
0644nobodyさん
03/08/08 02:17ID:???相手がHTTPで、且つそのヘッダでContent-Lengthが出力されてれば、
そこから取得することは可能。他のプロトコルは、やはり一度ナメるしかないんじゃないかな。
0645404.HDML ◆StMXML.EXE
03/08/08 02:30ID:???リモートからContent-Lengthが返って来ない場合は取得不可なのですね。
有難うございます。
後、うっかり「HTTPでオープン」って書くの忘れてました。すみません。
0646404.HDML ◆StMXML.EXE
03/08/08 03:15ID:???fread関数からデータを読みこみ、それをstrlen関数を使ってサイズを測る、、
という方法を試したら、何故か8192バイト以上が読みこめなかったので、
fgets関数をEOFを検出するまで回し、その過程で取得したデータを一本に
繋げてstrlen関数で読むという方法で何とかなりました。
0647
03/08/08 03:27ID:0z0bK8pF0648nobodyさん
03/08/08 03:33ID:???サーバーが停止している場合はローカル上のファイルを
includeするようにしたいのですが、
どうすればいいのでしょうか?
fopenか何かでリモートに繋ぎ、ダメだったらローカルを読む、と。
0651nobodyさん
03/08/08 09:56ID:LraV0Dkuありがとうございました。
別の質問です。
MYSQLでAutoIncrementのフィールドがあるとき、INSERTしたあと
現在のその数を取得するには再びSELECTするしかないのでしょうか?
登録IDを作りたいと思っていて、PHP側でキーを生成してPrimary設定の
フィールドにINSERTするよりは綺麗な連番になるかと思ったんですが、
保存後にIDが何番になったか再取得しないと表示できないのです、、、
0654nobodyさん
03/08/08 13:18ID:LraV0Dkuではどうやって再取得したらよいでしょうか。
今回の場合はそこまでクリティカルではないので問題ではないですが。
mysql_affected_rowsを利用するか、mysql_insert_idでしょうか。
前者の場合は再取得前に次の値がセットされればダメですし、
後者はいまいち使い方が分からない。。。
0655nobodyさん
03/08/08 13:28ID:LraV0Dku$info = mysql_fetch_array(mysql_query("show table status from DB_USER like 'TABLE_NAME'",$MyLink));
$inserted_id=$info[Auto_increment] - 1;
という方法もありますが、これでもチャットレベルではダメかも。
0656nobodyさん
03/08/08 14:17ID:???http://www.php.net/manual/ja/function.mysql-insert-id.php
マニュアルのとおり、単純に mysql_query した次の行で $foo = mysql_insert_id;
と書けば $foo にIDが取れる寸法のはず。
link識別子を使い分ける場合は明示的に指定する必要がある
0657656
03/08/08 14:17ID:???0658nobodyさん
03/08/08 18:42ID:???コードがSJISになってるファイルアップロードページで処理したら
ファイル名に上に出てきたみたいに「ソ」とか「構」とか入ってる時
$_FILES に格納されるファイル名がその文字以降になっちまったよ。
とりあえずアップロードページのコードをEUCに強制的に変換して
逃げたけどSJIS逝ってよしだな。
0659nobodyさん
03/08/08 19:01ID:???別のマニュアルでは分かりにくかったですけど、これで何となく分かりました。
>AUTO_INCREMENTEDカラム用に生成されたIDを返します。
これを見ると、モロに求めていた機能のようですね。よかった。
0660404.HDML ◆StMXML.EXE
03/08/08 19:05ID:???目的は、リモートファイルの内容&サイズを取得する事なので、
本体も一緒に貰わないとイカンのです。
0661nobodyさん
03/08/09 10:16ID:i34+tz6Yその飛んできた送信ボタンの名前を取得することって可能なんでしょうか?
またどのようにするのでしょうか?
0663nobodyさん
03/08/09 10:40ID:???<form method=post>
<input type=submit name=hogehoge value=booboo>
<input type=submit name=aaaaaaaa value=booboo>
<input type=submit name=bbbbbbbb value=booboo>
</form>
<?phpinfo(32);?>
0664nobodyさん
03/08/09 10:54ID:i34+tz6Yその通りなんですが
回答の意味が分からなかったのでこっちで教えていただこうと
思ったんです。すみませんでした。
>>663
ありがとうございます。
しかし質問が悪かったみたいで知りたいことはちょっと違いまして
例えば商品が複数ならんであるページで
それぞれ商品のカゴに入れるというボタンを押したとき
そのボタンの名前を取得してそのボタン名+price みたいな名前の
パラメータの値と個数をかけた値を足していく というような感じに
したいのです。
長くなって申し訳有りません。
0665nobodyさん
03/08/09 12:44ID:???$_POST['xx']の表記がいまいちわかりません。
やりたいのはこんな感じです↓
function check($yyyy,$mm,$dd){
$yyyy=trim(mb_convert_kana($_POST['$yyyy']),"sn");
$mm =trim(mb_convert_kana($_POST['$mm']),"sn");
$dd =trim(mb_convert_kana($_POST['$dd']),"sn");
if (!checkdate($mm,$dd,$yyyy)){
(以下略)
0666nobodyさん
03/08/09 12:49ID:???あなたの脳内では、ボタン名というのはnameの事?それともvalueの事?
「ボタン名+price」というのはどこに表示したいの?それともhiddenにしてfromに忍ばせたいの?
どうしてボタンの名前の取得が必要なの?
fromを商品毎に用意してそれぞれにsubmitとhiddenで値を定めれば良いんじゃないの?
どうしても全体を1つのfromにまとめたいの?
0668nobodyさん
03/08/09 17:42ID:???test.csv
a,b,123
c,d,456
を
<table><tbody><tr>
<td>a</td><td>b</td><td>123</tr>
<td>c</td><td>d</td><td>456</tr>
</tr></tbody></table>
のように表示することは可能でしょうか?
よろしくお願いします。
0670nobodyさん
03/08/09 18:57ID:???買った本に載ってなかったんで(正直ショックだった
何か参考になるサイト等がありましたらお願いします。
0671nobodyさん
03/08/09 19:22ID:???$a=file("test.csv");
echo "<table><tbody>\n";
foreach($a as $b){
$b=rtrim($b);
echo "<tr>";
$c=explode(",",$b);
foreach($c as $d){
echo "<td>$d</td>";
}
echo "</tr>\n";
}
echo "</tbody></table>";
0672nobodyさん
03/08/09 19:39ID:???0673nobodyさん
03/08/09 20:31ID:i34+tz6Yなんてある配列の数を1つ減らしたりしたいのですが
どのようにしたらよいのでしょうか?
0674nobodyさん
03/08/09 20:42ID:stysPTCZ物凄くでかいオッパイをぷるんぷるんに揺らしながらハゲオヤジにバックから突かれます。
最後のオナシーンではなんととうもろこし挿入!
ブツブツで気持ちいいんでしょうね。
無料ムービー観てね。
http://www.pinkfriend.com/
0676nobodyさん
03/08/09 21:10ID:4ZC+Pkmahttp://endou.kir.jp/marimo/link.html
0677直リン
03/08/09 21:13ID:V17SBkWV0678nobodyさん
03/08/10 00:16ID:9fsvpXwnif(isset($x)) と if(!$x) はどっちがいいんでしょうか?何か違いがあるんですか?
0680の
03/08/10 00:19ID:iKMsAzncerror_reporting(E_ALL);
とかして動かしてみな。
0682nobodyさん
03/08/10 07:14ID:fzrQOeyO何度も行き来させる場合、
セッション変数にデータを入れて持たせるのと、
ページごとにMySQLから読ませるのと、
どっちが負荷が軽いですか?
0683nobodyさん
03/08/10 08:11ID:???あんまりイクナイですか?
ページごとにあるwebサイトからそのぐらいのデータをダウンロード
するのをさけたいのです
0684nobodyさん
03/08/10 23:48ID:???パスワード有無の判別だけでも出来れば解凍時にパスワード入力を
施すようにして、あとはunzipを呼び出すなんて事も出来そうなんですが。
さーぱーりわかりません。
0685nobodyさん
03/08/11 00:23ID:???1060417366 -> yyyy/mm/dd hh:mm:ss
みたいな。
0686nobodyさん
03/08/11 00:38ID:???菅さんとこのあぷろだが暗号zipを判別した筈。perlだけどロジックをぱくればよろしい。
http://sugachan.dip.jp/download/uploader.php
>>685
http://jp.php.net/manual/ja/function.date.php
0687nobodyさん
03/08/11 00:52ID:???マニュアルの日付の項をちょっとでも読んだのならいくらでも出てくるのだが?
http://jp.php.net/manual/ja/ref.datetime.php
0688nobodyさん
03/08/11 02:56ID:MrZa7J+S正規表現に関することで悩みが…。
<?php
if (preg_match ("/[ぁ-ん]{5}/", "あいうえお")) {
print "A match was found.";
} else {
print "A match was not found.";
}
?>
っていうソースのファイルを開いたんですわ。
そしたら
Warning: Compilation failed: range out of order in character class at offset 4 in d:\public\root\c.php on line 2
A match was not found.
って表示が出てくるんですよ。
これなら 大丈夫なんですけどね…。
<?php
if (preg_match ("/[a-z]{5}/", "abcde")) {
print "A match was found.";
} else {
print "A match was not found.";
}
?>
日本語だとうまくいかないようなんですが、なんでなんでしょうか?
pregは非対応だから。mb_eregでやれ。
0691nobodyさん
03/08/11 06:45ID:ugZ5Rko0http://endou.kir.jp/yuminet/link.html
http://endou.kir.jp/marimo/link.html
0692nobodyさん
03/08/11 07:45ID:vd5Ibrol#!/usr/bin/perl
# CGIヘッダの出力
print "Content-type: text/html\n\n";
while($HP1 > 0) and ($HP2 > 0){
srand1;
srand2;
}
# Player1
$HP1 = 400 - $kougeki1;
$KIK1 = 60;
$PAN1 = 20;
$DF1 = 10;
# Player2
$HP2 = 300 - $kougeki2;
$KIK2 = 100;
$PAN2 = 40;
$DF2 = 0;
# Player1
$kougeki1 = srand;
# Player2
$kougeki2 = srand2;
0693nobodyさん
03/08/11 07:46ID:vd5Ibrolif($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN1'} - $defense->{'$DF2'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK1'} - $defense->{'$DF2'};
}
0694nobodyさん
03/08/11 07:46ID:vd5Ibrolif($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN2'} - $defense->{'$DF1'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK2'} - $defense->{'$DF1'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP1'} -= $damage;
($damage < 0) and ($damage = 0);
$defense->{'HP2'} -= $damage;
0695nobodyさん
03/08/11 07:47ID:vd5Ibrolprint "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>対戦バトル</title></head>\n";
print "<body>
<p>Player1:体力は$HP1です</p>
<p>Player2:体力は$HP2です</p>
<p>Player1は<big>$kougeki1</big>のダメージを与えた。</p>
<p>Player1は<big>$kougeki1</big>のダメージを受けて混乱した。
<p>Player1は<big>$kougeki1</big>のダメージで野原でクソをし始めた。
<p>Player2は<big>>$kougeki2</big>のダメージを与えた。</p>
<p>Player2は<big>>$kougeki2</big>のダメージを受けて裸踊りを始めた。
<p>Player2は<big>>$kougeki2</big>のダメージで光浦なみの女にレイプし始めた。</p></p></body>\n";
print "</html>";
0696nobodyさん
03/08/11 07:50ID:vd5Ibrolパンチとキックが出る
パンチは5分の3で命中
5分の2はミス
命中すると5分の1のは攻撃力が半減
さらに相手がキックをすると、パンチ力が半減
キックはふつうに当たる
HP0になった方が死亡
0697_
03/08/11 08:08ID:???0698_
03/08/11 08:16ID:???0700nobodyさん
03/08/11 11:58ID:vd5Ibrol0701673
03/08/11 12:26ID:UQrY/a3dありがとうございます。
しかし、$HTTP_SESSION_VARS["a"]--としても
count($HTTP_SESSION_VARS["a"])の数は減っていないみたいなんですが
何かおかしいのでしょうか?
0702nobodyさん
03/08/11 13:11ID:???>675 のは配列の要素が持っている数値を減らす方法。
>673 は配列の要素を削りたいんだろ?なら↓の関数でどう?
http://www.php.net/manual/ja/function.array-splice.php
0703あぼーん
03/08/11 13:12ID:???0704あぼーん
03/08/11 13:13ID:???0705688
03/08/11 15:31ID:bEOLhIPG<?php
if (mb_ereg("/[ぁ-ん]{5}/", "あいうえお")) {
print "A match was found.";
} else {
print "A match was not found.";
}
?>
結果が A match was not found.
なんですけど、まだ何かおかしいところあるんでしょうか?
0707nobodyさん
03/08/11 17:48ID:+bwnIYmo一応サーバーはKTplanを使っています。
Linuxサーバーのようです。PHP Version 4.2.2
サンプルの本を使いながらメールフォームを試してるのですが、
「PHPでWebアプリケーションを作ろう」という1年ほど前に買った本では
文字コードEUC、改行LFで保存しています。
これは、formmail.html,formmail.php,formmail_lib.php
という、入力ページ、プログラム本体、ライブラリの3つのファイルと
jcode.php,jcode_mini.php
という、日本語処理のファイルをあげています。
これは問題なく動作しましたし、届いたメールも文字化けはしていませんでした。
ただ、メールの内容を確認するというページが無いので違うのを試しました。
「PHPによるWebアプリケーションサンプル」という本で
サンプルを試したところ、サンプルCDには、
Winユーザー向けの script_sjis用と
Linuxユーザー向けの script_eucという
2つがありました。
で、KTplanのサーバーはLinuxだし、上に書いたメールフォームは
EUCで保存して問題なかったので、Linux用のを使いました。
すると、届いたメールの内容が文字化けしていました。
試してみようと思い、Win用のsjis保存のを使ってみたら
問題なく文字化けしていませんでした。
この違いはどう考えればいいのでしょうか?
先に試した本のやつは、日本語変換用のファイルを使うので
そうなのかなと思いますが、次の本のやつは
メールを受け取る環境に合わせてsjisとEUC保存を使い分けるのでしょうか?
0708nobodyさん
03/08/11 17:53ID:0RwRz5Kmhttp://endou.kir.jp/akira/linkvp.html
0709_
03/08/11 18:09ID:???0710_
03/08/11 18:21ID:???0711nobodyさん
03/08/11 18:23ID:ZEkRELaD★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★ 送料激安! スピード発送! 商品豊富!
★☆ http://www.get-dvd.com
☆★ 激安DVDショップ 「GETDVDドットコム」
★☆ http://www.get-dvd.com
☆★ 今すぐアクセス Let’s Go・Go!!
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
0712nobodyさん
03/08/11 18:44ID:???0713nobodyさん
03/08/11 18:50ID:???素直に答えてくださいと…
>セッション変数に200KBぐらいのデータを持たせるのって
>あんまりイクナイですか?
イクナイですよ。
0714nobodyさん
03/08/11 18:55ID:???セッション変数に持たせること自体は問題無いよ。
後半部分は、hiddenで渡したり受け取ったりしたくない、って意味なのかな?
「あるWebサイト」って何のこっちゃと思って、流してた。
0715nobodyさん
03/08/11 19:15ID:???2.5が一年前かぁ.....
,-ー─‐‐-、
,! || |
!‐-------‐
.|:::i ./ ̄ ̄ヽi
,|:::i | (,,゚д゚)|| < ttp://www.zend.co.jp/press/2003/press0807.php
|::::(ノ 中濃 ||)
|::::i |..ソ ー ス||
\i `-----'/
 ̄U"U
0717nobodyさん
03/08/11 19:25ID:???何回もdatファイルをダウンロードしにいくのもアレなので
セッション変数にdatファイルのデータを全部詰め込んで
おけばいいのかなぁと・・
0718705
03/08/11 19:50ID:Av1x7+ubなんでだ・・・・なんでだめなんだ・・・・・・・・
ソースはおかしくないですよね?
ちなみに ttp://www.xrea.com/ のサーバーに置こうとしてるんですけど。
0719nobodyさん
03/08/11 19:51ID:0RwRz5Kmhttp://endou.kir.jp/marimo/link.html
0720nobodyさん
03/08/11 19:55ID:???0721nobodyさん
03/08/11 21:58ID:2ChtRC4J除霊をしてあげるという男に乳もまれるはオマンコ触られるは挿入されるは・・・
本当に悪霊は退散したのでしょうか?こんな気持ちのいい除霊だったらいつでもOK!
制服好きならここ!
無料ムービーをどうぞ
http://www.pinkschool.com/
0722nobodyさん
03/08/11 22:15ID:S089as81▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
アダルトDVD激安価格1枚 500円より〜
http://www.dvd-exp.com
最短でご注文いただいた即日発送!→→→http://www.dvd-exp.com
セルビデオ店の人気商品が24時間お買い物が出来ます。
http://www.dvd-exp.com←へGO!
0723_
03/08/11 22:16ID:???0724nobodyさん
03/08/11 22:19ID:???仮にスクリプトをSJISで書いていたとしたら、mb_ereg()の前に
mb_regex_encoding("SJIS");
と書くと動くかもよ。
0725705
03/08/11 23:24ID:Av1x7+ub0726nobodyさん
03/08/12 09:37ID:PFVgJDlR参考になるフリーのスクリプトないですか?
自分でスクリプトを書いてるんだけどうまくいかなくて
気が狂いそう。
0727nobodyさん
03/08/12 10:03ID:???あきらめて業者に頼め。
0728707
03/08/12 12:03ID:Cs4RKLp1製作HPに載ってました。
0729nobodyさん
03/08/12 14:28ID:???0730nobodyさん
03/08/12 15:45ID:???受け取ったクエリのなかの "' を htmlspecialchars で
置き換えるとバックスラッシュ付きになっちまうんですがナゼでしょ?
" -> \"(¥&quot;)
バックスラッシュ要らないんですがどうすればイイのでしょう?
0731nobodyさん
03/08/12 20:20ID:???if (get_magic_quotes_gpc()) {
$hoge = stripslashes($hoge);
}
$hoge = htmlspecialchars($hoge);
0732nobodyさん
03/08/12 21:15ID:P8GdC1tUhttp://www.sexpixbox.com/pleasant/sexy/index.html
0733nobodyさん
03/08/12 23:39ID:kb077f1Kこいつバカ?・・ってくらいエロイ女がいるね・・・ここ
こんな可愛い顔してなー・・・・・・変態
http://vs2.f-t-s.com/~moemoe/dxlive.html
0734nobodyさん
03/08/13 00:57ID:pM9W3pWPpage.htmというファイルがあってその内容をinclude()やrequire()等をつかって読み込んで表示させたいのですが、
page.htmというファイルの中に記述されてある$PHP_SELFがそのまま出力されて困ってます。
つまり、page.htmの中に記述されてる変数が変数として認識されずに出力されてるってことなんですが、
page.htm内の変数を認識させて出力するにはどうすればいいでしょうか?
・・・・・説明下手でスマソ。
0736nobodyさん
03/08/13 02:17ID:???その$PHP_SELFは、<?php echo $PHP_SELF; ?>のような形にしてる?
そんな必要あるの?って思ったらincludeの説明を見てくだちぃ
0737nobodyさん
03/08/13 02:31ID:pM9W3pWPなるほど。助かりました!
0738nobodyさん
03/08/13 02:59ID:9iljZfn80739nobodyさん
03/08/13 03:00ID:???0741nobodyさん
03/08/13 09:51ID:???そんなムキにならずに
楽に生きましょうよ。
眉間にしわがよってますよ。
0742nobodyさん
03/08/13 10:11ID:???0744nobodyさん
03/08/13 11:22ID:???オモシロイから。
ですよ。
君馬鹿?
ユーモアの精神もってよ。
みけんにしわよせていないでさ♪
0746nobodyさん
03/08/13 11:28ID:???つれたつれた
んじゃ、また。
0747nobodyさん
03/08/13 11:35ID:???0749nobodyさん
03/08/13 12:36ID:???(セッションの仕組み上)クライアントごとにデータを保存するわけだから、
無駄が多いような気がするけど。
0752nobodyさん
03/08/13 22:01ID:3p1HFmGf0753nobodyさん
03/08/13 22:09ID:???readfileで殆どのページを表示させるのと、
PHPファイルに情報を入れておいて、 ?> でPHPを出て表示させるのとどちらがサーバー負担が小さいでしょうか。
前者はもう一つファイルを開くという作業があって、
後者はPHPとしてのチェック作業がありますよね。
もちろんサイズが小さければ後者だと思うのですが、
ある程度大きくなる前者の方が良い気がします。
どの辺りのサイズで切り替えを考えるべきでしょうか。
簡単な例
前者 <?php readfile("htm.txt"); ?>
後者: <?php TEST ?>このあとに全ページが続く
0754nobodyさん
03/08/13 22:11ID:???後者: <?php ?>このあとに全ページが続く
PHP-GTKとかいうのがあったな。デスクトップアプリ作るやつ。
ブラウザをPHPで作るアフォはあまりいないと思うが。
0757nobodyさん
03/08/14 13:29ID:GZQg1swIを使用しているのですが、これをの投書を表示するindex.phpに、
最新1項目だけ表示させるにはどうすればいいのでしょうか?
<-------- index.php -------->
<?php
include "bblog/config.php";
if(is_numeric(@$_GET['postid'])) {
$bBlog->assign('postid',$_GET['postid']);
$bBlog->show_post = $_GET['postid'];
$bBlog->display('post.html');
exit;
}
if(is_numeric(@$_GET['sectionid'])) {
$bBlog->assign('sectionid',$_GET['sectionid']);
$bBlog->assign('sectionname',$bBlog->sect_by_name[$_GET['sectionid']]);
$bBlog->show_section = $_GET['sectionid'];
}
$bBlog->display('index.html');
?>
<-------- ここまで -------->
0760nobodyさん
03/08/14 14:19ID:JF8X1a1vupload_max_filesize = 2M
となっているレンタルサーバ(WebARENA)なんですが
どうにかして2M以上のファイルをアップロードできるように
する手段はないでしょうか?
0762nobodyさん
03/08/14 15:58ID:???ちょっと落としてソースを眺めてるのだが bblog のソースはなんか
TURBO PASCAL 系のようなインデントがされてるな。
つーか TAB インデントと SPACE インデントが混ざってるところが
痛い。
まぁそれはおいといて、bBlog.class.php ってファイルの中の get_posts
あたりを見てみたらどう?このメソッドで出来そうだけど。
0763nobodyさん
03/08/14 16:34ID:3awXqGFxなぜ?
ttp://www.php.net/downloads.php
サーバーがない・・・
なぜ?
ttp://www.php.gr.jp/
下記のバージョンを使っているのですが、ユーザディレクトリで
fopenを使うと、ファイルが無い言われます。(requireなどはオッケー)
フルパスで指定すると平気なのですが、相対パスだとアウトです。
ちょっと調べたのですが、「バグ?」という曖昧な情報だけで、
バグかどうかに関する物が見つかりませんでした。
これって結局バグなのでしょうか?
PHP 4.3.0 (cli) (built: Jan 17 2003 16:22:27)
Copyright (c) 1997-2002 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies
0766nobodyさん
03/08/14 17:10ID:???file_exists() は true 返すの?
0767nobodyさん
03/08/14 17:15ID:SyUXGdwyパンティーが見えそうな位に短いスカート、ムチムチした足にルーズソックス。
私自身も大のセーラーフェチなんです。
そんな欲望を満たしてくれる動画だけを徹底的に集めました。
無料ムービーを観てください。
http://www.pinkschool.com/
0769nobodyさん
03/08/14 17:50ID:???0770765
03/08/14 18:23ID:???<?php
$test = fopen("./test.conf",'r');
?>
で、こけます。
当然、test.confは同じところにおいてありまつ。
さっぱり(;´Д`)
0771nobodyさん
03/08/14 18:56ID:???0772nobodyさん
03/08/14 19:00ID:???0773763
03/08/14 19:02ID:???ttp:///get/php-4.3.2-Win32.zip/from/jp.php.net/mirror
ってなってる。
ttp://www.php.net/get/php-4.3.2-Win32.zip/from/jp.php.net/mirror
にしたら、保存できた。
ttp://www.php.gr.jp/
は、復活していた
0775nobodyさん
03/08/14 20:14ID:???http://jp.php.net/manual/ja/function.file-exists.php#26757
file_exists (getcwd()."/somedir/somefile.php");とか
file_exists (realpath("./somedir/somefile.php"));で動く
0776nobodyさん
03/08/14 20:48ID:gUgtxMRFという配列を
$RENSOU[A] = 001
$RENSOU[b] = 002
とする場合、perlではそのまま代入すれば出来ましたが、
PHPの場合はどうやって変更すればよいでしょうか?
しまった。
ここに張っておけばよかったか。
--- PHP users MLから転載 ---
日時 :8月14日(木) 終日
影響範囲:www.php.gr.jp のみ (注)
理由 :回線拡張工事の為
その他 :14日中には完了する予定ですが、予期しない問題の為
15日もアクセスできない可能性もあります。
また、何らかの理由により15日以降回線に一時的に
障害が発生することもあります。
以上、ご不便をおかけ致しますが、皆様のご協力をお願い致します。
注:メーリングリストは使用できます。
0778nobodyさん
03/08/14 21:14ID:???$hoge=array("A","001","B","002","C","003");
reset($hoge);
while(list(,$key)=each($hoge)){
list(,$value)=each($hoge);
$RENSOU["$key"]=$value;
}
0779nobodyさん
03/08/14 21:50ID:gUgtxMRFありがとうございます。listの使い方が分かりました。
しかしperlに比べて少々めんどい、、、
0780nobodyさん
03/08/14 22:04ID:???perlのやりかたをphpで実現しようとすれば当然めんどい。
phpはphpのやりかたで便利なようにできている。
どの言語でも同じ事だが。
0781nobodyさん
03/08/15 07:29ID:???each()は連想配列用だからトリッキーになっちゃう。
素直に書くとこうじゃない?
$hoge=array("A","001","B","002","C","003");
reset($hoge);
while (($key = current($hoge)) !== FALSE) {
$RENSOU[$key] = next($hoge);
next($hoge);
}
元の配列を破壊するならこっち。
$hoge=array("A","001","B","002","C","003");
while (($key = array_shift($hoge)) !== NULL) {
$RENSOU[$key] = array_shift($hoge);
}
0782nobodyさん
03/08/15 11:04ID:???こんなのでも大丈夫みたい。
$hoge=array("A","001","B","002","C","003");
foreach ( $hoge as $key ) {
$RENSOU[$key] = next( $hoge );
}
0783782
03/08/15 11:14ID:???結果に不要な値が含まれるので失敗。
0784nobodyさん
03/08/15 11:25ID:???falseが帰ってくるから場合によっては危険。
0785nobodyさん
03/08/15 11:28ID:mChPmz42「表示」「機能」などの文字を書き込むと文字化けしてしまいます。
化けないようにするには書き込むときに何か特別な処理が必要なんでしょうか?
0786nobodyさん
03/08/15 11:41ID:???これは \ と同じなので次の文字の1バイト目がエスケープされてしまう。
1. SJISで書くのをやめる
2. PHPの設定でmagic_quotes_gpcをonにする
3. 危なそうな変数はaddslashesを通過させる
1.がお薦め。
0787新宿歌舞伎町裏DVD本舗
03/08/15 11:50ID:2mbTnFQt☆★ 無修正DVD★☆なら 新宿歌舞伎町直送 ☆★
人気爆発新作ベスト9入荷
堤さやか引退特集 憂木瞳 プロジェクトX No8 ベイビーフェイスをやっちまえ
白石ひより・愛葉るび SNAPSHOT 地下映像陵辱援交 すぎはら美里痴女教師
店頭販売の売れ筋のみ厳選してみました 安心の後払い
http://book-i.net/moromoro/
白石ひとみ 小森詩 山田まり 長瀬愛
@@ 及川奈央 レジェンド @@ 堤さやか 東京バーチャル 依然大好評
サンプル画像充実 見る価値あり 最高画質
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
0788nobodyさん
03/08/15 12:07ID:mChPmz421と3はやってみたんですが何故かダメでした。
動かしてるのは自分のサーバじゃないんですが、2は調べてみたらoffになってました。
こうゆう場合はどうすればいいんでしょうか?
0790nobodyさん
03/08/15 12:22ID:mChPmz42SJISになってましたが、なんか色々やってるうちに
文字化けせずに書けるようになりました。
$msg = stripslashes($msg);
この行をのけたらいけました。
どうもありがとうございます。
0791Name_Not_Found
03/08/15 12:28ID:???皆さんどうやって指定しているのですか?
0793nobodyさん
03/08/15 13:39ID:ZJsoX+AAMLに書こうかと思ったけど、粘着されるとやだからこっちに書いてみるテスト。
0794nobodyさん
03/08/15 14:58ID:???ここでやれ。夏厨
PHP-users ML ヲチ
http://pc2.2ch.net/test/read.cgi/php/1031734100/
0795793
03/08/15 15:41ID:???0796757
03/08/15 16:14ID:???/* \bblog\templates\default\index.html */
{getrecentposts num=1 assign=posts}
上記の行の数字部分を変えることで、表示ポスト数を変えることができました。
0797nobodyさん
03/08/15 17:10ID:???正常に取得することができません($strはから文字でした)
どのようにすれば取得できるのでしょうか?間違っている点の指摘などありましたら
よろしくお願い致します
$fp = fopen( "php://stdin", "rb" ) or die( "error" );
$str = fread( $fp, 3 );//ファイルタイプチェックのため
以下続く
0798nobodyさん
03/08/15 18:18ID:???0799nobodyさん
03/08/15 21:36ID:???stdinはだめ。.htaccessで
php_flag always_populate_raw_post_data On
と設定して、postを受け取ると$HTTP_RAW_POST_DATAに生の中身が入ってるよ。
サンプル↓
<?php echo $HTTP_RAW_POST_DATA;?>
<form method=post><input type=text name=booboo><input type=submit value=post></from>
0800nobodyさん
03/08/15 22:05ID:???以下処理が続くという意味で書いたのですが、ものすごく紛らわしくて
申し訳ありませんでしたm(__)m
>>799
stdinだとダメだったんですか。ずっとこれで頑張っていました__| ̄|○
早速、教えていただいたものでやってみようと思います。
0801山崎 渉
03/08/15 22:28ID:???│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0802nobodyさん
03/08/15 22:52ID:bGL7o/n70803nobodyさん
03/08/16 00:09ID:yCKhoHep0804nobodyさん
03/08/16 00:41ID:bJ8kSIAeすべて無修正でみせます。
アニメの中の美少女のオマンコ、女子校生のオマンコ
はっきり見えます。
無料画像をここでゲッツ!!
http://www.pinkfriend.com/
0805nobodyさん
03/08/16 01:35ID:kg29KKNXどの掲示板を使っても、必ずエラーメッセージが表示されるのですが、どうしましょう。
例えば
$mode = $_POST["mode"]; に対して
Notice: Undefined index: mode in 〜 というメッセージを出すのですが、
無視してもよろしいんでしょうか。
こうした方がより良いという方法があったら、教えて頂きたい次第です。
0806nobodyさん
03/08/16 01:50ID:???0807nobodyさん
03/08/16 02:25ID:???上のスクリプトはこんな感じでした。
echo "<form action=\"$setting[script]\" method=\"POST\">\n";
aaacafeの方に上げて試すと、特にエラーメッセージは出ませんでした。
エラー出っ放しでも投稿は反映されるので、
htmllint並みの潔癖さんなのかしらん。と、心のどこかで疑っている次第です。
できればエラーメッセージを止める以外の方法で、解決できませんでしょうか。
0808807
03/08/16 03:06ID:???インストーラー版をアンインストールして、
zipでまとめられていた方を入れてみたところ、
エラーメッセージが綺麗さっぱり消えました。
ヒントはhttp://pc2.2ch.net/test/read.cgi/php/1046326634/7でした。
8時過ぎからずっと悩んで、検索しまくってたのにー。
0809nobodyさん
03/08/16 03:20ID:???php.ini の error_reporting はどうなってますか?
消えたように見えただけでエラー出力が抑止されてるだけ?
(aaacafeの設定がそうなっているとか)
$mode = (isset($_POST['mode']) ? $_POST['mode'] : ''); とか
0810807
03/08/16 03:54ID:???error_reporting = E_ALL & ~E_NOTICE
でした。以前がどうだったか分かりませんが、デフォルトのはずです。
英語もあんまり読めないしー。
>$mode = (isset($_POST['mode']) ? $_POST['mode'] : '');
なるほど、とか言えるほどの知識はないので、
リファレンス見ながら理解してみようと思います。
ありがとうございます。
808のスレ見てたら、もう酷い時間ですよ!
0811nobodyさん
03/08/16 04:46ID:0jlc9p4o0812nobodyさん
03/08/16 06:32ID:???せいきひょうげんと読みます。
文字列の操作に使います。以上。
0813nobodyさん
03/08/16 11:35ID:???$a = 0;
$b = 0;
$heikin = $a/$b;
echo $heikin;
のように、"0"がセットされた$aと$bを使い割り算をし、ある数値を求めたいのですが
どうも0/0の計算の場合に
Warning: Division by zero in 〜
と上の四行ソースで言うと、三行目で警告が出てしまうッス。 これを回避する方法を教えてください。
お願いします。
0814nobodyさん
03/08/16 12:09ID:???$b = 0;
#$heikin = $a/$b;
echo $heikin;
0815nobodyさん
03/08/16 12:29ID:???b=0 の時だけ処理を分ける
算数の問題のような
0816nobodyさん
03/08/16 12:40ID:???ありがとうございますっ!
お、そんな方法が・・・と思ったら$aと$bが0の場合は$heikinに0がセットされないんですな・・とほほ。
>>815
そうそう、二時間近くいじくって先ほどそれに気が付きました汗
ありがとうございましたー!
0819nobodyさん
03/08/17 00:22ID:/KfDx3SXフォルダの中にフォルダを作るにはどうしたらよいですか。
↓やるとhogeフォルダが作成できません。(uidが違うから?)
mkdir("aaa");
chmod ("aaa", 0707);
mkdir("aaa/hoge");
0820nobodyさん
03/08/17 14:57ID:???0821nobodyさん
03/08/17 18:07ID:w938zl0m現在使用しているPHPスクリプトが時差設定が出来なくて困ってます。
$abctime= (date ("H:i:s"));
この部分をgmtimeとか使って変える気がするんですが、
どうすればいいんでしょうか?
誰かおながいします
0823nobodyさん
03/08/18 00:09ID:pnFIbaKU$abctime=putenv('TZ=JST-9');
ってことでしょうか?
すんません知識がしょぼくて汗
0824821
03/08/18 00:19ID:pnFIbaKU正しくは以下です。
$abcdate = (date ("Y-m-d"));
$abctime= (date ("H:i:s"));
これを何とか日本の時間に直したいんでつ。
よろしくお願いしまつ
0827nobodyさん
03/08/18 06:12ID:BwATsvIe0828nobodyさん
03/08/18 07:21ID:???作成するシステム全体で読み込みしかしないんだったら不要。
もしどこかで書き込みと競合する可能性があって、それがまずいなら何らかのロックは必要。
あとflock()はadvisory lockなので、みんなで守らないと意味ないので注意。
0829nobodyさん
03/08/18 08:06ID:BwATsvIeじゃあどこかでファイルに書き込みする所が1箇所でもあれば
fopenで開く処理のときは全部lockかけないといけないって事ですか?
0830nobodyさん
03/08/18 09:16ID:???読み込むだけなら無くても良いと思うが・・・。
0832nobodyさん
03/08/19 03:47ID:OzwjKvy8だったらやっぱり使う定数が多い場合は全部defineで宣言した方がいいんですか?
global宣言しないといけないものがあまりに多くなってしまったので。
定数として宣言した方が処理が早くなるとかあるんでしょうか。
0833nobodyさん
03/08/19 08:22ID:???あるファイル(txtやdat)ファイルに
文章あ-1 文章あ-2 文章あ-3
文章い-1 文章い-2 文章い-3
が書いてあって
別のphpファイルから 文章あのなかからランダムでひとつ、文章いの中からランダムでひとつ取り出すのはどうしたらできるでしょうか?
どなたか 教えてください。
0834nobodyさん
03/08/19 11:48ID:???複雑化してるなら定数で済むものは定数でいいのでは?たぶん処理も早いし
>>833
文章あ-ランダム数 文章い-ランダム数 でいいかと?
0835nobodyさん
03/08/19 20:37ID:HWSDVW6Bhttp://homepage3.nifty.com/manko/
0836nobodyさん
03/08/20 02:26ID:DmnhIRDP0838nobodyさん
03/08/20 04:12ID:???file関数で一度全部配列に入れて1行目だけ書き換えて保存する以外に効率が良い方法はどんなやり方がありますか?
0839nobodyさん
03/08/20 04:31ID:???どうしたらいいんですか?
0840nobodyさん
03/08/20 06:18ID:5bGlwbl+でmixed searchが半角1文字のときは探してくれないんでしょうか。
0841_
03/08/20 06:30ID:???0842nobodyさん
03/08/20 21:17ID:UjFXAgnthttp://beauty.h.fc2.com/
0844nobodyさん
03/08/21 02:26ID:???>>843
行が固定長でなければぜんぶ読むしかないんとちがう?
file()で正解だと思う。ネイティブ処理だし。
いっそログファイルをdbmにするのはどう?
0846838
03/08/21 06:13ID:???最初ある1行目を消して違うものに書き換え、2行目以降は元のままって意味だったんですが、やっぱりfopenでできますか?
0847nobodyさん
03/08/21 15:36ID:pPohBqhpPHPの質問で数値の表示方法についての質問なんですが、数値の計算で
例えば
10×1.05 をやると 10.5
になるのですがこれの小数点以下を切り捨てたいのですが、どうすれ
ば良 いのでしょう。number_format関数を使えば小数点以下の修正が
行なえるというのは知っているのですが、number_format関数を使うと
1000などの数値の時、1,000となり","(カンマ)が表示されてしまい、数
値として認識しなくなってしまいます。
この計算の後にもさらに計算をしたいので、数値として認識させなけれ
ばならないので、こまっています。
どうぞご指導をよろしくおねがいします。
0848nobodyさん
03/08/21 16:33ID:???(int)
0849nobodyさん
03/08/21 16:53ID:pPohBqhpたすかりますね。今後もどんどん活用しようと思います!!
0850nobodyさん
03/08/21 16:56ID:???>>846
いや、だから普通にやるなら無理なんだってば。
ファイルを開くモードによって書き換えた残りの部分が
中途半端に残ったり、ファイルサイズが0になったりする訳
だから、いずれにせよ、書き換えた部分以外の残りを
書き足さなきゃだめな訳。
file()で読み込んだ配列をforでまわして残りを書き込むとか。
0852nobodyさん
04/03/26 19:42ID:???0853nobodyさん
04/03/26 19:46ID:???PHP-users MLはそりゃもう、大流行だよ
■ このスレッドは過去ログ倉庫に格納されています