【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
0083nobodyさん
2006/02/27(月) 20:08:18ID:???ttp://php.s3.to/man/language.operators.comparison.html
0085nobodyさん
2006/02/27(月) 22:02:21ID:APEEDXbIやったこと
→googleで「ファイル分割関数」で検索
→PHPエディタ[スタンドアロン版]に付属のマニュアルchmで検索
関数名さえ教えてもらえば、あとは自分で調べます。
0086nobodyさん
2006/02/27(月) 22:12:02ID:???0087nobodyさん
2006/02/27(月) 22:14:09ID:APEEDXbIすいません書き忘れてました
1.44メガバイトずつに分割したいと考えています。
0088nobodyさん
2006/02/27(月) 22:19:06ID:???0091nobodyさん
2006/02/27(月) 22:49:27ID:???いえ、フロッピーではなく、
今「PCドキュメントダウンローダー」という、auの定額携帯用のツールを作っていて、
DL可能なファイルサイズが、KDDIの仕様で1.5MBまでなんです。
0092nobodyさん
2006/02/27(月) 23:21:55ID:???夜遅くにすみません。
0093nobodyさん
2006/02/27(月) 23:24:21ID:???移動乙
OSとphpのバージョン書いたほうがいいよ
Winっぽいよね・・、winでphpのインストールした事がないなぁ
0094nobodyさん
2006/02/27(月) 23:26:01ID:???googleで
「php windows インストール マルチバイト関数」
で検索したら一発だな
0095nobodyさん
2006/02/27(月) 23:28:34ID:d/u1H5JHあの、ホントいい人ですね。
winです。でも>>94さんが言うように、さっきググったら自己解決できます。きっと。
俺のバカ。
夜遅くにホントすいません。
>>94
愛してます。
俺のバカ。
<引用>
mbstring は拡張モジュールです。
つまり、デフォルトでは 有効にならないということです。
configure スクリプトでモジュールを有効にする必要が あります。
詳細は、インストールの 節を参照してください。
はい、これならできます。ホントありがとうございました。
0097nobodyさん
2006/02/27(月) 23:59:20ID:???そ、そう言われたら。。
php.iniから↓をコメント外したしたところ、無事動作しました。
//ここから
extension=php_mbstring.dll
output_handler = mb_output_handler //これだけは追加しますた。
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none;
//ここまで
おやすみなさい。。
0100正規表現?
2006/02/28(火) 00:01:40ID:DEUM5hM0$str = mb_ereg_replace('\\\\',"\\\\",$str);
$str = mb_ereg_replace('\'',"\\'",$str);
という、データベースに入れるデータを通すための関数が2つあるんですが、
'\\\\',"\\\\"
'\'',"\\'"
この2箇所がどのような文字列についての対策なのかが分かりません...
もし分かる方がいらっしゃいましたら、
おしえてくださいっm(__)m
0101nobodyさん
2006/02/28(火) 00:41:40ID:???漏れは余計な改行が入るのを嫌って全てecho
>>100
単なるクエリのエスケープだと思うが
>$str = mb_ereg_replace('\\\\',"\\\\",$str);
前の\\\\は「\」にマッチしたいが「\\」→「\」の変換が2度行われる為
後の\\\\は「\\」に置換したいが「\\」→「\」の変換が1回行われる為
>$str = mb_ereg_replace('\'',"\\'",$str);
'\''は「'」にマッチさせる為
"\\'"は「\'」に置換させる為
''と""を使い分けている理由に付いては(゚听)シラネ
参照(引用)元がたまたまこの形式で、それをコピペしただけかも知れん。
0102nobodyさん
2006/02/28(火) 00:41:45ID:???0105nobodyさん
2006/02/28(火) 00:46:28ID:C5SJRerwちなみにperlからも出来ない・・・orz
これってモジュール版で動いてるから仕方ないんでしょうか?
解決策は鯖管に頼むしかないんでしょうか・・
0106正規表現?
2006/02/28(火) 01:09:33ID:1e1aKd+D100です
ありがとうございます!!!
よく分かりました!
0107nobodyさん
2006/02/28(火) 06:42:02ID:???特定のディレクトリのバックアップを自動で行ってくれるような
スクリプトはかけますでしょうか?
PHPでどういったことが(どこまで)できるのか知りたいです。
PHPは最近はじめたばかりで、他の言語に関しては知識は皆無です・・・
0109nobodyさん
2006/02/28(火) 07:28:57ID:???まぁできなくは無いんじゃないかな。WebProgというよりLinuxの方の話になると思うけど。
1週間おき -> cron (linuxの仕組み)
日付 -> date (PHP)
tar -> PHPにはtarを直接扱える関数が無さそうなので ` ` や execとか (PHP+Linuxコマンド)
tarはそう難しいファイルフォーマットじゃないので、自作でもできるんじゃないかな。
実際pearにもtarを扱うやつあるものね(pearだから当然PHPで書かれている)。
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);
カッコで閉じても無理?
■ このスレッドは過去ログ倉庫に格納されています