【PHP】下らねぇ質問はここに書き込みやがれ 72
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/08/16(土) 12:01:25ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0522nobodyさん
2008/08/26(火) 18:05:39ID:x/K+QJ+Wちと、ダメだ。。。
ssiとPHPは一緒に使わない方がいいみたい。
apacheが1分間隔で再起動して
挙動が変だわ。
ssi辞めて、phpで統一するわ。
相当あるんだよな、書き換えるファイル。
0523nobodyさん
2008/08/26(火) 18:10:11ID:???という文字列を
"20001231"
にしたいのですが、PHPではどう書くのがスマートですか。
今は preg_replace('/-/', '', $str) としています。
もっといい書き方があればおしえてください。
0527nobodyさん
2008/08/26(火) 19:46:19ID:C/n8oxtASQLの「地の文」の?だけを置換するにはどうしたらいいですか?
0528nobodyさん
2008/08/26(火) 19:48:33ID:qM7jKR0bセッションて継続するんですか?
セッションデータはファイルで保存されているので、セッション切れずに
継続するんじゃないかと思っていますが、どうなんでしょう。
使用しているサーバが1日1回apacheを再起動しているらしくて
その時間にセッションの動作がおかしくならないかぁ、とちょっと心配。
0529nobodyさん
2008/08/26(火) 19:49:57ID:x/K+QJ+WSSIってそうなんだ?
今、100万ファイルの更新中です。
0530nobodyさん
2008/08/26(火) 19:51:46ID:???>正規表現使わないならstr_replaceでよくね?
ありがとうございます。str_replaceを使うことにします。
0532nobodyさん
2008/08/26(火) 20:30:03ID:x/K+QJ+W教えられないです。
でも、100万ファイルあって、
SSIでインクルードしてるんです。
これを書き換えて、チェックバッチで確認して、
バックアップして、さらに、もういっこバックアップして、
ってのがつらいので、簡単に済ませようと
しましたげど、もう、統一します。
0533nobodyさん
2008/08/26(火) 21:31:12ID:???手軽にやるならドライバをループさせてpreg_replaceのlimitに1を指定して置き換え?
str_replaceにもlimitがあればなぁ
>>528
セッションファイルなら再起動しても生存時間までは持続
>>532
苦労の分、オーバーヘッドは減りそうだな・・・
0534nobodyさん
2008/08/27(水) 01:07:21ID:???今日は[[とても]]楽しかったね。[[明日]]はもっと楽しくなるといいね。
という文章があったとして[[(..*)]](大カッコ二つ)にヒットする文字列の抽出を行いたいのですが、
どうしても上手くいきません。上記ですと、
[[とても]]楽しかったね。[[明日]]
↑までが一つとしてマッチしてしまいます。
どうしたらよいでしょうか・・・?
0535534
2008/08/27(水) 02:00:55ID:???向こう逝ってきます。。。
0536nobodyさん
2008/08/27(水) 11:36:16ID:RCwwZoSdphpの文字コードを全てUTF-8に統一していたのですが、
ふと読んだ本で、Unicodeには色々あってUTF-8だけではないことを知りました。
UTF-16の方は2バイトなので、そちらの方が容量が少なくて済むらしいですが、
Unicodeでお勧めの文字コードはありますか?
ちなみに私のサイトには色々な国の方が来るので、
できるだけ多くの言語に対応できる方がいいです。
0537nobodyさん
2008/08/27(水) 11:46:08ID:???>できるだけ多くの言語に対応できる方がいいです。
それならutf16でいいじゃまいか
マルチバイトを多く使うならutf16がいいけど、htmlとどっちの割合が多いかで決めればいいかも
utf8は英数を1バイトで、utf16は英数も2バイトで表現するからね
0539nobodyさん
2008/08/27(水) 12:23:18ID:???どっちをつかうべきか判断材料がありましたら教えてください。
0540nobodyさん
2008/08/27(水) 12:25:32ID:???0542nobodyさん
2008/08/27(水) 12:34:18ID:???ステートメントと関数と言う違い
issetは引数を複数持ててANDで評価出来るし、変数自体がなくてもE_NOTICE出ねぇ
後、良く見れ、返り値の型も違うぞ
0543nobodyさん
2008/08/27(水) 12:37:28ID:???0544nobodyさん
2008/08/27(水) 12:40:41ID:???うむそれで計何バイトくらい節約できるのかなと。純粋な興味で。
>>543
もうすこし具体的な質問よろしくお願いします
0547536
2008/08/27(水) 12:43:06ID:???低脳ばかりで嫌になります。さようなら。
0548nobodyさん
2008/08/27(水) 12:46:24ID:???マルチだけを見れば33%OFFだな
asciiの分が逆に2倍だから実際のバランスを見ないと分からんだろうなぁ
しかもファイル毎に違うとキタ
phpで書くんだからシングルバイトが多いはず、だからutf8の方が良さそうだよな
>>543 >>545
そもそもどの回答のことだ? idもないし引用もないし特定できん
0549nobodyさん
2008/08/27(水) 15:39:43ID:???どうせお金もっていないから対応しなくても大丈夫だよね。
イーモバイルの帯域が多すぎて面倒だし、ほとんどユーザー居ないし。
0550nobodyさん
2008/08/27(水) 17:23:38ID:???どうせ、高橋克典と一緒で時間の問題で潰れるのが関の山だよ。
資本力がない会社が、安さだけを売り物に参入したってダメだって。
0551nobodyさん
2008/08/27(水) 17:38:02ID:prLSJkK3ローカル環境でテスト済みのスクリプトを共有サーバーに移したところ、
Fatal error: Class 'DOMDocument' not foundが出て動きませんでした。
共有サーバー(PHP Version 5.1.6)を
ローカル環境(PHP Version 5.2.3)と比較したところ、
phpinfo()でdom項目がサーバー側には無いことが分かりました。
調べたところ、DOMはPHP5.00以降から基本モジュールに内包されており、
外部モジュールは存在しないとのこと。
http://php.benscom.com/manual/ja/dom.installation.php
なんとかDOMを利用する術はありますでしょうか?
# PEARのライブラリはuserフォルダに別途ファイルを設置して、
# スクリプト内でini_set("include_path", "./util/PEAR");としていました。
0552nobodyさん
2008/08/27(水) 17:49:41ID:???Apache2.2.9 PHP5.2.6です。
拡張子htmlでもphpが動いて欲しくて、
下記の記述をhttpd.confにしましたが、
動いてくれません。どうすれば動きますか?
教えてください。
AddType application/x-httpd-php .php .html
0553nobodyさん
2008/08/27(水) 18:06:18ID:???そりゃhttpd.confの設定が何かおかしいんだろ
普通にphpは動くの?
.htaccessはちゃんと使えるの?
もし使えるなら.htaccessで
AddType application/x-httpd-php .html
というのをルートにおいてみ
0554nobodyさん
2008/08/27(水) 18:06:26ID:???0555nobodyさん
2008/08/27(水) 18:07:13ID:???コンパイルオプションでlibxml2があるかどうかもチェックした方がいいかもな(phpinfo)
組み込まれてなかったら諦めて代替を検討
組み込まれていても読み込まれていない可能性がある、この場合はdl()でロード出来るか確認(dom.soやdom.dll)
0556552
2008/08/27(水) 18:21:24ID:???phpinfo.phpの中にphpinfo();を記述しています。
phpinfo.phpは正常に見れます。
逆に変なのは、httpd.confの中に
AddType application/x-httpd-php .php
ではなく
AddType application/x-httpd-php .html
とした場合でも、
phpinfo.phpが正常に見れます。
0557552
2008/08/27(水) 18:23:37ID:???拡張子phpの動作は出来ても、
拡張子htmlでphpを動かす例が
見当たりません。
0558nobodyさん
2008/08/27(水) 18:31:01ID:???エラーログは
/home/hostingg/public_html/.htaccess: </Files>AddHandler> directive missing closing '>'
こんな漢字です。これってやっぱ関連付けしたのが悪かったんですかね。
0560nobodyさん
2008/08/27(水) 18:33:01ID:???0562nobodyさん
2008/08/27(水) 18:35:06ID:???より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
0563nobodyさん
2008/08/27(水) 18:36:39ID:???より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
より強力はストップ→スタートをしています。
0564552
2008/08/27(水) 18:38:19ID:???いじめないでよ
0565nobodyさん
2008/08/27(水) 18:43:58ID:???サービスから直接ストップ、スタートしたときと動作同じ?
0566552
2008/08/27(水) 18:45:04ID:???の記述が無くても
phpinfo();
は見れる。
どこのサイトも
phpinfo();が見えて
おめでとうございます!
って書いてあるけど、
ちと、違うんじゃねーか???と思う。
拡張子htmlでphpが動く実績の環境が知りたいです。
0568552
2008/08/27(水) 18:47:45ID:???それは、ないと思うなぁ
0569551
2008/08/27(水) 18:51:30ID:???レスありがとうございます。
◆xml
libxml2 Version 2.6.16
とありました。これは大丈夫そうです。
ですが、折角教えていただいたdl()関数はSafe Modeの為動きませんでした。
これはもう代替を検討しないといけないのでしょうか・・・orz
0571nobodyさん
2008/08/27(水) 18:56:52ID:???なんでだめなん?
0575nobodyさん
2008/08/27(水) 19:14:44ID:???あら、残念
代替案を立てるしかないね(PEARで互換性のあるものを使うとか)
それか、サポートに聞いてみたらどうだろ
DOM使えんのかゴラァって
0577551
2008/08/27(水) 19:28:04ID:???泣く泣く該当する処理部分をSimpleXMLに差し替えました。
SimpleXMLは使ったこと無かったけども、ラッパーメソッド用意していた為、
差し替え作業自体は数分で終わりました。(データはまだ検証中ですが・・・)
これでまたPHP5依存度が上がりましたorz
今回の件は結果は微妙でしたけども、
サーバー選びの注意事項、PHPについて良い勉強になりました。
お答えくださった方、ありがとうございましたっ!
0578nobodyさん
2008/08/27(水) 19:28:20ID:???phpファイルで別のphpファイルを読み込ませて擬似フレームページを作っています。
それで、読み込む先のファイルのhtmlの記述の仕方について質問です。
現在、読み込む先のファイルは、<head>やら<body>やらすっとばして、
<body></body>の中に相当する部分のみの記述で作っています。
これには何か問題はあるでしょうか?
本当にスレタイに沿いすぎた疑問ですみません。
0579nobodyさん
2008/08/27(水) 19:40:48ID:???別にないと思うけど。
質問とはちょっと方向違うけど、俺なら読みこまれるHTMLを.htaccessで隠したりはする。
0581nobodyさん
2008/08/27(水) 20:26:43ID:???各パーツを分割する手法はテンプレートエンジンとかでも良く見るから問題ない
ちなみにincludeで呼ぶとphpとして実行されるから、意図しない「<?」には注意
fileとかその他のラッパーならそのまま出力されるから問題なし
0583578
2008/08/27(水) 20:31:09ID:???このやり方の方が適切のようで、安心しました。
0584nobodyさん
2008/08/27(水) 20:32:49ID:???0585nobodyさん
2008/08/27(水) 21:31:17ID:Y6+5IHEq処理を分岐したいのですが、どういう関数を使えばいいのでしょうか?
0586nobodyさん
2008/08/27(水) 21:38:41ID:???0587nobodyさん
2008/08/27(水) 21:49:44ID:???0588nobodyさん
2008/08/28(木) 00:01:12ID:???0589nobodyさん
2008/08/28(木) 01:13:56ID:???↑
意味がわからん。
なんで?あんたサーバー公開でもするの?
Winで?
まあいいけど、そんなことも自分でなんとかできないようじゃ
難しいんじゃないの?
こちらも情報がたりないんだよね。
推測でもの言っているし。
あとPHPで作れるのがしられるとなにかまずいの?
そっちが気になる
0590nobodyさん
2008/08/28(木) 01:25:02ID:8cctUgGmとある変数をvar_dump()した所、以下の値が帰って来ました。
object(SimpleXMLElement)#47 (1) {
[0]=> string(9) "テスト"
}
このオブジェクトからテストを取り出すには
どのように記述すれば良いのでしょうか?
0591nobodyさん
2008/08/28(木) 01:26:29ID:???0592nobodyさん
2008/08/28(木) 01:31:11ID:8cctUgGmもちろんマニュアルは読んだ上で質問しています。
載っていましたか?
http://php.morva.net/manual/ja/ref.simplexml.php
0593nobodyさん
2008/08/28(木) 01:52:38ID:ovgSK1d+なにか良い方法はありますでしょうか?
crypでいけるかな、と思ったのですがこれでは「.」と「/」が入ってしまいます・・・
何か良い方法がありますでしょうか?
0594nobodyさん
2008/08/28(木) 02:00:26ID:???長いけど。
$a = 'hogehoge';
$a = crypt($a);
$b = unpack('H*', $a);
$encoded = $b[0];
0595nobodyさん
2008/08/28(木) 08:29:02ID:OVvHROhCinclude("test.php?1234");
として
test.phpの中で
_SERVER["QUERY_STRING"]
を取得したいです。
0596nobodyさん
2008/08/28(木) 08:34:40ID:???無理だろ。
function( test(arg) )として定義したtest.phpを
include('test.php');
して、
test(1234);
と引数付きで呼び出せばいいと思うんだが。
0597nobodyさん
2008/08/28(木) 09:11:42ID:???複数のアカウントに同時のログインできるようにするときの処理が
いまいちうまく作れません。
どの本を見ても、クッキーが上書きされるような作りになってるので
ブラウザを二つ開いて片方はAさんとしてログインしても
もう片方でBさんとしてログインすると 両方ともBさんになってしまう。
これはいけないですね。どうしたらよいでしょう。
0598nobodyさん
2008/08/28(木) 09:14:10ID:???0600595
2008/08/28(木) 09:26:37ID:OVvHROhCありがとうございます。
うまくいきそうです。
0601nobodyさん
2008/08/28(木) 09:43:43ID:???つhttp://php.morva.net/manual/ja/language.oop5.php
0602nobodyさん
2008/08/28(木) 10:46:41ID:???HよりもmでBase64した方が効率的かも
PHPのunpack()にmがあるかは知らないけど、base64する関数はあったはず。
あー、Base64は=で余りを埋めることがあった気がする。
だとしたら使えないか
0604nobodyさん
2008/08/28(木) 13:00:55ID:1+PcK3cN$samp=0;や 1/0のようにしたときに出るDivision by zero警告を出ないようにする方法はありませんか?
そのままスルーして処理を続行してほしいんですが。
処理としては0割り算のときに発生しまう
$samp=10/0; など
よろしくお願いします
0605nobodyさん
2008/08/28(木) 13:05:32ID:???0608nobodyさん
2008/08/28(木) 14:58:03ID:???>>603の言ってることは正しいような気がするが
調べもせずに嘘つき呼ばわりとは
XAMPPはXAMPP用のconfファイルがあるはず、httpd.conf内にInclude構文がないか確認しれ
0610nobodyさん
2008/08/28(木) 15:18:55ID:???apache2.2の設定ファイルはhttpd.confだけじゃないのに嘘つきとは失礼な奴だな調べもせずに
マジ市ね
0611nobodyさん
2008/08/28(木) 15:21:38ID:???つーか、質問者はXAMPPなんて一言も言ってない気が?
まあXAMPP使うやつなんてそんなレベルだからしょうがないかもしれんが。
0612nobodyさん
2008/08/28(木) 15:22:27ID:???httpd.confに全部づらづらと書いてもOKでしょ?
って意味じゃないか?
0613nobodyさん
2008/08/28(木) 15:25:36ID:???後学の為に教えてください。
0615nobodyさん
2008/08/28(木) 17:15:43ID:???0616nobodyさん
2008/08/28(木) 17:19:24ID:???0617nobodyさん
2008/08/28(木) 17:25:45ID:???お引取りください
0618nobodyさん
2008/08/28(木) 17:56:31ID:???ということは、大量にアクセスがあるサイトを複雑なphpで処理するとサーバー側の処理が遅くなったりするんでしょうか
やはり、処理の早いサーバーやおそいサーバーなどあるんでしょうか
0620nobodyさん
2008/08/28(木) 18:00:26ID:???0621nobodyさん
2008/08/28(木) 18:10:34ID:???サーバっていっても普通のパソコンと一緒
ウイルスチェックしながらファイルコピーしたりすると遅くなる経験あるでしょ
処理の早さにはCPU、メモリ、HDD、NICなんかも関係してくる
とりあえず無限ループだけはしないように注意すべし
■ このスレッドは過去ログ倉庫に格納されています