トップページ⇒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


抜けているものがあったら補足願います
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
うーん。俺はわからん。

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

あくまで憶測だが。
0953nobodyさん04/08/26 15:44ID:???
foreach ($unsetlist as $value) unset($arr[$value]);
1行にまとめてみた
意味無いな・・・
095494604/08/26 16:08ID:???
スマートと言うか、ループ無しでってのは、無理ですよねぇ。配列だから・・
0955nobodyさん04/08/26 16:10ID:???
>>948
無理矢理考えて 2つくらい思い付いた。
array_walk($unsetlist, create_function('$v, $k, $c', 'unset($c[0][$v]);'), array(&$a));
とか、
call_user_func_array(create_function('$x', 'unset($x[' . implode('], $x[', $unsetlist) . ']);'), array(&$a));
とか。

>>952 の言う通り変態的にしか見えない。
095694604/08/26 16:11ID:???
やっぱり変になっちゃいますか
素直にforeach使います。
どうもありがとうございました。
095795504/08/26 16:18ID:???
foreach を使わない方法としては、これが一番ましかもしれない。

eval('unset($a[' . implode('], $a[', $unsetlist) . ']);');
0958nobodyさん04/08/26 16:21ID:g+Sdupz+
( $hoge ) = hogeFunction();

こういう書き方をするとエラーになりますが、( $hoge )はダメなのですか?
0959nobodyさん04/08/26 16:29ID:???
>>958
こうかな?
list( $hoge ) = hogeFunction();
0960nobodyさん04/08/26 16:37ID:???
そもそもなぜ括弧で括りたいのか
0961nobodyさん04/08/26 17:00ID:???
PHP Accelerator 使おうかと思うんですが、
PHP4.3.8 で使う場合、該当バージョンがありません。

4.3.0版をダウンロードすればよいでしょうか?
096293204/08/26 17:24ID:p2TSxF3G
DreamWeaverでいけそうですね。
ありがとうございました。
0963nobodyさん04/08/26 17:56ID:???
HTMLデザインとPHPを別の担当者がやるなんて・・
裕福な会社でつね_| ̄|○
0964nobodyさん04/08/26 18:05ID:???
>>963
その方がいい物が出来るけどね。

といいつつ俺も全部一人でやってまつ。
本物のデザイナーなら欲しいな。
プライドと給料だけ一人前で能力付いてこないヤツ大杉なのよ。
0965nobodyさん04/08/26 18:07ID:???
また出ましたよ。有能上司
0966軟式PHP04/08/26 18:09ID:???
サーバーやPHPの環境設定、ブラウザの設定等に問題がないかも
チェックしたほうがいいかもしれませんね。
096796104/08/26 18:27ID:???
PHP Accelerator を入れてみました。

ところが・・・。
Failed loading /usr/.../php_accelerator_1.3.3r2.so:
/usr/.../php_accelerator_1.3.3r2.so:
cannot open shared object file: No such file or directory

そんなファイル無いよ?って言われます。
lsではちゃんと表示されるのに・・・。
# ... は 省略したところ。

$ ls /usr/.../php_accelerator_1.3.3r2.so
/usr/.../php_accelerator_1.3.3r2.so*
0968nobodyさん04/08/26 18:27ID:???
>>965
まだ解決できないのか。無能社員。
0969nobodyさん04/08/26 18:39ID:???
>>967
あなた様は今後エラーが出るたびに逐一ここで
聞きやがりますか?
0970nobodyさん04/08/26 18:46ID:???
いや、でも>>967のエラーは結構すごいと思うよ。
「php_accelerator "Failed loading" "cannot open shared object file"」でググっても
1件しかヒットしない。
世界で2番目だよ。
銀メダルみたいな?
ってゆーか、そんなエラーが出る可能性って言ったら、
ディレクトリの読み取り権限しか思いつかないや。
0971nobodyさん04/08/26 19:02ID:???
もちろん、ディレクトリ&ファイルのオーナー&グループ、
権限は色々といじってみているんですがニンともカンとも。

PHPをインストールするにもライブラリのリンクで苦労した
64ビットサーバにはPHPAは無理かなぁ・・・
0972軟式PHP04/08/26 19:16ID:???
次世代マシン萌え
0973nobodyさん04/08/26 20:45ID:???
配列aに数字が5個、配列bにも数字が5個あります。
配列bの数字の中に、配列aの数字がいくつ含まれているか、というのを調べる場合

1.配列aに配列bをpushして追加、12個にする。array_uniqueで重複を消し、countで要素数を調べ、12からその要素数を引く。
2.配列aを順番に見ていき、配列bの数字が含まれていたらunsetする。そしてcountで要素数を調べる。

というのを考えたのですが、どっちがいいですか?
それとも他に良い方法ありますか?何か、みなさんの言う”変態的”のやり方なようなのような気がして・・・
0974nobodyさん04/08/26 20:46ID:???
×12からその要素数を引く。
○10〃
でした、すいません。
0975nobodyさん04/08/26 21:31ID:???
count($b)-count(array_diff($b,$a))
とか。知らんけど。
0976nobodyさん04/08/26 22:14ID:???
count(array_intersect($a,$b))
レス数が950を超えています。1000を超えると書き込みができなくなります。