【PHP】くだらねぇ質問はここに書き込みやがれpart3
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
05/02/07 21:47:15ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
0548nobodyさん
05/02/22 21:49:07ID:???改行コードは全て試してみました。
残念ながら、全て同じ結果でした…。
0551nobodyさん
05/02/22 21:53:26ID:???print "あなたは3D6を振った!<BR>結果は、{$diceA} + {$diceB} + {$diceC} で、{$all}だ!<BR>";
0552551
05/02/22 21:57:29ID:???print <<<_RESULT_
<HTML>
<HEAD>
<TITLE>ダイス振り(リロードでもう一度)</TITLE>
</HEAD>
<BODY>
あなたは3D6を振った!<BR>
結果は、{$diceA} + {$diceB} + {$diceC} で、{$all}だ!<BR>
</BODY>
</HTML>
_RESULT_;
0553nobodyさん
05/02/22 21:57:35ID:???アスキーで送信しなおしても、同じ結果でした。(改行コードももう一度試しました。)
>>545
それに変えても、同じ結果でした。
何が原因なのかな…
変えましたけど、結果変わらず。
Tabでインデントしちゃダメですか?
ごめんなさい、僕は非常にバカでした。
さくらサーバのライトタイプを使用しているのですが、
PHPはスタンダード以上でないと使用できないそうです。
お騒がせしてすみませんでしたorz
0558nobodyさん
05/02/22 22:05:21ID:???print <<<_RESULT_
_RESULT_
これって何?
たまに見かけるけどよくわからない。
$body=ごにょごにょ;
print $bady;
ってするようなもん?
0559nobodyさん
05/02/22 22:06:00ID:???print $body;
ですスマン
0562nobodyさん
05/02/22 23:08:24ID:???というか、誰か気付いてやれよ、500鯖鰓が出てるってことはCGIモジュールだろ。
パーミッションを705なり、実行権を与えるもんにしろ。
0563nobodyさん
05/02/23 01:01:43ID:???0564nobodyさん
05/02/23 02:10:44ID:3lWUKcoHフォームのデータをPOST変数で受け取るのですが、
入力したテキスト内容(POST変数に格納されている)の全角が文字化けしてしまいます。
なにか設定が間違っているのでしょうか?
お願いします。
0566nobodyさん
05/02/23 09:36:09ID:yBSmZfwsMysqlのデータベースを使っています。その中で商品説明のカラムに重量が
記入されているのを商品IDを元に他のテーブルに抜き取りたいのですが、そんな
ことはPHPでできますか?説明がうまくできていなかったらすみません。
0567nobodyさん
05/02/23 11:13:24ID:???0569564
05/02/23 13:33:09ID:2ladzgdIありがとうございます。
解決しました。PHPの設定ミスでしたorz
0570nobodyさん
05/02/23 13:54:12ID:eVm9jlrT$i=array(1,2,3,4,5,6,7,8,9)
があったとして、これを三つづつ取り出した後に、<br>を入れたいのです
が、どうすればよいかわかりません。お手数ですがアドバイス頂ければと
思います。今は、print(join(",",$i)) とコンマで区切って表示してます。
理想としては、結果を
1 2 3
4 5 6
7 8 9
...
としたいんです。お願いします。助けて下さい・・・
0571nobodyさん
05/02/23 14:09:01ID:???何がしたいのかよーけわからんが、これでも出来るというお話。
全然最適化されているとは思えないけど。
$i=array(1,2,3,4,5,6,7,8,9);
while(list($k,$v) = each($i)){
$count++;
print "$v\n";
$join .= $v;
if($count == 3){
$count = 0;
print "{$join}\n";
$join = "";
}
}
0572571
05/02/23 14:15:59ID:???\n → <br>
としてくれ。
0574nobodyさん
05/02/23 16:05:31ID:???GETで書いておいたほうがよいですか?
0575nobodyさん
05/02/23 16:09:57ID:???POSTで問題になるのは、Vodaの昔の機種だけなので、
全てPOSTで書いて問題なし。
(糞Vodaなんかの事は気にする必要は無し。キッパリ)
0576574
05/02/23 16:59:00ID:???ありがとうございます。どこかでGETで書いたほうがいいみたいなこと読んだんでGETで書いてたのですが
GETで書くとURLが長くなるので気になってました。(私の書き方が悪いのかも。。)
POSTで書き直します。
ありがとうございました。
0577nobodyさん
05/02/23 18:08:00ID:???共有しようと思ってます。
色々方法があるみたいで、
どれにしようか迷ってるんですが、
おすすめは何ですか?
0580nobodyさん
05/02/23 19:37:22ID:gCV2DQApmod_php なのか CGI php なのかを
見分ける方法を教えてください
0581nobodyさん
05/02/23 19:58:30ID:???shebang(#/usr/bin/phpのこと)が必要か不要かを鯖のサービス説明やFAQに書いてあるだろうから、
そっから判断するのじゃ駄目?
0582nobodyさん
05/02/23 20:11:01ID:???セキュリティがらみで、サーバーモジュール→CGIに変更するところも多いし、
phpinfoの出力が見えるようにしてあっても、貴方が実際に使うサーバの設定と
イコールとは言えないのでので現状でどうなってるか、
ハッキリした事は直接訊くべき。
0583nobodyさん
05/02/23 20:36:22ID:???パーミッションはめんどいけど
0584nobodyさん
05/02/23 20:39:25ID:dzVQVqEGphpで同じように処理させるには
どのように書けばいいのでしょうか?
eval {
local $SIG{ALRM} = sub { die "OK" };
alarm 3;
〜処理〜
alarm 0;
}
alarm 0;
if ($@ =~ /OK/) { die "成功"; }
0585nobodyさん
05/02/23 20:55:14ID:???〃∩ ∧_∧
⊂⌒( ´・ω・)くぜんぶマニュアルに書いてあったでつ
`ヽ_っ⌒/⌒c ttp://www.php.net/manual/ja/ref.pcntl.php
0587nobodyさん
05/02/23 21:27:50ID:???0589nobodyさん
05/02/23 23:05:57ID:???全てのPHPファイルをUTF-8にしてincludeすると、各ファイルのBOMがロードしたページに漏れなく付いてきます。
これはUnicodeを使うならUTF-8N以外にないってことでしょうか。
0592nobodyさん
05/02/24 02:05:13ID:???名前が思い出せない。布だったかそんな名前で、トレイに常駐してる、白いアイコンのやつ。
探してます。
0594nobodyさん
05/02/24 14:56:48ID:???// URLからホスト名を得る
preg_match("/^(http:\/\/)?([^\/]+)/i",
"http://www.php.net/index.html", $matches);
$host = $matches[2];
// ホスト名の最後の二つを得る
preg_match("/[^\.\/]+\.[^\.\/]+$/",$host,$matches);
echo "ドメイン名: ".$matches[0]."\n";
マニュアルのpreg_matchからですが、上記のスクリプト中に出てくる
「^」や「?」や「+」や「$」はなんとか演算子ってヤツですか?
それぞれどんな意味と、役割があるのでしょうか?
またなぜ2つ目のpreg_match()はパターンを()ではなく[]で囲ってるのでしょうか?
それとマニュアルに載ってますか?
>それとマニュアルに載ってますか?
とりあえずマニュアルを読め。
話はそれからだ。
0596nobodyさん
05/02/24 15:23:52ID:???もちろん演算子のページは読みましたよ。
ココでいいですよね?
http://jp.php.net/manual/ja/language.operators.php
これを読んでも理解できません。ただ、結合させるって意味なんでしょうか?
0597595
05/02/24 15:41:21ID:???OK、では聞くときには「なんとか演算子」とかじゃなくて、
自分が思ったのでいいから具体的に書いてくれ。
じゃないと「何がわからないのか」がわからんので。
で「マニュアルに載ってますか?」と聞かれると「マニュアル見てないの?」となるので
マニュアルは見たけど見つからない、それっぽいのは見つけたけど意味がわからない、とちゃんと書いてくれ。
「情報は小出しにしない」というのが暗黙のルール。
で、上でおまいさんが聞いている記号は「メタ文字」と言って、正規表現の話。
「php 正規表現」とかでググれば色々出てくると思われ。
例えば
ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm
とかな。
正規表現について詳しく知りたかったら
正規表現道場@2ch Part4
http://pc5.2ch.net/test/read.cgi/php/1105930285/
とかで過去ログ読んだり質問したりしる。
まあガンガレ。
0598nobodyさん
05/02/24 15:56:09ID:???ttp://jp.php.net/manual/ja/pcre.pattern.syntax.php
0600nobodyさん
05/02/24 16:37:52ID:???オブジェクト指向に慣れ親しんでるからver5が良さげなんですが、現在の主流や将来性を考えると今からPHPを学ぶとした場合、Ver4と5のどちらが良いんでしょうか?
0602nobodyさん
05/02/24 18:36:51ID:S+cLCUGyつまり、
$inv = 5 なら、aaaaa
ループ以外にやり方ないでしょうか?
0603nobodyさん
05/02/24 18:43:29ID:???・賛成
・反対
のradioボタンで選択させ、反対票だけ2倍にカウントするには
どうしたらいいんでしょうか?
0605nobodyさん
05/02/24 19:29:46ID:???0606nobodyさん
05/02/24 19:31:46ID:???http://jp2.php.net/manual/ja/function.str-repeat.php
0608nobodyさん
05/02/24 21:02:37ID:???そんな某国の情報操作みたいなことはヤメレ
0611nobodyさん
05/02/24 23:19:05ID:???0612nobodyさん
05/02/24 23:35:47ID:sdrJy1MC0613nobodyさん
05/02/25 00:07:01ID:???<?php
$DATFILE = 'hoge.dat';
if($_GET['msg']){
$fp = fopen($DATFILE,'a');
fwrite($fp,$_GET['name'].' says:'.$_GET['msg']);
fclose($fp);
}
print_r(file($DATFILE));
exit;
?>
0615nobodyさん
05/02/25 00:53:28ID:VA4tKjSS0617nobodyさん
05/02/25 01:54:56ID:???header('Content-Type: text/plain');
入れとかなきゃデフォルトだとhtml扱いされて(+д+)マズー
0618nobodyさん
05/02/25 02:02:40ID:???検索して検索結果が表示されてそのページ内の個々のデータを
見てブラウザの戻るボタンで前に戻ろうとすると
「警告 : ページの有効期限切れ」が表示されます。
Javascriptのhistory;back()でも同じ状態になります。
これを回避して検索結果の状態に戻す方法は無いのでしょうか?
0619nobodyさん
05/02/25 02:33:32ID:???別にブラウザのキャッシュを表示しても構わないようなものなら
静的なhtmlにすればいいような気がするけど。
header() で Cache-Control: とか設定すればよかった気がする。
httpのRFCを読むなりしてそれらしいヘッダがあれば設定してみれば?
0620nobodyさん
05/02/25 02:41:50ID:???ブラウザのキャッシュに戻れた方がいいのかな。
google は確か検索結果をキャッシュするようにしてたから、
telnet google.co.jp 80 してみて、それらしいヘッダを設定する手もあると思う。
0621618
05/02/25 12:32:03ID:???いや、検索結果というのは自身で作成したプログラムです。
例えば会員検索のPHPプログラムがあったとして
検索フォーム(HTML)→検索結果(PHP)→詳細情報(PHP)→
検索結果に戻る→有効期限切れエラー
やはりブラウザに依存するんですかね。。
0622nobodyさん
05/02/25 12:49:33ID:???ここをmethod="get"にしたらどう?
0624nobodyさん
05/02/26 00:15:54ID:DKGm/bS1ことになったのですが、sessionに保存できる上限値みたいな
ものはあるのでしょうか。
昔Perlでcookieを使っていたとき、一つのキーに3000バイト
くらい入れたら500エラーが出たことがあるので、質問させて
いただきました。
サーバサイドで持つものなので大目に取れるのではとは
思っておりますが、ご教示いただけますと幸いです。
0625nobodyさん
05/02/26 02:37:43ID:???Lovemorgue.orgで使われてる右側のメニューのモジュールは
なんですか?
0627nobodyさん
05/02/26 06:16:31ID:???実装上の制限はあるかも知れないけど、100程度だったら問題無いんじゃないの?
心配ならphpのソースコードを見てみれば良いかと。
cookieに関しては、RFC 2109(新しいものが出てるかも知れない)の
6.3 Implementation Limits に、
at least 4096 bytes per cookie の一文がある。
0628nobodyさん
05/02/26 07:28:59ID:1NcE1tZVResource id #2
と出たんですがこれって何をうったえてるんでしょうか?
ちなみにやりたい事は↓これなんですけども…
$handle = fopen('aaa.txt', 'r');
echo $handle;
fclose($handle);
もしかしてaaa.txtのパーミッションは644じゃダメですか?
0629nobodyさん
05/02/26 07:52:03ID:???PHPは型にうるさくない言語なので普段は意識しないかも知れないが、
スカラー型 - 論理値・整数・浮動小数点数・文字列
複合型 - 配列・オブジェクト
特別な型 - リソース・NULL
の計8個の型が存在する。
リソース型の一覧は、
ttp://www.php.net/manual/ja/resource.php
に載ってるが、このうちfopenはファイルハンドルを扱うリソースを生成する。
ファイルハンドルつーのは、、、説明していくとキリが無いな・・
そのページにファイルハンドルを扱う関数の一覧もあるから、それらの説明を参照してくれ。
0630nobodyさん
05/02/26 08:56:17ID:LIYJX+3jInternal Server Errorになってしまいました。
なお、mod_php5, freebsd5.3,apache1.3.33です。
上記の「いつのまにか」が思い出せないのですが、
どなたか、可能性のあるコトや解決方法を教えていただければ幸いです、
なぜmod版なのにInternal Server Errorなのかも不思議ですが。。。
0631630
05/02/26 09:06:46ID:LIYJX+3jmv php.ini php.ini.tmp
してみても、症状変わらずです
0632630
05/02/26 09:14:57ID:???0633nobodyさん
05/02/26 11:02:34ID:???}
って使えないのですね
$lineが空になります
0634nobodyさん
05/02/26 11:38:37ID:???マニュアルによると、
mixed array_pop ( array array)
だから、$lineになんらかの値が入るよ。$logがnullや非配列だったら論外だが。
むしろ疑うならwhileの方じゃないかねぇ。
while(boolean) だから、$lineにarray_popの結果が入った後に
booleanとして評価される(型の変換)。
$lineが FALSEなら当然そこで終了になるし、数値の0や空文字''、文字列の'0'なんかもfalseになる。
0635633
05/02/26 11:46:04ID:???apacheのアクセスログを\nで分割して配列に入れていたのですが
今ログを開いてみたら最後に改行が入っていました;
お騒がせしました
0636nobodyさん
05/02/26 12:47:00ID:???$GrabURL = "hoge.html";
$GrabStart1 = '<!--- aaa1 --->';
$GrabEnd1 = '<!--- /aaa1 --->';
$GrabStart2 = '<!--- aaa2 --->';
$GrabEnd2 = '<!--- /aaa2 --->';
$OpenFile = fopen("$GrabURL", "r");
$RetrieveFile = fread($OpenFile, filesize($open_file));
$GrabData = eregi("$GrabStart1(.*)$GrabEnd1", $RetrieveFile, $DataPrint);
fclose($OpenFile);
echo $DataPrint[1];
だと当然のことながら<!--- aaa1 --->しか出力されません。
これを<!--- aaa2 --->も一緒に出力させるにはどうしたら良いのでしょうか?
# $GrabDataとechoのあたりが怪しいと思うのですがどこをどう書き換えたらいいのかさっぱり…
0637nobodyさん
05/02/26 13:02:24ID:???$reg = "/<!-- (.+?) -->(.+?)<!-- \/\\1 -->/";
preg_match_all($reg,$RetrieveFile,$DataPrint);
こうかな?
0638636
05/02/26 13:33:05ID:???0639nobodyさん
05/02/26 13:42:55ID:???まさか、
$GrabData1 = eregi("$GrabStart1(.*)$GrabEnd1", $RetrieveFile, $DataPrint1);
$GrabData2 = eregi("$GrabStart2(.*)$GrabEnd2", $RetrieveFile, $DataPrint2);
・
・
echo $DataPrint1[1];
echo $DataPrint2[1];
じゃないよな?よな?
637が一番綺麗でスマートだと思うぞ・・・
0640nobodyさん
05/02/26 13:52:37ID:zRP2Hji7設定ファイルには掲示板のタイトルや表示件数などがあり
フォーマットは
----------
Sample BBS,10,5
-----------------
のようにカンマで区切られています。
カンマで区切ると、ユーザーがタイトルのところにカンマを入れた場合
区切り文字だと誤認してしまいます。
これを回避するには、特殊文字に変換するか、URLエンコードして保存するというの
があると思うのですが、通常はどちらの方法をとるのでしょうか?
0641nobodyさん
05/02/26 15:35:04ID:???0642nobodyさん
05/02/26 15:48:19ID:???0643nobodyさん
05/02/26 16:22:16ID:???0644nobodyさん
05/02/26 18:22:21ID:???echo $_SERVER["REMOTE_ADDR"];
echo $_SERVER["REMOTE_HOST"];
echo $_SERVER["HTTP_REFERER"];
echo getenv("REMOTE_ADDR");
echo getenv("REMOTE_HOST");
echo getenv("HTTP_REFERER");
これを試すと表示されるのは両REMOTE_ADDRだけで、HTTP_REFERERに至っては怒られます。
php.iniの設定の問題でしょうか?
どこを見れば良いのかわからないんですが、関係ありそうなところは
register_globals = OFF
register_argc_argv = On
くらいでしょうか?他に見る必要がある場所ありますか?
0645nobodyさん
05/02/26 18:33:50ID:???<pre>
<?=print_r($_SERVER)?>
</pre>
REMOTE_HOSTはサーバーからDNS逆引きしてるわけじゃなく、
クライアント側で付加するかしないかなので、
表示するやつとしないやつがいるのは仕方が無い。
んで、「怒られる」とか訳の分からない表現を使うな。
エラーが出るならそのエラーをまるまるコピペ。
あと、バージョン周りの表記も必要。
php.iniは関係無い気がする。
0646nobodyさん
05/02/26 18:56:53ID:???絶対パスでファイルの内容が丸見えになってしまいますね。
拡張子でアクセス制限するのではなく他に良い手だてはないものでしょうか?。
>>644
E_ALLで変数が存在していないだけでは?
0647nobodyさん
05/02/26 18:58:51ID:???バージョンはPHP Version 4.3.6
Server API ISAPI
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\WINDOWS\php.ini
PHP API 20020918
PHP Extension 20020429
Zend Extension 20021010
Debug Build no
Thread Safety enabled
Registered PHP Streams php, http, ftp, compress.zlib
こんなもんでいいでしょうか?
■ このスレッドは過去ログ倉庫に格納されています