【PHP】下らねぇ質問はここに書き込みやがれpart17
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/02/24(金) 22:05:48ID:YHkZgU8bここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/l50
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/l50
過去スレは>>2
0110nobodyさん
2006/02/28(火) 09:10:39ID:1h7tXCMd文字コードと思われる点でつまづいています。
秀丸で書いておりまして、
保存時に「EUC」と改行コードは「LF」を設定しています。
IEで開くとき、問題なく表示できるようになりましたが、
<FORM ACTION="<?php echo( $_SERVER[ "PHP_SELF" ] ) ?>" METHOD="POST">
キーワード:<INPUT NAME="KEYWORD" TYPE="TEXT" SIZE="30">
<INPUT TYPE="SUBMIT" VALUE="検索">
とする時、日本語入力を受け付けていないようなのです。
echo( $_POST[ "KEYWORD" ] );
を各所に配置して確認したところ、日本語入力をすると文字化けしています。
0113110
2006/02/28(火) 09:33:07ID:???mbstring.http_output = EUC
としました。
汚してどうも。
0114107
2006/02/28(火) 09:44:35ID:???cronですか。ちょっとサービスが起動してるか確認してみます。
0115nobodyさん
2006/02/28(火) 12:33:53ID:???実行するにはどーすればいいんでしょーか?
http://jp.php.net/downloads.php ここで落とせばいいの?
0116nobodyさん
2006/02/28(火) 12:54:20ID:???あとWEBサーバもないと駄目。まぁ単体でも使えるけど・・
0117nobodyさん
2006/02/28(火) 13:08:31ID:???変数宣言とか無いから
ソース見た時に、この変数の型ってなんだ?とか思っちゃいます。
例えば、
$BBSData = LoadCsvFile( BBS_DATA );
こんなのある時に、LoadCsvFileはarray型の値を返すんですが、
$BBSDataの型は、LoadCsvFileの定義か、
$BBSDataを実際に使ってるところから割り出すしか無いですか?
変数宣言を強制するとかできません?
0118nobodyさん
2006/02/28(火) 13:11:09ID:???ありがとさん。解説サイトにも書いてあったけど、やっぱりサーバー持ってる人用なのかな?
普通にレンタルサーバーでもPHPは使えるわけでしょ、
更に下らない質問なんだけど
つまり鯖無しユーザーはHTMLにPHP記述してブラウザで確認ってカタチで宜しいんでしょうかね?
0120nobodyさん
2006/02/28(火) 13:17:29ID:???ムリ
大抵は関数の定義から判断する。
Perlみたいにスカラーとリストを両方返せる関数があるわけじゃないんだし、
型宣言できたところでリファレンスか実体かでまた苦しむだけだから一緒かと。
ソースを部分的に見ただけで型判別できるようにしたかったら、変数名に型の識別名を
入れるのがPHPに限らずCでもC++でもJavaでもセオリーかと思うがどうか。
0121117
2006/02/28(火) 13:24:14ID:???>リファレンスか実体かでまた苦しむだけだから
あら、やっぱり参照型と値型あるんですね。
まだ始めたばっかりなんで、オブジェクト関係はまだ遠いです。
>CでもC++でもJavaでもセオリーかと思うがどうか。
最近C#とIDEの開発では接頭語入れない事が多いんで、
それに慣れちゃってました。
PHPの慣習に倣います。
すごい分かりやすい解説でした。
また縁があったらよろしくお願いします。
ありがとうございました。
0122117
2006/02/28(火) 13:47:48ID:???PHPって関数の戻り値を、
絶対受けなきゃいけないって訳じゃないんですか?
さっきの例で、
$BBSData = LoadCsvFile( BBS_DATA );//array型の値が返る関数
の後に、
if ( $BBSData == false ) {
}
とか、
LoadCsvFile( BBS_DATA ); //特にLoadCsvFileのオーバーロードが他にある訳ではないです。(というか規定のパラメータと言う?)
みたいなコードが書いてあったんで、
「ん?bool型も返す?」・「戻り値受けなくてもいい?」
と疑問が出たのですが、中々目当ての資料に行き着けなくて。
毎度すみません。よろしくお願いします。
0123nobodyさん
2006/02/28(火) 14:02:37ID:???サーバの意味がわかってない。Webサーバってハードじゃないぞ。
自分のパソコンでも大丈夫。
用はApacheとかIIS等のWebサーバがPHPの言語を解釈してブラウザに表示する
役割をもっている。
だからWebサーバ起動してなかったらブラウザで確認できんよ。
0124nobodyさん
2006/02/28(火) 14:18:25ID:???おk。やってみるわd。
>>123
自分のパソコンをWeb鯖にするってことだよね?
それが公開されてなくても大丈夫なのかな・・・?
本当に糞みたいな質問なんだけど
>>だからWebサーバ起動してなかったらブラウザで確認できんよ。
起動してないユーザーはそもそもPHPの言語を読めないってこと?
PHPってHTMLファイルの中に直接書き込んでいってブラウザで表示するものだと思ってた・・orz
JavaScriptとは違うのね。・・・もうこれ以上質問する前に勉強してくる。
0125nobodyさん
2006/02/28(火) 14:39:09ID:???>起動してないユーザーはそもそもPHPの言語を読めないってこと?
サーバを起動してない>>124は、PHPをHTMLに埋め込んでブラウザで表示してもPHP部分は動かないって事?
と意訳させてもらうと、答えは、
「そうだよばか」
勉強頑張れ〜。
0126nobodyさん
2006/02/28(火) 14:40:36ID:???0127nobodyさん
2006/02/28(火) 14:41:34ID:???公開されなくても確認するだけなら別にいいよ。みんなに見せたいなら公開しないと駄目だけど。
Web鯖起動してなかったらPHPはおろかHTMLもブラウザで表示されない。
Web鯖起動しててもPHP組み込んでなかったらただのテキストとして表示される。
入れるのややこしいならここらへんが便利そう
ttp://www.apachefriends.org/en/xampp.html
ttp://www.spacetag.jp/modules/download/
0128nobodyさん
2006/02/28(火) 14:46:10ID:???>Web鯖起動してなかったらPHPはおろかHTMLもブラウザで表示されない。
論旨は間違っていないが、初心者には余計な誤解を招くぞ。
0131nobodyさん
2006/02/28(火) 15:00:31ID:???> PHPの慣習に倣います。
慣習で言ったら接頭語なんて付けない、型なんて特に気にしない、が普通じゃないか。
0133nobodyさん
2006/02/28(火) 15:11:05ID:???> 自分のパソコンをWeb鯖にするってことだよね?
> それが公開されてなくても大丈夫なのかな・・・?
まー、IISじゃなきゃ80ポートをちょこっと受け付けるくらいで甚大な被害は多分出ないって。きっとw
0134nobodyさん
2006/02/28(火) 15:41:59ID:???>>117
PHPの変数の型はその場の文脈で勝手に変わるから
変数名で判断するとか無理なんよ
あと、Cだと基本的に全てのシンボルはアドレスと考えられるが
PHPはそうではないからリファレンスを理解する時注意するように
0135nobodyさん
2006/02/28(火) 17:02:02ID:???俺はスクリプトの最後にバックアップ用ファイルの最終更新時間と現在の時刻を照らして、条件を満たしていればバックアップを上書きするようにしてる。
普段使ってるファイルが壊れたり異常が見られたら、普段のファイル削除→バックアップを普段のファイル名にリネームしている。
0136nobodyさん
2006/02/28(火) 17:57:58ID:???スクリプト中に記述しても変更出来ません。
ini_set('upload_tmp_dir', "D:/test"));
試しにvar_dumpしてみるとbool(false)と帰ってきています。
どうすれば変更できるでしょうか?
0137136
2006/02/28(火) 17:58:54ID:???ini_set('upload_tmp_dir', "D:/test"));
↓
ini_set('upload_tmp_dir', "D:/test");
0138nobodyさん
2006/02/28(火) 18:01:19ID:???それとWinのセパレーターは/じゃなくて\ね
0139136
2006/02/28(火) 18:03:20ID:???;upload_tmp_dir =
どの様にすれば変更出来るでしょうか?
0140nobodyさん
2006/02/28(火) 18:06:46ID:???0141136
2006/02/28(火) 18:09:53ID:???0143136
2006/02/28(火) 18:15:43ID:???0145136
2006/02/28(火) 18:20:18ID:???0146nobodyさん
2006/02/28(火) 18:47:29ID:z6M7N5M1PHP_INI_SYSTEM 4 このエントリは、php.ini または httpd.conf (しかし、httpd.confのVHostブ ロック内では不可)で設定可能
0147nobodyさん
2006/02/28(火) 18:50:11ID:???XMLで記述したForm情報を読み込んで処理できるやつあったら教えてください。
↓こんな感じのXMLを元に処理してくれたらうれしいんですが
<form>
<element id="name">
<max_length>30</max_length>
<min_length>1</min_length>
</element>
</form>
0148nobodyさん
2006/02/28(火) 19:05:53ID:???もし可能であれば教えていただけないでしょうか。
0149nobodyさん
2006/02/28(火) 19:18:52ID:???0150nobodyさん
2006/02/28(火) 19:37:39ID:???そもそもスクリプトが実行開始された時点でファイルのアップロードは完了しており、
すでにどこか(指定の)ディレクトリに保存されているので、スクリプト内で改めて
保存先を指定する意味が無い。実際の動作を考えれば判りそうなもんだけど・・・。
>>138
一応'/'でも通るよ。つかエスケープが面倒なので'/'を常用してる。
>>146
ゆとり教育の弊害だと思う
0151nobodyさん
2006/02/28(火) 19:57:03ID:???ゆとり教育ってのは段階的にかなり長期的に続けられている
0153nobodyさん
2006/02/28(火) 20:18:17ID:???0154nobodyさん
2006/02/28(火) 20:49:51ID:???元々ゆとり教育したい教育者のムードがあった。
そんな突然ゆとり教育させたら、きちんとした教育者は反発する。
0155nobodyさん
2006/02/28(火) 21:28:23ID:???0156nobodyさん
2006/02/28(火) 21:48:47ID:???楽をしたがった教職員やPTAのせいだけどね。
0157nobodyさん
2006/02/28(火) 22:04:52ID:???0158nobodyさん
2006/02/28(火) 22:05:44ID:???0159nobodyさん
2006/02/28(火) 23:11:14ID:???和田 秀樹 (著)
http://www.amazon.co.jp/exec/obidos/ASIN/4569579108/ref=pd_sim_dp_4/249-5087703-6782729
0160nobodyさん
2006/02/28(火) 23:50:56ID:???0161nobodyさん
2006/02/28(火) 23:58:27ID:???0163nobodyさん
2006/03/01(水) 00:27:02ID:HmVG72O50164nobodyさん
2006/03/01(水) 00:30:16ID:???0165nobodyさん
2006/03/01(水) 00:51:43ID:???セッションなら上手くいくんですが、クッキーだと上手くいかんとです。
ブラウザ側で禁止してるわけでもないし。
$_COOKIE["hoge"] = "hogetest";
で使ってるんだけど、なぜか上手く保持できない・・・orz
表示するときも echo $_COOKIE["hoge"];
で間違いないですよね?
0166165
2006/03/01(水) 00:58:57ID:???手元のPHPリファレンスには
$_COOKIE["hoge"] = "hogetest";
と
setcookie("hoge", "hogetest");
は同じって書いてあるのですが、これはもしかして嘘でしょうか?
0167nobodyさん
2006/03/01(水) 00:59:09ID:???0169nobodyさん
2006/03/01(水) 01:07:06ID:ektJPim10170nobodyさん
2006/03/01(水) 07:32:54ID:???エラーのときfalseを返す関数はPHPでは一般的だったりする
str_word_countとか引数の違いで戻り値がstringだったり配列だったりするし
PHPやるなら型のことは忘れないと駄目だよ
0171nobodyさん
2006/03/01(水) 08:18:27ID:???$a[1] の内容 で 昇順にソートする場合には下記のような方法で出来ますが、
この場合、(A, F, G, Z, a, f, g, z) と並んでしまいます。
(A, a, F, f, G, g, Z, z) のようにアルファベットの大文字と小文字を区別しないような
ソート関数を作りたいのですが、どうすれば良いでしょうか?
function cmp($a, $b) {
if ($a[1] < $b[$1) { return -1; }
if ($a[1] == $b[1) { return 0; }
if ($a[1] > $b[1]) { return 1; }
}
0172nobodyさん
2006/03/01(水) 09:11:40ID:???0173nobodyさん
2006/03/01(水) 12:22:53ID:C+OfQRhvもし、それが数字である場合に真を返す関数はありますか?
0174nobodyさん
2006/03/01(水) 12:36:56ID:???is_numeric とか gettype などいかがでしょう。
実際に試してないので自信ないですが。
はい、次ぼくの質問
↓
perlで言うところの
print <<HOGE;
なんたらかんたら
HOGE
みたいな書式はありますでしょうか?
この書き方の呼び方が分からんので検索できなかったす……
0176174
2006/03/01(水) 12:41:13ID:???0178nobodyさん
2006/03/01(水) 12:44:38ID:???0179nobodyさん
2006/03/01(水) 13:07:10ID:YIO/KfnWprint ($flag)? <<TEXT1 : <<TEXT2;
なんたら1
TEXT1
なんたら2
TEXT2
みたいに書けるんだけど、PHPの場合はこれって
print ($flag)? <<<TEXT1
なんたら1
TEXT1
: <<<TEXT2
なんたら2
TEXT2;
って書くしかない?
0180nobodyさん
2006/03/01(水) 13:28:25ID:???ctype_digit($hoge);
という関数もある。
Cのネイティブ関数なのでこれでよければctype関数の方が早い
ただし$hogeは文字列
$hoge = 10;
ctype_digit($hoge)はfalseになる
$hoge = 48; //'0'のASCIIコード0x30
ctype_digit($hoge)はtrueになる
ctype_digit("$hoge");と文字列にすると両方trueになる
0181nobodyさん
2006/03/01(水) 14:02:36ID:???後者しかないね。
PHPだと識別子直後の改行が必要なうえに、
次の行に何が書いてあっても取り込む文字列として見なされる。
0182nobodyさん
2006/03/01(水) 14:48:01ID:???なんたら1
TEXT1)
: (<<<TEXT2
なんたら2
TEXT2);
カッコで閉じても無理?
0184nobodyさん
2006/03/01(水) 16:09:03ID:???幾つかのデータを表にだしある行のデータを変更したら一番端に作っているチェックを
Javaでonにして、更新時はそのチェックをついている行のデータを更新させているのですが
↓こんな感じ 各チェックボックスの値は主キー
foreach($_POST['check'] as $val){
mysql_query("update hoge set a='".$_POST{'a'.$val}."',b='".$_POST{'b'.$val}."' ");
}
$_POSTも項目ごとに必要だし各項目の後ろの主キー(一意の番号)をつけないといけないので
もっとスマートor簡単な処理方法なにかないでしょうか?
0186nobodyさん
2006/03/01(水) 18:04:05ID:MpRVy8N5何がしたいのか、解読するのが面倒なので、もっと質問を整理してください。
0190nobodyさん
2006/03/01(水) 19:17:28ID:???ということは、新規にスレをたてた時には新しいディレクトリを作成し、さらにその中にindex.php(ログからスレ内容を加工、表示するスクリプト)とログファイルを生成してるんでしょうか?
普通のレン鯖でこういう仕様はやめた方がいいんでしょうか?
0191nobodyさん
2006/03/01(水) 19:34:34ID:???> 新規にスレをたてた時には新しいディレクトリを作成し
そんなことはやってません。
ttp://*.2ch.net/test/read.cgi/*/1140786348/l50
read.cgiで、/以降を解析して表示しているだけです。
> 普通のレン鯖でこういう仕様はやめた方がいいんでしょうか?
フォルダ作る分には全然構わないと思います
ここまで書いて自信なくなってきましたが、
おそらくこうだったと思います。
0192nobodyさん
2006/03/01(水) 19:36:39ID:???0193nobodyさん
2006/03/01(水) 19:41:00ID:???参考までに
【スレッド】2ch型掲示板 14 【フロート型】@WebProg
http://pc8.2ch.net/test/read.cgi/php/1127896640/l50
0194nobodyさん
2006/03/01(水) 20:02:46ID:???そういえばread.cgiが間に入ってますね。ありがとうございます。
>>192
誘導ありがとうございます。参考にさせてもらいます。
0195nobodyさん
2006/03/01(水) 21:09:07ID:MpRVy8N5パスインフォ
0196nobodyさん
2006/03/01(水) 23:10:25ID:9If1oYZF<EMBED
SRC=".mid"
WIDTH="150"
HEIGHT="40"
AUTOSTART="FALSE"
REPEAT="TRUE"
SAVE="TRUE"
>
これの類で複製を出来なくする方法ってどうやるのですか?
0198196
2006/03/01(水) 23:13:19ID:9If1oYZFどこ逝きゃいい?
0200nobodyさん
2006/03/02(木) 04:18:35ID:???1.入力
2.入力チェック
3.確認
4.処理
5.完了
ってな感じが一般的だと思うんですが、これってひとつファイル中で if 使ってやるほうがいいか
form.php、check.phpとかファイルを分けてやるほうがいいかどう思いますか?
0201nobodyさん
2006/03/02(木) 05:02:30ID:???index.php と check.inc や end.inc というように、
1つのphpファイルと多数のincファイル(インクルードするファイル)で構成するのがいいと思う。
0202nobodyさん
2006/03/02(木) 08:24:23ID:???0203nobodyさん
2006/03/02(木) 09:20:52ID:c/Xyk/Yy$fp = @fopen($editfile, 'w');
$fp = fopen($editfile, 'w');
fopen関数の横に「@」があると無い場合とでは動作の違いはあるのでしょうか?
0204nobodyさん
2006/03/02(木) 09:28:08ID:QF2KFk3iエラーメッセージを抑制するだよ
そこでおいらの質問というか確認をお願いしますだ
Fatal error: Cannot redeclare user_function() (previously declared in /home/www/hoge.php:4) in /home/www/hoge.php on line 3
みたいなエラーが出たんだけど
ループの中で何回も
require 'user_function()';
をやっていたのがいけないんですよね?
0209203
2006/03/02(木) 10:53:31ID:???教えてくれたお礼に教えてあげよう。
includeはループの中で何度でもできるが、requireは1回しかできないから
ループの中で何度も使いたい場合は include使えばいいだよ
■ このスレッドは過去ログ倉庫に格納されています