トップページ⇒php
1001コメント280KB

【PHP】質問スレッドpart20【php】

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん04/08/06 15:44ID:paJ4kjjQ
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。


■本家
 http://www.php.net/

■日本 PHP ユーザ会
 http://www.php.gr.jp/

■PHP マニュアル
 http://www.php.net/manual/ja/

■PEAR マニュアル
 http://pear.php.net/manual/ja/

過去スレ, 関連スレ等>>2-4


抜けているものがあったら補足願います
0852軟式PHP04/08/24 19:08ID:???
文字コード議論はループするの巻(´・ω・`)
0853nobodyさん04/08/24 19:14ID:???
コーディングはEUC
出力はSJISでやってる
0854nobodyさん04/08/24 19:37ID:???
UTF-8でないと表示できない文字とかあるのでUTF-8
0855nobodyさん04/08/24 19:57ID:???
厨質問で申し訳ないんだけど、
UTF-8で書くってのは・・・・
どんな設定のことを言うの?

まず、ソースの文字コードだよね?
あとブラウザに吐き出す header だよね?
テンプレートの文字コードだよね?

他には?
0856nobodyさん04/08/24 20:37ID:???
なんでもかんでもEUCでいいじゃん
楽だから
0857nobodyさん04/08/24 20:37ID:???
なにがいいたい?
085885704/08/24 20:38ID:???
>>855ね。
0859nobodyさん04/08/24 20:39ID:???
>>855
馬鹿?
コーディングに決まってんだろ
0860nobodyさん04/08/24 20:47ID:???
ぜんぶSJISがいいじゃん
0861nobodyさん04/08/24 20:54ID:???
fsockopen を使ってpopと会話する様なコードを作成してるのですが
fgetsで取得毎に mb_convert_encoding($buffer, "EUC", "JIS") という処理をかませているけども
ヘッダの Subject 部分がどうしても普通の日本語表記になってくれないんです...

Subject: =?iso-2022-jp?B?SVRTUxskQkw1TkE/R0NHJTUhPCVTJTkkTiQ0MEZGYhsoQg==?=

↑こんな感じで

本文及びHTML全体の日本語部分は正常に変換・表示できているのに
ヘッダのこの部分だけなんとも出来ない状態です


もしかして、これは仕様でしょうか?
それとも、変換処理がまだなにか足りないのでしょうか?


どうか神のご加護を
0862nobodyさん04/08/24 20:57ID:???
ttp://jp.php.net/manual/ja/function.mb-decode-mimeheader.php

phpにはこんな関数もあるんだな
便利だよなぁ
0863nobodyさん04/08/24 21:02ID:???
とりあえず
>>845は絶妙なタイミングで定番のエサを撒くフィッシャー
0864nobodyさん04/08/24 21:12ID:???
とりあえず
>>863は絶妙なタイミングで定番のスレの流れを止める馬鹿
0865nobodyさん04/08/24 21:17ID:???
>>857
実際にUTF-8で運用するってなったら、
ソースの文字コードだけでなく、色々設定必要だよね?

ってか普通はコーディングのみUTF-8でやるってことなの?
(で、出力はSJISとか)

ってことはEUCで書いたコードを全部文字コード変換でUTF-8に変換すればいいってわけ?
0866Tom04/08/24 21:19ID:l95C3MHe
PHP初心者です。現在、move_uploaded_file を使って画像ファイルを
ウェブ上のimageフォルダにアップロードするページを作っています。
しかしimageフォルダにファイルを移すためには、このフォルダの
パーミッションをゆるくしなくてはならず(一応テストでは777に
してます。。。)、セキュリティ面でちょっと心配なのですが、
皆さんはこのようなケースではどのように対策されているのでしょうか?

imageフォルダには一応、トップページにリダイレクトするindex.php
を入れていますが、他にも何かできること、対策がありましたら
是非ご教授いただけると幸いです。
よろしくお願いします!
0867nobodyさん04/08/24 21:19ID:???
>>851
RSSって何を使って生成してますか?
PearのXML_RSS?
0868nobodyさん04/08/24 21:21ID:???
>>866
“PHP(mod_phpならApache)がアクセスできるセキュリティ設定”ってことでいいのでは?
0869nobodyさん04/08/24 21:25ID:???
>>866
basic 認証じゃダメ?
0870nobodyさん04/08/24 21:43ID:BjXF/ulZ
>>866
わたしは特に気にしてませんね。
だってプロバイダとかが提供してるスペースにCGIおく場合も
パーミッション777とか755とかがデフォルトだし
0871nobodyさん04/08/24 21:47ID:G+Zi/Jg+
管理人が殺された!!!
http://www2.ezbbs.net/04/235963
0872nobodyさん04/08/24 21:53ID:???
あ、XML_RSSってRSSを作ることはできないのか・・・
0873nobodyさん04/08/24 22:05ID:gv2tQqB7
新規質問です。
phpでxml宣言(<?xml〜?>)を出力したいときはecho以外にどんな方法があるでしょう?
教えて下さい凄い人。
0874nobodyさん04/08/24 22:07ID:k28OQysD
>>873
print
ヒアドキュ
0875nobodyさん04/08/24 22:42ID:???
>>873
php.ini で short_open_tag = Off
これを設定すると <? だけでなくて、<?= の形式も使えなくなるので注意が必要。
0876nobodyさん04/08/24 22:58ID:9mq/YpZu
初めまして。質問です。
文字列をGETで渡す場合、例えば
test.php?url=http://www.google.co.jp/search?hl=ja&ie=UTF-8&q=hoge&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
とした場合、"&"以下の文字列が受け取れません。
http://www.google.co.jp/search?hl=ja
↑こんな感じ。
理由は分かるのですが、最後まで文字列として受け取れるアイデアは無い物でしょうか?
0877nobodyさん04/08/24 23:02ID:???
いや、受け取れるから
0878nobodyさん04/08/24 23:12ID:???
>>877
http://www.google.co.jp/search?hl=ja&ie=UTF-8&q=hoge&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
という文字列を受け取りたいみたい

>>876
わざわざGETで渡さなくてもPOSTで渡せばいいじゃん
その方がユーザにも悪戯されにくいし(気休め
0879nobodyさん04/08/24 23:16ID:???
>>878
ああそういうことか。
&を何か別のセパレータに変えてGETで渡して
もらったところで、$_GET['url']を先ほどのセパレータで分割
とか?
0880nobodyさん04/08/24 23:19ID:???
素直にurlencodeかrawurlencodeしてみては?
0881nobodyさん04/08/24 23:20ID:???
$_SERVER["QUERY_STRING"]から抜き出すしかないだろ。
088287904/08/24 23:20ID:???
あ、ただ受け取るだけか。
http://google(ryの中の&を\tにでも変える。
んで、GETで渡す。
もらった奴の\tを&にもどす

つーのでいいのでは?
0883nobodyさん04/08/24 23:23ID:???
普通に受け取れてる漏れは?
0884nobodyさん04/08/24 23:29ID:???
>>883
URLエンコードされてるから
0885nobodyさん04/08/24 23:32ID:???
>>884
その通り!!
0886nobodyさん04/08/24 23:52ID:???
>>874
CLI版では流石に無効な罠……
俺strtrで置換させちまった
088787604/08/25 00:25ID:N00bMw4b
ありがとうございます。
$_SERVER['QUERY_STRING']で解決できました。
もう一つ、恥ずかしいのですが、"url="以下を取り出す際、
$URL = $_SERVER['QUERY_STRING'];
$URL = strstr($URL,"url=");
$length = strlen($URL);
$URL = substr($URL,4,$length);
としています。
なんか不恰好な気がするのですが、もう少しスマートなアイデアありませんか?
088887304/08/25 00:37ID:2ASjXTcy
>>874>>875
THX。

#age進行でいいのか・・・?
0889nobodyさん04/08/25 00:57ID:???
>>887
$URL = $_SERVER['QUERY_STRING'];
$URL = substr($URL, strpos($URL,"url=")+4);
とか
preg_matchとか。
0890nobodyさん04/08/25 00:59ID:hWDzpod0
>>887
おれならこうする。
$URL=preg_replace("/^url=/,"",$_SERVER['QUERY_STRING']);

0891nobodyさん04/08/25 01:00ID:???
>>887
ていうか
$length = strlen($URL);
は何がしたいんだ?
0892nobodyさん04/08/25 01:06ID:???
>>890
発想がちょうど逆だったw
preg_replace('/url=(.*)$/','$1',$_SERVER['QUERY_STRING']);
089387604/08/25 01:12ID:N00bMw4b
再度感謝です。
もやもやがすっきりしました。よく眠れそうです。
>>891
長さを指定しなきゃいけないもんだと思い込んでました。
ありがとうございました。
0894nobodyさん04/08/25 16:29ID:???
PHPを普通にインストールすると、勝手にPearも入るけど、
やっぱりPearは最新版に更新してから使った方が無難?
0895nobodyさん04/08/25 16:37ID:???
>>894
つい先日php(rpm形式)をupdateしたら、
DB::DataObject pgsql.php のLIMITの扱いが LIMIT $count,$from になってて、
チョロっと2,3滴出てしまった。
(ある時期以降、PostgreSQLは LIMIT $count OFFSET $from しか受け付けないようになった)
0896nobodyさん04/08/25 16:58ID:???
>>895
げ。それはやだなぁ・・・
むー。
0897nobodyさん04/08/25 17:00ID:???
RSSを作る方法としては、どんな感じでやってますかー?
教えてエロイ人。

普通にSmartyとかでテンプレート作っといて、
assignするだけでもいいような気もするけど・・・。
0898nobodyさん04/08/25 17:04ID:hvemyQ1Y
ちと質問を。
phpのテキストカウンターで。
xxx.phpで使うのなら
include("./count.php");
などで読み出しできるけど、
これをjavaスクリプトを使わないで
xxx.htmlで読み出し出来ないかなと思ってるのだけど、
何か方法ないですか?
本体ページがhtmlのみでCGI使えないサーバ−でphpは他サーバーで使ってるのだけど。
0899nobodyさん04/08/25 17:18ID:???
>>898
<iframe>もしくは<ilayer>を使うしかないのでは。
どっちゃにしろ板違い。
0900nobodyさん04/08/25 17:24ID:???
>>899
どこが板違いなんだよw
なんでもかんでも板違いって言えばいいってもんじゃないだろが。

iframe&ilayerか。さんきゅ。やってみるよ。
でも。それだと、BGに画像がある場合はその部分だけおかしなことになるかな。
ま。ありがとね。

0901nobodyさん04/08/25 17:38ID:???
はぁ・・・
夏休みもあと1週間ですよ
もう少しの辛抱です
0902nobodyさん04/08/25 17:51ID:???
ああいう板違いの質問も少しは減るだろうね。
090389904/08/25 18:38ID:???
(T_T)
0904nobodyさん04/08/25 18:55ID:???
元気だせ。
夏厨っていう蚊に刺されただけさ。
0905nobodyさん04/08/25 19:01ID:???
はぁ、板違いに気づかない夏厨ってかなり悪質な部類だな
0906nobodyさん04/08/25 19:05ID:???
気付かないんじゃなくて分からないんじゃないかな。質問側は。
分からないからこそ聞いてるわけだし。
0907nobodyさん04/08/25 19:09ID:???
>>906
分からん奴は板違いを指摘されて「板違いじゃねぇよw」なんて言わない
0908nobodyさん04/08/25 19:10ID:JWj1Ppy8
それはもっと悪質だと思ふ。。
0909nobodyさん04/08/25 19:19ID:???
あれぐらいならこの板でもいい気がする
この板が何処までサポートするかだな
0910nobodyさん04/08/25 19:20ID:???
>>900-910
板違い

↓何事も無かったかのように
0911nobodyさん04/08/25 19:49ID:???
華氏911
0912nobodyさん04/08/25 20:46ID:6+AB4ycN
いま赤マンモスのパート1(phpの基礎(除くデータベース))
までなんとなく理解したのですが、作って覚えるphpみたいな
サイトって無いですか?
0913nobodyさん04/08/25 20:49ID:???
他のPHPスクリプトを実行するときは何を書けばいいですか
0914nobodyさん04/08/25 20:59ID:???
>>912
Let'sPHP
0915Tom04/08/25 21:13ID:dCL2qLIs
>>868,869,870さん
レスどうもありがとうございました。
ウェブ上のディレクトリのパーミッションに関して、ちょっとナーバスに
なりすぎてますかね?
一応、ファイルをアップロードするページ自体はパスワードを必要とする
ディレクトリに入れているのですが、パーミッションを低くしている
Imageフォルダになんらかの方法で外部からアクセスされて悪さを
されやしないかと、心配だったんですけど。。

ところでBASIC認証について、恥ずかしながらはじめて知りました。
自分でちょっと調べてみましたがそんなこともできるんですね。
勉強になりました。

どうもありがとうございました!
0916nobodyさん04/08/25 21:19ID:???
あれだな。
ここにいるやつって他の板もだけど、
自分の思う事言えないやつがおおいよな。
集団でないと何も出来ないってやつか。

0917nobodyさん04/08/25 21:20ID:BWOwaHCo
セッション管理について教えてください。
$a[0]="a";
$a[1]="b";
$a[2]="c";
$_SESSION['a'] = $a;
のようにしてセッションに配列を入れた時、
セッションからの取り出し方が解りません。
別ページで
print($_SESSION['a']);
とhtmlに表示したら"Array"とかでてきました。
print($_SESSION['a'[0]]);
では何にも出てきませんでした。

ご教授お願いします。
0918nobodyさん04/08/25 21:23ID:???
>>917
$_SESSION['a'][0];
0919nobodyさん04/08/25 21:23ID:???
>>917
$arr = $_SESSION['a']);
print_r($arr);
0920nobodyさん04/08/25 21:29ID:???
>>918
>>919
なるほど! 早速試してみます
すばやいレス有難うございました
0921nobodyさん04/08/25 22:07ID:Qso0P8lz
「P検3級なんだ、なめんなよ」とかいっている奴のHPが↓
http://smile.poosan.net/ennetu/index2.htm
なんですが、「こんなんでいばんな」と少しでも思ったら掲示板に書き込んであげてください。
あとそれだけ威張っておきながら「ページとの一致はヤフー登録なんだよ!」とか言ってましたのでそこらへんも考慮してあげてください。
0922nobodyさん04/08/25 22:44ID:???
>>921
その人に虐められたの?
確かにBMP使ってる辺り少しアレだけど
0923nobodyさん04/08/25 22:52ID:???
>>922
コピペ荒らしに反応するなっちゅうねん。
0924nobodyさん04/08/25 23:34ID:Qso0P8lz
まじでいじめられた感じw
復讐中さw
0925nobodyさん04/08/25 23:37ID:4zCbnYMx
P犬3級ごときに嫉妬しているお前は何者だ。
0926nobodyさん04/08/25 23:45ID:???
独りじゃ復讐も出来ないとは憐れだな(藁
092791204/08/26 02:18ID:Xl1ki6wy
>>914
ありがとうございます。
LetsPHPはチュートリアルが結構早く終わりました。
あとは配布しているソースの中身を見たりしたら
良いのでしょうか?
0928nobodyさん04/08/26 04:21ID:???
>927
お前アホだろ
何でも良いからやれっつのw
やればやるほど知識になるんだから
092991204/08/26 04:32ID:Xl1ki6wy
>>928
アホだから質問しているんだよ、ボゲ。
ありがとうございました。
0930nobodyさん04/08/26 04:48ID:???
まー、最初の頃はナニから手を付けたらいいか
わからんよな。
基本を押さえたら、実際に作りたいものを作り始めたり、
他の人のソースを丸写ししたりするのがいいんじゃないの?
0931nobodyさん04/08/26 05:27ID:???
おまいら
pear Auth のauth_container_db *RECURSION*気になりませんか?
0932nobodyさん04/08/26 13:47ID:p2TSxF3G
プログラマはテキストエディタを使うから問題ないんですが、
デザイナに手を入れてもらいたいのでHTMLエディタを検討しています。
PHPのコードが壊れないようなエディタって何があるのでしょうか?
フロントページはダメですよね。DreamWeaver とかどうなのでしょうか?
0933nobodyさん04/08/26 13:48ID:luvI+xpD
若干PHPの質問からズレルのですが、
可能かどうかという点で質問します。

フォームを使って、
アクション先のURLを変更したいんですが、むりぽでしょうか?
PHP使用しなきゃむりぽですか?
麗:
<form action=http://(ここにvalue=URLの値)/>
<input type=text name=URL></form>

みたいな感じで。
0934nobodyさん04/08/26 13:49ID:???
DreamWeaver de OK牧場!
0935nobodyさん04/08/26 13:51ID:???
>>933
web制作とのマルチですか?
0936nobodyさん04/08/26 13:51ID:???
<form action=<?=$_GET[url]?>/>
<input type=text name=URL></form>
0937nobodyさん04/08/26 13:52ID:???
あ、マルチだったのか?
0938軟式PHP04/08/26 13:52ID:???
>>932
DreamWeaverは使ってるけど壊れないよ。

>>933
JavaScript使えば出来るよ。
0939nobodyさん04/08/26 13:54ID:???
>>932
うちじゃDreamweaverでやってるべ。
とりあえず*アプリが*壊すことはない。

っていうかね、うちじゃPHP以前の問題で、フォームのnameを好き勝手変えといて
「動かなくなりました」とか言うんだよ?
PHP理解しろとはいわない。せめてHTML理解して組んでくれ。
いや悪い、つい愚痴を...
094093304/08/26 13:55ID:luvI+xpD
これをマルチというのですたか。
マジスイマセン&助かりました。
ありがとうございますm(_ _)m
0941nobodyさん04/08/26 14:26ID:???
>>332
テキストエディタ使ってコード書く PHP プログラマに、
テキストエディタで対処出来ない web デザイナー& HTML コードでつか。

がくぶる。
0942nobodyさん04/08/26 14:29ID:???
>>941
すごい遅レスでつね。

がくぶる。
0943nobodyさん04/08/26 14:30ID:???
>>940
もうくるなよ
0944nobodyさん04/08/26 14:30ID:???
>>942
あげあし

がくぶる。
094594104/08/26 14:57ID:???
がくぶる (;´Д`) >>932 ね、一応。
0946nobodyさん04/08/26 15:03ID:???
$arr[1],$arr[2],$arr[3]を破棄する場合
unset($arr[1],$arr[2],$arr[3]);
としますが、削除したい要素の添え字が配列に入っているときは、どうすればいいでしょうか?($unsetlist = array(1,2,3);)
0947nobodyさん04/08/26 15:26ID:???
foreach ($unsetlist as $value) {
unset($arr[$value]);
}

テストしてない。
0948nobodyさん04/08/26 15:28ID:???
>>947
ありがとうございます。
もうちょっとスマートにできないでしょうか?これが限界でしょうか
0949nobodyさん04/08/26 15:31ID:???
十分スマートだと思うが
0950nobodyさん04/08/26 15:35ID:???
>>932
そういう時にはテンプレートですよ。
有名所だとsmartyってのがあるし、pearにも幾つか転がってる。
オイラはシンプルさから http://hoover.ktplan.ne.jp/kaihatsu/php/index.php?type=doc&txt=htmltemplate
のを使わせてもらってる。
html中にPHPの命令文が入り込まなくなるので、デザイナさんに壊されることも無いし。
>>939のような事態は起こりえるけど、、、というか頻発するんだよなぁ。。_ト ̄|○
0951nobodyさん04/08/26 15:36ID:???
関数使って一行で書きたいとか?
095294704/08/26 15:38ID:???
>>948
うーん。俺はわからん。

もっと短い記述はあるのかもしれんが、
それはスマートじゃなくて、変態チックな予感がする。

あくまで憶測だが。
レス数が950を超えています。1000を超えると書き込みができなくなります。