【PHP】くだらねぇ質問はここに書き込みやがれpart2
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
05/01/09 06:01:24ID:tJkdKk+eお前の下らない質問に回答があるかも知れないスレッドです。
0896nobodyさん
05/02/04 22:39:24ID:???そしてPHPの<? ?>こういうのを埋め込んだら拡張子は.phpにしなければいけないのでしょうか?
どこを見てもそんな事が書いてなかったので質問させていただきました。
0897nobodyさん
05/02/04 23:56:04ID:???何を言っているのかわからない。
PHPとXMLは直接関係無いぞ。
〜拡張子は.php〜別にどうでもいい・・・
Web鯖の設定さえできてれば、.htmlでもなんでも処理できる。Web鯖の設定ができていればね。
0898nobodyさん
05/02/04 23:57:01ID:JB/Xwm8rバージョン5.0.3を日本語対応させようとしたんですけど、
文字化けしてしまいます。
php.iniでは、
default_charset Shift_JIS
mbstring.language Japanese
mbstring.internal_encoding EUC-JP
mbstring.http_input auto
mbstring.http_output SJIS
mbstring.encoding_translation On
mbstring.detect_order auto
mbstring.substitute_character auto
mbstring.script_encoding EUC-JP
日経ソフトウェア1月号に載っていた設定そのまんまです。
SJISやSift_JISなんて表記が混在していても大丈夫なんでしょうか。
バージョン4なら日本語化されているので、最悪そちらを使う、
という手もあるのですが、それでは敗北なので。(笑
どなたか教えてください。
0899nobodyさん
05/02/05 00:06:11ID:???outputがSJISになってるが、ほんとにSJISでHTMLが出力されてるかソース表示して確かめよ。
SJISだったならばmetaタグにsjis指定を記述してブラウザに解釈させよ
>バージョン4なら日本語化されているので
初めて触ったのにこんな情報どっから仕入れてきたんだ?
0901898
05/02/05 00:18:59ID:???バージョン4については、日経ソフトウェアに書いてあったのですよ。
1月号だから、今からは買えないけど、何ページにもわたって
書いてあったので、助かりました。
これから試してみます。
0902nobodyさん
05/02/05 01:14:38ID:H2lo0MBghttp://www.stackasterisk.jp/tech/php/php03_05.jsp
を参考に組んだのですが、OutlookExpressではちゃんと添付されていて
OperaのメーラーM2では、エンコードされずにバイナリ文字列がだーっと出てきます。
どうすればいいのでしょうか?
0905898
05/02/05 05:40:44ID:???出力はEUCになっているみたいです。
ブラウザでエンコードをEUCに変更したらうまく表示できました。
以下、ソースを載せておきます。
<html>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />
<title>php基本のキ</title>
</head>
<body>
<?php print("Hello,World! 今日は天気だ"); ?>
</body>
</html>
メタタグを入れてみたんですけど、うまく行きません。
何がいけないのでしょうか。
0906898
05/02/05 06:22:05ID:???本には、.phpはEUCでセーブするように、と書いてあったのですが、
試しにSiftJISでセーブしたら、うまく行きました。
もう、何がなんだか・・・(汗
0907898
05/02/05 06:38:30ID:???0908nobodyさん
05/02/05 15:35:45ID:HfaJ2irn/
を使い、
/css/〜〜.css
という指定の仕方をしているサイトがあります。
同じようなことをPHPでもやろうとしたのですが、
require("/file/hogehoge.dat");
このようにすると、かなり上の階層(/usr/home/****/ここが本来の場所/)の
指定になっているようでHTMLでの / と異なる挙動をしています。
この場合、どのように書き換えれば同じような動作(ルートディレクトリからの指定)を
させることができるのでしょうか?
0909nobodyさん
05/02/05 15:41:02ID:???PukiWikiを使ってるとイライラするのですが、これはサーバのせいですか?
0910nobodyさん
05/02/05 15:46:57ID:???require(ROOT_PATH."/file/hogehoge.dat");
とかしとけば今後環境変わっても便利
0912nobodyさん
05/02/05 16:02:16ID:HfaJ2irnありがとうございます。defineを使うのですね。
でもまだ少し疑問点があります。
hogehoge.datをいくつものファイルで読み込む必要がある場合、
define("ROOT_PATH","/usr/home/****");
もそれぞれのファイルに書く必要があるんでしょうか?
1回記述するだけですむ方法が思いつきません・・
0914nobodyさん
05/02/05 16:11:30ID:???定義したファイルをひとつ作っておき、それは相対パスで読み込み、
それ以外はその定義ファイルから読み込んで対応することにしました。
私の疑問はその定義ファイルの位置を変更した場合にも対応できるように
ルートディレクトリから指定できないかなあと思っていました。
どうもありがとうございました。
0916910
05/02/05 16:27:40ID:???んじゃ、
require($_SERVER["DOCUMENT_ROOT"]."/file/hogehoge.dat");
ってのはどうよ?
0918nobodyさん
05/02/05 17:35:11ID:???ってか、決まりなんてあるのか?
マジくだらねぇスマソ
0921nobodyさん
05/02/05 18:14:41ID:???それ以前に「Ver. 1.00」にするか、「Ver. 1.0.0」にするか悩まなかったか?
あるいは最初は「Ver. 0.1」から始めるべきかな?とか
0922nobodyさん
05/02/05 18:23:55ID:???というか、バグ取りして一応のレベルに達して1.0を名乗れるようになってから
公開するのが当然。
0.1とかじゃロクに出来上がってないものを利用者にテストさせる印象しかない。
0923nobodyさん
05/02/05 19:12:29ID:???・ソースコード公開以前→0.x.x
・ソースコード公開した→1.x.x
て感じかなぁ。
公開する気が全くなくても、「これならソース公開してもいけるかも」てなったら
1.0にする。
0924nobodyさん
05/02/05 19:20:42ID:???本来、メジャーバージョン1未満は公開すべきではないし、
評価など目的があって公開するならバージョンをつけずに
PRとして出すべきだから。
0926nobodyさん
05/02/05 19:57:19ID:???あんな重い思いしてまでウィッキーさんは使いたくはないな。
0927nobodyさん
05/02/05 21:46:21ID:H7vZqk2Fsignal Bus error を起こしてしまいます。
対処法としては2次元配列の代入元の値を変数ではなくて数値にすると
OKになります。
なにが問題なのでしょうか?
WindowsのPHP5では異常がありません。
//だめ
<?php
$n = 500;
$in = 999999;
for ($i = 0; $i < $n; $i++)
for ($j = 0; $j < $n; $j++)
$keys[$i][$j] = $in;
?>
//OK
<?php
$n = 500;
for ($i = 0; $i < $n; $i++)
for ($j = 0; $j < $n; $j++)
$adj[$i][$j] = 999999;
?>
0928nobodyさん
05/02/05 21:55:43ID:???ゾヌとか永遠にβ版だけどね。
0929nobodyさん
05/02/06 00:19:19ID:2wEgbafXここにあるようなPHPとmysqlを使った検索を作ってみたいのですが、
PHPをどう組み立てたらいいか全くわかりません・・・。
色々なサイトなどを見て、参考にしようと思ってもいいところが見つからなかったのでここに来ました。
0931nobodyさん
05/02/06 00:38:05ID:???全く分からんようだと参考サイトを見ても分からん気がするが。
どういう処理をすればいいのか問題を分割していってごらん。
1. フォームを表示
2. フォーム送信内容から検索結果を表示
2-1. フォーム内容からmysql用のSQL文を作成
2-2. mysqlへSQL文を送信
2-3. SQL実行結果を取得
2-4. 実行結果を画面表示
こういう風な分割を繰り返していくと、PHPで用意されている関数にまで分割することができる。
それを繋ぎ合わせたものが1つのスクリプトになるわけだ。
0934nobodyさん
05/02/06 10:34:14ID:???0935nobodyさん
05/02/06 10:53:28ID:???0936nobodyさん
05/02/06 11:25:52ID:???ありがとうございました!
0937nobodyさん
05/02/06 16:34:11ID:???aからzまでを配列にぶち込んで、ランダムな文字列を作りたいのですが。
$str2 = "";
for($i = 0;$i < 10;$i++){$str2 .= $str[rand(0,25)];}
↑が実際動くかどうか分からんけど、
Perl範囲演算子みたいなのはrange()使えば実現できる
0941nobodyさん
05/02/06 18:18:38ID:5y+gVtnDサイトを訪問した人のIPアドレスはこれで検出できたんですが、
ホスト名までは検出できないんでしょうかね?
$host_name = getenv('REMOTE_HOST');
こう書いてみたんですがうまく検出できません。
0942nobodyさん
05/02/06 18:34:27ID:???0944nobodyさん
05/02/06 20:25:02ID:???いや、鯖が必ずREMOTE_HOSTを引いて値を設定するようになっていれば
PHPで"REMOTE_HOST"で取得できるよ。普通そんな設定に鯖をしとかないけど。
0946nobodyさん
05/02/06 20:38:03ID:GClGxaTK$data[1] = array(size=>10,hoge=>1);
$data[2] = array(size=>30,hoge=>3);
この場合、$data[num][size]を大きい順にソートし
2次元配列に、つまり最終的に、
$data[0] = $data[2] ←[size]=30
$data[1] = $data[0] ←[size]=20
$data[2] = $data[1] ←[size]=10
このようにソートさせたいのです。
なにか方法はありませんでしょうか。
0948nobodyさん
05/02/06 20:57:31ID:GLYJwer2データベースに書き込めるときと書き込めないときが出るようになってしまいました。
なんでですかね?
0949nobodyさん
05/02/06 21:04:00ID:???マルチ氏ね
http://pc5.2ch.net/test/read.cgi/php/1064937268/614
0950nobodyさん
05/02/06 21:04:50ID:???・書き込み内容によって不適正なクエリが発行。
・500人ぐらいで共有してる安鯖を使用しているため処理能力がアップアップ。
0953948
05/02/06 21:55:09ID:GLYJwer21つ目はいつも上手くいくのよ、で2つめの書き込みがたまに失敗する。
やっぱ月かな。
0954nobodyさん
05/02/06 21:57:14ID:???リファラを記録する際に、「リファラが自分のサイトのコンテンツであれば記録しない」ということはできないでしょうか?
0960nobodyさん
05/02/06 23:10:36ID:???0961nobodyさん
05/02/06 23:21:21ID:???「記録する際に、リファラが自分のサイトのコンテンツであれば記録しなければいい」
で、終わっちゃうんだよなぁ。。。
>>954が何に困ってるのか分からん。
0962954
05/02/06 23:26:52ID:???言葉足らずですみません。
「記録する際に、リファラが自分のサイトのコンテンツであれば記録しなければいい」
というのはわかっているのですが、それをプログラムにすることが出来ないのです。
0964954
05/02/06 23:43:56ID:???"URL"という言葉が抜けていましたorz
なので、もっと厳密に言えば「記録する際に、リファラが自分のサイトのコンテンツのURLであれば記録しなければいい」です。
>>959氏のご助言を参考に、下のような方法を考案したのですが、どこか違和感があります…。
$referer = $_SERVER['HTTP_REFERER'];
$my_site = array(サイトの全てのページのURLをつらつら);
for($i = 0;$i < count($my_site);$i++){
if($referer == $my_site[$i]){
exit;
}
}
0965nobodyさん
05/02/06 23:55:04ID:???まずforループなんか使わずin_arrayを使えと
で、その方法だとわざわざ自分のサイトのページ全部登録しないとダメだろ
一番単純な方法として自分のサイトのルートアドレス(ex.http://www.example.com/~954/)
から始まるURL蹴るとかではあかんのかと
0966nobodyさん
05/02/07 00:15:47ID:???exit;
}
0967954
05/02/07 00:19:41ID:???…なるほど。
しかし、どのようにすれば実現できるのでしょう?
リファラをexplode()で分割したりするのでしょうか…。
方法がいまいちつかめません。(^_^;
0968nobodyさん
05/02/07 00:23:36ID:???966さんのレスを読む前に書いてしまいました。(^_^;
書き込もうとしていた時にはまだレスがついてなかったので。。。
>>966
stripos()という関数を使えば実現できるのですか。。。
ありがとうございました。
0969nobodyさん
05/02/07 00:26:59ID:???最近、REFERER吐かない接続者が多いんで、そこんとこヨロシク!
って感じですかね。
0970nobodyさん
05/02/07 00:29:35ID:???0972nobodyさん
05/02/07 10:58:43ID:???最初に現れる位置だから用途が違うでしょうけど
preg_matchよりstriposの方が高速でしょうか?
0973nobodyさん
05/02/07 11:48:18ID:???単純な比較と正規表現処理とだから、当然striposの方が速いんでないの?
数値で比較して安心したいなら、
print microtime();
for(〜){ 処理内容; } // 適当な回数
print microtime();
みたいな感じで実際試してみればいい。
0974nobodyさん
05/02/07 12:30:23ID:???strpos
0.61152000 1107746919
0.61356200 1107746919
preg_match
0.61358800 1107746919
0.62025600 1107746919
0975nobodyさん
05/02/07 15:06:02ID:6YQico4I変えたいんですがどうすれいいでしょうか?
0976nobodyさん
05/02/07 15:09:01ID:???インストールしてみたのですがPHPで認識してくれません。
MySQLインストール後にPHPに認識させるためになにか設定等は
必要なのでしょうか?
0978nobodyさん
05/02/07 15:34:30ID:???RPMで入れたのならphp-mysqlてな感じのrpmも転がってると思うのでそれを入れる。
見つけられなかったら諦めれ。ソースから入れる手もあるが君にはまだ早い。
0979nobodyさん
05/02/07 16:53:29ID:???はどういう意味ですか?でどうしろ言われてるの?
0980nobodyさん
05/02/07 17:15:03ID:???PHPの中の人がスクリプトを読んでいった時に、
〜行目で \ というここにあってはおかしい文字を発見した。
その行以前にコーディングミスがある筈なので、それを修正する。
0982nobodyさん
05/02/07 18:15:57ID:???あのですね・・
->
上の記号の意味を教えて欲しいんです・・
map {$_->[0]}
こういう風に使われているのですが
検索したのですが、やり方が悪いせいか全然出てこなくて
<=>これとか&&とかはいっぱい載ってたのですが・・
0983nobodyさん
05/02/07 18:17:38ID:???引数を渡すことは可能ですか?
可能であれば教えてください。
0984nobodyさん
05/02/07 18:29:57ID:???オブジェクトのメソッドやプロパティにアクセスする演算子
ex) $obj->method();
>>983
やってみたら答えはおのずと出ると思う
やってみてムリだったらまた書き込んで
0985nobodyさん
05/02/07 18:31:25ID:???にっこり君
0986nobodyさん
05/02/07 18:31:59ID:???それはPerlなのでPerlスレの方が良いかと。
>>983
includeの利用云々に関係無く、普通に関数を使う時のように引数を渡してあげてください。
includeでこだわる理由があるとすれば可変長引数を使ってたりするのかな?
その場合は、func_get_arg()等を使います。
0987nobodyさん
05/02/07 18:52:15ID:???レスどもです。引数は普通に渡せるのですね。
include("hoge.php('hoge')")
こんな感じでやってみたのですがエラーがでてしまいました。
>includeでこだわる理由
それはrequireの方がいいという意味ですか?
特にこだわりなどはないのですが。
0988nobodyさん
05/02/07 19:08:28ID:???■func.php
function f($arg) { ...... }
■main.php
include('func.php');
f('arg');
0989983
05/02/07 19:19:43ID:???何か勘違いしていたようです。
どうもありがとうございました。!
0990nobodyさん
05/02/07 20:05:29ID:???0991nobodyさん
05/02/07 20:09:16ID:???0992nobodyさん
05/02/07 20:20:56ID:ugDz3ClPそこで誰もが思う質問
●IEから、ユーザーの選択したデータのPHPロジック中への受け渡しはどうするのか?
●フェッチアレイした結果をIEに表示する際に、色つきかつ、罫線をつけるには?
このあたりいいサンプルがあるサイト、または、方法教えてであります
0993983
05/02/07 20:22:14ID:???自分も後から「勘違い」は使い方が違ったなと思いました。
そして突っ込みが必ず来るだろうなと。
インクルードしたら、インクルード元にインクルード先のスプリクトが
書かれているような振る舞いになるのをすっかり忘れていました。
>>990さんの言うとおり、これも勉強不足の内ですので、
どうか目を瞑っておいてください。
0994nobodyさん
05/02/07 20:28:41ID:???今から開いてる本屋行ってPHPの入門書とHTMLの入門書買って来い
ここがくだらねぇ質問スレといえどもあんまりだぞ・・・_| ̄|○
レス数が950を超えています。1000を超えると書き込みができなくなります。