【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/
0486482
05/02/20 16:36:32ID:???ありがとうございます。
こんなとこでつまづくのは私くらいかと思いますが一応
>$_SESSIONの場合、 session_register(), session_unregister(), session_is_registered()は不要です
とのことです。
ありがとうございまいした。
0487nobodyさん
05/02/20 16:37:59ID:buvb0b1/0488nobodyさん
05/02/20 16:49:51ID:???0489nobodyさん
05/02/20 17:01:09ID:???わざわざ->とか使わんといかんし、thisつかうのにも$thisとかダサすぎ。コーディング速度が明らかに落ちる。
広く使えるPHP4だとインタフェースはおろかprivateやpublicの指定もできないし
で、クラス使って管理して楽になるようなものって何かある?
0490nobodyさん
05/02/20 17:06:23ID:/OfJuMCV---------------------
if ($a == "hoge"){
$b = "fuge";
}else{
$b = "muge";
}
---------------------
↓省略?
---------------------
$b = ($a == "hoge") ? "fuge" : "muge";
---------------------
0491nobodyさん
05/02/20 17:19:05ID:???0492nobodyさん
05/02/20 17:26:47ID:VBegR7N/>>490の内容なら普通に三項演算子で書いたほうが早いけど、
使うと見難くなるようなところで無理使ったり、
似たような判断処理でifと三項演算子混在させて使ったりするとわけわからんソースになる事必至。
0493nobodyさん
05/02/20 17:36:54ID:???クラス使うかどうかはスタイルの問題でしょ。
とはいえ、他人のプログラムを読むならまっとうなOOPに則って書いてあるとホッとする。
OOPじゃないと、相当ドキュメントとか、コメントがちゃんとしてないと苦しい。
て訳で、他人のソースを読むときに楽になる。
0494nobodyさん
05/02/20 17:43:32ID:???0495nobodyさん
05/02/20 17:44:51ID:???有難うございます。
三項演算子なんぞ知らんかった…。
0497nobodyさん
05/02/20 21:32:47ID:???0498497
05/02/20 21:41:44ID:???関数はないけど作れるんですね;
0499nobodyさん
05/02/20 23:29:28ID:???全部をOOPに書こうとしなくてもいいんじゃない。
0500nobodyさん
05/02/21 00:16:31ID:???eacceleratorのキャッシュファイルが350kbを越えた!
0501nobodyさん
05/02/21 01:17:47ID:???0502nobodyさん
05/02/21 01:19:18ID:???俺はCookieとMySQLのクラスを作ってるよ。
もちろん再利用性が重要。
0503nobodyさん
05/02/21 02:21:36ID:???今はクラス使ってる派
0504nobodyさん
05/02/21 02:32:44ID:???$fp = @fopen("hoge.dat","r+");
です
Apache モジュールPHP5.0.3 WinXP SJIS
CGIのPHP4でも同じです
0505nobodyさん
05/02/21 02:55:50ID:???>>473の説明を流用すると、
その行で出てくるはずの無い文字列がでてきたってことだから、
それより前の行で " で文字列を開始したまま閉じてない、とかじゃないの?
hoge.dat の直前の " で文字列終端になって、
次にきた hoge.datが来る筈の無い文字列なのでエラーつーことで。
0508504
05/02/21 11:37:35ID:???1行目は<HTML><BODY>
2行目は<?php
Parse error : Syntax error, unexpected T_STRING in .php on line 3
となってしまいます
SJISはEUCの間違いでした
0509nobodyさん
05/02/21 11:42:17ID:???0511nobodyさん
05/02/21 11:47:32ID:???_SERVER['HTTP_REFERER']だとリファラー取れないんで
なんとかならないですかね?
0512全角スペースor文字でとほほ
05/02/21 11:48:07ID:???<html><body>
</body></html>
次に
<html><body>
<?php
?>
</body></html>
と一行づつ増やしてどこでエラーがでるかやってみそ。
それぐらいのこと、やってから質問しる。
0513504
05/02/21 13:05:33ID:???<HEAD><BODY>
<?php
$fp = @fopen("hoge.dat","r+");
処理
?>
</BODY></HTML>
全角文字はPHP内にはありませんでした。
また、ソースを改造してもエラーは必ず$fp = @fopen("hoge.dat","r+");のある行で出てきました
0515nobodyさん
05/02/21 13:28:14ID:hTSJdz6/Server API Apache 2.0 Handler
となっているのはモジュール版ですか?
0518nobodyさん
05/02/21 14:42:48ID:???0519nobodyさん
05/02/21 15:09:30ID:???全てのページをPHP化するというのは無謀か?
負荷とか大丈夫か?
0520nobodyさん
05/02/21 15:35:23ID:???正規表現の記述がわからず
正常に置き換えられません。
$reg = '##.*##';
ereg_replace($reg, $key, $str)
これだと最初の##から最後の## まで全てが空白になってしまいます。
どなたかアドバイスください。
0521nobodyさん
05/02/21 15:39:59ID:???0524nobodyさん
05/02/21 16:17:37ID:???負荷が問題になるくらいのサイト作成が先決
>>520
文字の最初、一文字を現すワイルドカード(3)、文字の終り、PHPの質問じゃない。
>>522
思いますってどういうこと?自分でやってる?
1.$fp=fopen...の部分を別ファイルにして
include("other.php");
とかしてどっちのファイルでエラーメッセージが出る?
ちなみにエラーがでて解決できないのになぜ@をつける。
(関係ないとは思うけど)
2.<?phpと?>行頭にスペースとかない?関係なかったかな。
<? phpとかさ。
>>523
すれよめ。
0525nobodyさん
05/02/21 18:08:28ID:???0526504
05/02/21 19:21:42ID:???漢字コードをEUCにしたところちゃんと動作しました
マルチバイト文字は使ってないんですが…
ありがとうございました
0527nobodyさん
05/02/21 19:26:06ID:???if ( ereg ("DoCoMo", $x)){
header("Location:m.php");
exit;
}elseif(ereg("J-PHONE",$x)){
header("Location:m.php");
exit;
}elseif(ereg("UP.Browser",$x)){
header("Location:m.php");
exit;
}elseif(ereg("Vodafone",$x)){
header("Location:m.php");
exit;
} else {
header("Location:pc.php");
exit;
}
これにauのA3012CAでアクセスすると「URLが正しくありません」と怒られます。
何が原因でしょうか?
0528nobodyさん
05/02/21 19:29:24ID:???なぜインスタンス生成する時に、大概
$foo = & new Hoge();
のように参照渡しするのか教えて頂けないでしょうか?
$foo = new Hoge();
との違いというか、メリット、デメリットがわからないので
どっちで書くべきなのかがわからないのです。
0530527
05/02/21 19:55:30ID:???Location: $xx とやったらうまくいきました。
お騒がせ致しました。
0531nobodyさん
05/02/21 20:51:23ID:???てめー508で何ていったんだ。向いてねーよ。
>>528
参照渡ししとけばメモリも無駄にならないし、
コピーする手間もはぶけるでしょ。
0533nobodyさん
05/02/21 21:57:04ID:???って感じですかね。
値渡しのメリットってないのでしょうか?
なぜPHP4のデフォルトは、参照渡しじゃなかったのだろうという疑問が
残ります。
0534nobodyさん
05/02/21 23:04:04ID:???オブジェクトをコピーしたい時って、あるよね?
デフォルトが値渡しなのは、ほかの整数型とかとの整合性をとったんじゃないの?
または後方互換性とか。
また、ちょっと特殊だが、$thisを書き換えて自分自身を違うオブジェクトに
したい場合、値渡しでなきゃダメだった気がする。
これはthisの性質で、リファレンスとは直接関係はない気がするけど。
0535nobodyさん
05/02/22 13:27:37ID:???mysqlのパスワードがかかれたconnect.inc.phpなどincludeするファイルを
include_pathに置いてそこから呼び出せばスクリプト経由でしかアクセスできない
からより安全。という使い方で間違いないでしょうか?
fopenを使って呼び出す場合の書き方はどのようになるのでしょう?
a.phpをinclude_pathにおいて
fopen("a.php")でよいでしょうか?
すぐに実験できない環境の為教えてください。
0536nobodyさん
05/02/22 14:52:49ID:???include_path = ".:/php/includes"
今のディレクトリにファイルが無かったら/php/includesディレクトリから探してくれ
というふうに解釈している
0537nobodyさん
05/02/22 15:59:38ID:???今はもう見れなくなってますが、以前はMYSQLのパスワードが記述されたファイルが見えてました。
0538nobodyさん
05/02/22 16:05:00ID:???0539nobodyさん
05/02/22 16:48:15ID:???0541nobodyさん
05/02/22 19:51:58ID:???register()を使ってもセッション単位でしか変数を永続化出来ないよう
なのですが、これをmod_php全体から見てグローバルな変数が作りたいです
0542nobodyさん
05/02/22 20:19:57ID:WO7XFPFBインスタンスを生成せずに
クラスを使ってる人いますか?
そんなプログラムの書き方は邪道でしょうか?
0543537
05/02/22 20:28:14ID:???include_pathを使うのはセキュリティ面に配慮してということでよろしいでしょうか?
0544nobodyさん
05/02/22 20:59:44ID:???0545 ◆JA..mLrN7g
05/02/22 21:37:00ID:9e743wBI<?php
$diceA = mt_rand(1,6);
$diceB = mt_rand(1,6);
$diceC = mt_rand(1,6);
$all = $diceA + $diceB + $diceC;
echo "<HTML>\n<HEAD>\n<TITLE>ダイス振り(リロードでもう一度)</TITLE>\n</HEAD>\n<BODY>";
echo "あなたは3D6を振った!<BR>結果は、$diceA + $diceB + $diceC で、$allだ!<BR>";
echo "</BODY>\n</HTML>\n";
?>
#---
↑のスクリプトで実行したら、500エラーが出るのですが、どうすればいいのでしょうか。
意図した結果:
あなたは3D6を振った!
結果は、1 + 2 + 1 で、4だ!
ようするに、3つの6面体サイコロを振りたいわけなのですが。
0546nobodyさん
05/02/22 21:43:29ID:???うわ、いつものクセでCGIの宣言やっちゃってました。orz
ちなみに、それを抜いても同じ結果でした。500エラー。
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
■ このスレッドは過去ログ倉庫に格納されています