トップページ⇒php
853コメント275KB

【PHP】初心者コーナー 3 Released【スローモード】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/06/11 06:24ID:???
PHPに関するアホな質問はここで、マターリやろな。
ファイル MySQL PostgreSQL 正規表現でも なんでもいってみ
でもな、アホな質問であっても詳しく質問しろよ。 ネタはおもしろく書けよ。

前スレ http://pc2.2ch.net/test/read.cgi/php/1048442813/l50

■PHPの普通の質問はあっちな、【PHP】質問スレッド Part8
 http://pc2.2ch.net/test/read.cgi/php/1050249148/l50
■PHPへ移行したいPerl信者はあっちな、【待望】PerlユーザのためのPHP入門
 http://pc2.2ch.net/test/read.cgi/php/1046326634/l50
■マニュアル嫁ってうるさいのがいるからちょっとは嫁な、
 http://www.php.net/manual/ja/
■おまえ初心者なら入門本くらいかっとけな、PHP関連の書籍(但しPHP出版系お断り)
 http://pc2.2ch.net/test/read.cgi/php/985315574/l50
■これはなズープスと読むらしいがあっちな、XOOPS
 http://pc2.2ch.net/test/read.cgi/php/1031736248/l50

でもな、ここで書きたかったらここで書き。 あとは関連な、>>2 
0784nobodyさん03/08/15 11:25ID:???
nextを使っている人がいるけども、空の要素や値が0の時は
falseが帰ってくるから場合によっては危険。
0785nobodyさん03/08/15 11:28ID:mChPmz42
phpで掲示板を作ってみたんですが
「表示」「機能」などの文字を書き込むと文字化けしてしまいます。
化けないようにするには書き込むときに何か特別な処理が必要なんでしょうか?
0786nobodyさん03/08/15 11:41ID:???
SJISの場合、表・能などの2バイト目が0x5cになり、
これは \ と同じなので次の文字の1バイト目がエスケープされてしまう。

1. SJISで書くのをやめる
2. PHPの設定でmagic_quotes_gpcをonにする
3. 危なそうな変数はaddslashesを通過させる

1.がお薦め。
0787新宿歌舞伎町裏DVD本舗03/08/15 11:50ID:2mbTnFQt
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
 ☆★ 無修正DVD★☆なら 新宿歌舞伎町直送 ☆★

人気爆発新作ベスト9入荷
 
堤さやか引退特集 憂木瞳 プロジェクトX No8 ベイビーフェイスをやっちまえ
 白石ひより・愛葉るび SNAPSHOT 地下映像陵辱援交 すぎはら美里痴女教師
 店頭販売の売れ筋のみ厳選してみました 安心の後払い
     http://book-i.net/moromoro/
   白石ひとみ 小森詩 山田まり 長瀬愛
@@ 及川奈央 レジェンド @@ 堤さやか 東京バーチャル 依然大好評
    
  サンプル画像充実  見る価値あり  最高画質
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ 
0788nobodyさん03/08/15 12:07ID:mChPmz42
>>786
1と3はやってみたんですが何故かダメでした。
動かしてるのは自分のサーバじゃないんですが、2は調べてみたらoffになってました。
こうゆう場合はどうすればいいんでしょうか?
0789nobodyさん03/08/15 12:10ID:???
>>788
ちゃんとアップしたファイルがSJIS以外の文字コードになっているか調べる
0790nobodyさん03/08/15 12:22ID:mChPmz42
>>789
SJISになってましたが、なんか色々やってるうちに
文字化けせずに書けるようになりました。
$msg = stripslashes($msg);
この行をのけたらいけました。
どうもありがとうございます。
0791Name_Not_Found03/08/15 12:28ID:???
アイコン選択のしかたがわかりません。apeboardを使っているのですが…
皆さんどうやって指定しているのですか?
0792nobodyさん03/08/15 12:34ID:???
>>791

ネタか?
どっちにしても、氏んでくれ。
0793nobodyさん03/08/15 13:39ID:ZJsoX+AA
PHP-users に、電波キタ*・゜゚・*:.。..。.:*・゜(゚∀゚)゚・*:.。..。.:*・゜゚・* ね。
MLに書こうかと思ったけど、粘着されるとやだからこっちに書いてみるテスト。
0794nobodyさん03/08/15 14:58ID:???
>>793
ここでやれ。夏厨

PHP-users ML ヲチ
http://pc2.2ch.net/test/read.cgi/php/1031734100/
079579303/08/15 15:41ID:???
スマソ。逝ってきます。
079675703/08/15 16:14ID:???
自己解決しました。

/* \bblog\templates\default\index.html */
    {getrecentposts num=1 assign=posts}

上記の行の数字部分を変えることで、表示ポスト数を変えることができました。
0797nobodyさん03/08/15 17:10ID:???
画像ファイルをそのままPOSTし、それを取得して処理しようとしているのですが、
正常に取得することができません($strはから文字でした)
どのようにすれば取得できるのでしょうか?間違っている点の指摘などありましたら
よろしくお願い致します

$fp = fopen( "php://stdin", "rb" ) or die( "error" );
$str = fread( $fp, 3 );//ファイルタイプチェックのため

以下続く
0798nobodyさん03/08/15 18:18ID:???
続きマダー?(チンチン AA(ry
0799nobodyさん03/08/15 21:36ID:???
>>797
stdinはだめ。.htaccessで
php_flag always_populate_raw_post_data On
と設定して、postを受け取ると$HTTP_RAW_POST_DATAに生の中身が入ってるよ。

サンプル↓
<?php echo $HTTP_RAW_POST_DATA;?>
<form method=post><input type=text name=booboo><input type=submit value=post></from>
0800nobodyさん03/08/15 22:05ID:???
>>798
以下処理が続くという意味で書いたのですが、ものすごく紛らわしくて
申し訳ありませんでしたm(__)m

>>799
stdinだとダメだったんですか。ずっとこれで頑張っていました__| ̄|○
早速、教えていただいたものでやってみようと思います。
0801山崎 渉03/08/15 22:28ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0802nobodyさん03/08/15 22:52ID:bGL7o/n7
保守。
0803nobodyさん03/08/16 00:09ID:yCKhoHep
あげとく。
0804nobodyさん03/08/16 00:41ID:bJ8kSIAe
アニメ好き、女子校生好きの方にオススメ!
すべて無修正でみせます。
アニメの中の美少女のオマンコ、女子校生のオマンコ
はっきり見えます。
無料画像をここでゲッツ!!
http://www.pinkfriend.com/
0805nobodyさん03/08/16 01:35ID:kg29KKNX
Anhttpd 1.4.2iとphp4.3.2(installer)を使ってローカルで掲示板の実験をしようとしているのですが、
どの掲示板を使っても、必ずエラーメッセージが表示されるのですが、どうしましょう。

例えば
$mode = $_POST["mode"]; に対して
Notice: Undefined index: mode in 〜 というメッセージを出すのですが、
無視してもよろしいんでしょうか。

こうした方がより良いという方法があったら、教えて頂きたい次第です。
0806nobodyさん03/08/16 01:50ID:???
modeをGETで渡してる予感がする。
0807nobodyさん03/08/16 02:25ID:???
>>806
上のスクリプトはこんな感じでした。
echo "<form action=\"$setting[script]\" method=\"POST\">\n";

aaacafeの方に上げて試すと、特にエラーメッセージは出ませんでした。
エラー出っ放しでも投稿は反映されるので、
htmllint並みの潔癖さんなのかしらん。と、心のどこかで疑っている次第です。
できればエラーメッセージを止める以外の方法で、解決できませんでしょうか。
080880703/08/16 03:06ID:???
自己解決しました。
インストーラー版をアンインストールして、
zipでまとめられていた方を入れてみたところ、
エラーメッセージが綺麗さっぱり消えました。

ヒントはhttp://pc2.2ch.net/test/read.cgi/php/1046326634/7でした。
8時過ぎからずっと悩んで、検索しまくってたのにー。
0809nobodyさん03/08/16 03:20ID:???
>807
php.ini の error_reporting はどうなってますか?
消えたように見えただけでエラー出力が抑止されてるだけ?
(aaacafeの設定がそうなっているとか)

$mode = (isset($_POST['mode']) ? $_POST['mode'] : ''); とか
081080703/08/16 03:54ID:???
>>809
error_reporting = E_ALL & ~E_NOTICE

でした。以前がどうだったか分かりませんが、デフォルトのはずです。
英語もあんまり読めないしー。

>$mode = (isset($_POST['mode']) ? $_POST['mode'] : '');
なるほど、とか言えるほどの知識はないので、
リファレンス見ながら理解してみようと思います。
ありがとうございます。


808のスレ見てたら、もう酷い時間ですよ!
0811nobodyさん03/08/16 04:46ID:0jlc9p4o
正規表現を教えて下さい。
0812nobodyさん03/08/16 06:32ID:???
>正規表現を教えて下さい。
せいきひょうげんと読みます。
文字列の操作に使います。以上。
0813nobodyさん03/08/16 11:35ID:???
質問します〜助力お願いします。

$a = 0;
$b = 0;
$heikin = $a/$b;
echo $heikin;

のように、"0"がセットされた$aと$bを使い割り算をし、ある数値を求めたいのですが
どうも0/0の計算の場合に

Warning: Division by zero in 〜

と上の四行ソースで言うと、三行目で警告が出てしまうッス。 これを回避する方法を教えてください。
お願いします。
0814nobodyさん03/08/16 12:09ID:???
$a = 0;
$b = 0;
#$heikin = $a/$b;
echo $heikin;
0815nobodyさん03/08/16 12:29ID:???
>813

b=0 の時だけ処理を分ける
算数の問題のような
0816nobodyさん03/08/16 12:40ID:???
>>814
ありがとうございますっ!
お、そんな方法が・・・と思ったら$aと$bが0の場合は$heikinに0がセットされないんですな・・とほほ。

>>815
そうそう、二時間近くいじくって先ほどそれに気が付きました汗
ありがとうございましたー!
0817nobodyさん03/08/16 13:20ID:???
>>816
当たり前だ、$heikinに0がセットされたらヤバいだろーが。
0818nobodyさん03/08/16 17:03ID:???
>>813
$heikin = $b > 0 ? $a/$b : NULL;
0819nobodyさん03/08/17 00:22ID:/KfDx3SX
safemodeがonの場合のサーバーで
フォルダの中にフォルダを作るにはどうしたらよいですか。
↓やるとhogeフォルダが作成できません。(uidが違うから?)

mkdir("aaa");
chmod ("aaa", 0707);
mkdir("aaa/hoge");
0820nobodyさん03/08/17 14:57ID:???
ほんまやxreaやとできんがな。
0821nobodyさん03/08/17 18:07ID:w938zl0m
現在アメリカサーバーを使ってますが、
現在使用しているPHPスクリプトが時差設定が出来なくて困ってます。

$abctime= (date ("H:i:s"));

この部分をgmtimeとか使って変える気がするんですが、
どうすればいいんでしょうか?

誰かおながいします

0822nobodyさん03/08/17 20:42ID:???
>>821
putenv('TZ=JST-9');
0823nobodyさん03/08/18 00:09ID:pnFIbaKU
>>822
$abctime=putenv('TZ=JST-9');
ってことでしょうか?
すんません知識がしょぼくて汗
082482103/08/18 00:19ID:pnFIbaKU
すいません、ちょっと違ってました。
正しくは以下です。

$abcdate = (date ("Y-m-d"));
$abctime= (date ("H:i:s"));

これを何とか日本の時間に直したいんでつ。
よろしくお願いしまつ
0825nobodyさん03/08/18 00:30ID:???
>>823
せっかく教えてもらったのに、調べもせずに質問返しか。
0826nobodyさん03/08/18 00:31ID:???
>>824
>>822で答えもらってるだろうが
あとは自分でググれ
0827nobodyさん03/08/18 06:12ID:BwATsvIe
fopenを使って読み込みモードでファイルをオープンするときってflockは必要ないんですか?
0828nobodyさん03/08/18 07:21ID:???
>>827
作成するシステム全体で読み込みしかしないんだったら不要。
もしどこかで書き込みと競合する可能性があって、それがまずいなら何らかのロックは必要。
あとflock()はadvisory lockなので、みんなで守らないと意味ないので注意。
0829nobodyさん03/08/18 08:06ID:BwATsvIe
>>828
じゃあどこかでファイルに書き込みする所が1箇所でもあれば
fopenで開く処理のときは全部lockかけないといけないって事ですか?
0830nobodyさん03/08/18 09:16ID:???
開いた時、
読み込むだけなら無くても良いと思うが・・・。
0831nobodyさん03/08/18 17:54ID:???
>>829
まー厳密にはそうなりますね。

>>830
そうね。
ほとんどのプログラムでは、そう問題になることもないしね。
0832nobodyさん03/08/19 03:47ID:OzwjKvy8
定数の場合defineで宣言すれば自分で作った関数内でglobalで指定しなくても使えるんですよね?
だったらやっぱり使う定数が多い場合は全部defineで宣言した方がいいんですか?
global宣言しないといけないものがあまりに多くなってしまったので。
定数として宣言した方が処理が早くなるとかあるんでしょうか。
0833nobodyさん03/08/19 08:22ID:???
PHP4.2.2を使っています。

あるファイル(txtやdat)ファイルに
文章あ-1 文章あ-2 文章あ-3
文章い-1 文章い-2 文章い-3
が書いてあって
別のphpファイルから 文章あのなかからランダムでひとつ、文章いの中からランダムでひとつ取り出すのはどうしたらできるでしょうか?
どなたか 教えてください。
0834nobodyさん03/08/19 11:48ID:???
>>832
複雑化してるなら定数で済むものは定数でいいのでは?たぶん処理も早いし

>>833
文章あ-ランダム数 文章い-ランダム数 でいいかと?
0835nobodyさん03/08/19 20:37ID:HWSDVW6B
女の子も勉強になるよ!
http://homepage3.nifty.com/manko/
0836nobodyさん03/08/20 02:26ID:DmnhIRDP
cryptで暗号化したパスワードって簡単に複合化できるんでしょうか?
0837nobodyさん03/08/20 03:16ID:???
>>836
できません
0838nobodyさん03/08/20 04:12ID:???
掲示板などのログファイルを1行目だけ書き換えたいんですが。
file関数で一度全部配列に入れて1行目だけ書き換えて保存する以外に効率が良い方法はどんなやり方がありますか?
0839nobodyさん03/08/20 04:31ID:???
ImageCreateFromPNGみたいな感じにBMP画像を読み込むのは
どうしたらいいんですか?
0840nobodyさん03/08/20 06:18ID:5bGlwbl+
str_replace ( mixed search, mixed replace, mixed subject)
でmixed searchが半角1文字のときは探してくれないんでしょうか。
0841_03/08/20 06:30ID:???
http://homepage.mac.com/yamazaki8
0842nobodyさん03/08/20 21:17ID:UjFXAgnt
お気に入り集 ☆
http://beauty.h.fc2.com/
0843 03/08/20 23:57ID:???
>838
fopen

>839
ImageCreateFromWBMP
0844nobodyさん03/08/21 02:26ID:???
>>838
>>843
行が固定長でなければぜんぶ読むしかないんとちがう?
file()で正解だと思う。ネイティブ処理だし。

いっそログファイルをdbmにするのはどう?
0845nobodyさん03/08/21 06:02ID:???
>>844
開業があれば止まるよ。
084683803/08/21 06:13ID:???
fopenで開いてそのあとどうすればいいんでしょうか?fputsでやってみたんですが追加で書き込みされてしまいます。
最初ある1行目を消して違うものに書き換え、2行目以降は元のままって意味だったんですが、やっぱりfopenでできますか?
0847nobodyさん03/08/21 15:36ID:pPohBqhp
初めての書き込みで緊張していますが
PHPの質問で数値の表示方法についての質問なんですが、数値の計算で
例えば
10×1.05 をやると 10.5
になるのですがこれの小数点以下を切り捨てたいのですが、どうすれ
ば良 いのでしょう。number_format関数を使えば小数点以下の修正が
行なえるというのは知っているのですが、number_format関数を使うと
1000などの数値の時、1,000となり","(カンマ)が表示されてしまい、数
値として認識しなくなってしまいます。
この計算の後にもさらに計算をしたいので、数値として認識させなけれ
ばならないので、こまっています。
どうぞご指導をよろしくおねがいします。
0848nobodyさん03/08/21 16:33ID:???
切捨てならキャスト演算子で十分だろ。
(int)
0849nobodyさん03/08/21 16:53ID:pPohBqhp
わかりました!ありがとうございます。この掲示板て凄く
たすかりますね。今後もどんどん活用しようと思います!!
0850nobodyさん03/08/21 16:56ID:???
>>836
>>846
いや、だから普通にやるなら無理なんだってば。
ファイルを開くモードによって書き換えた残りの部分が
中途半端に残ったり、ファイルサイズが0になったりする訳
だから、いずれにせよ、書き換えた部分以外の残りを
書き足さなきゃだめな訳。
file()で読み込んだ配列をforでまわして残りを書き込むとか。

0851nobodyさん03/08/21 17:00ID:???
>>849
この掲示板は人手不足なんでな。
悪いが一回回答をもらったら、お礼に十回ぐらい
質問に答えてくれ。
0852nobodyさん04/03/26 19:42ID:???
記念カキコ
0853nobodyさん04/03/26 19:46ID:???
初心者スレが無くなったお陰で、
PHP-users MLはそりゃもう、大流行だよ
■ このスレッドは過去ログ倉庫に格納されています