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

【php】part29【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/07/06(水) 09:57:54ID:0DucnAyH
・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-10辺り

前スレでは、尾張の方でお世話になりました。
原因は唯のファイル名間違いでした。ダッセー俺OTZ

0266nobodyさん2005/08/08(月) 23:18:19ID:???
>>264
悪い事は言わんから、堂々と使ってるって表明した方が良いんじゃないのか?
仕事でそういった部分でミソ付くと後々面倒だぞ?
0267nobodyさん2005/08/08(月) 23:56:07ID:???
LGPLでも、派生物の著作権表示の削除は禁止されている。
0268nobodyさん2005/08/09(火) 00:00:10ID:???
>>264
そのプログラムが海外製でLGPLの表明以外に特にライセンスについて
何も謳っていない(大元の配布物で確認)のであればOK。
そのプログラムが日本製であればLGPL表明以外に
著作権(著作人格権)絡みで制限がないか確認。
この場合、明確に許可されてない=許諾されている と思い込むのは間違い。その逆。
(許諾してない(状態)だけで、許諾しない(意思)とは限らないけど)
0269nobodyさん2005/08/09(火) 00:02:25ID:???
>>267
プログラム名称の表示のところが著作権表示だと
確かにそうなんだけどね。今回のケースはどうなんだろ。
0270nobodyさん2005/08/09(火) 00:09:02ID:???
>>269
コメントでツール名を表示するか
ジェネレータタグを出力する仕様だと
別個に著作権表示を出すことはまれではないかな。
html形式の出力部分に著作権表示を出すと
どの部分の著作権かが分からなくなるし。
商用オーサリングソフトのほとんどがそういう仕様だから。
0271nobodyさん2005/08/09(火) 00:33:56ID:???
だからね、著作権者に聞きなさいって話ですよ。
権利を持ってる人が決めることがらでしょうが。

商用でなきゃいいよとか、商売でもプロジェクトに貢献すればOKとか、
交渉して例外を認めてもらえばいいのよ。

>>267
なんか、成果物についてもなんかあった気がする。
思い出せないが、ほかのライセンスの話かも。
0272nobodyさん2005/08/09(火) 05:19:43ID:B6OGOTi7
PHP5ってmbstring有効にするならiconvを無効にしておいたほうがいいの?
0273nobodyさん2005/08/09(火) 14:49:59ID:???
>>272
有効にしといてもいいけど、普通使わないよね。
mbstringがあればiconvは。
0274nobodyさん2005/08/10(水) 16:06:04ID:???
初歩的な質問で申し訳ないんですけど、
includeとクラスのインスタンス作って使うのとどう違うんでしょうか?
0275nobodyさん2005/08/10(水) 16:15:33ID:???
>>274
カプセル化・・・
0276nobodyさん2005/08/10(水) 19:48:24ID:???
>275
ウィンダム?
02772742005/08/11(木) 03:11:20ID:???
このスレ人がいないんすね・・・
くだ質逝って来ます
0278nobodyさん2005/08/11(木) 09:16:41ID:???
>>275-277


                    .,Å、
                  .r-‐i'''''''''''i''''‐-、
                 o| o! .o  i o !o
                .|\__|`‐´`‐/|__/|
                 |_, ─''''''''''''─ ,、 /
                 ,/ノ      ヽ\、_
              <´フ ● 、 ▼  , ●.ヽ `ヽ
     ,ィ           Y,.-ニ=.`Y´`Y´ 'ニ二ミ/  >>275キングカワウソッス
     /;l  ,.イ  ,,. -''"´レ'´   .l  l      ヽ!`丶、
  ヽ ̄;;;;;;ソ/;;;;l/!   ,.-'´.|     !_」       | ヽ、 `
   l;;;;;;;;;;;;;;;;;;;;;;;l  '´    |             l   `
    l;;;;;;;;;;;;;;;;;;;;l       |               l
0279nobodyさん2005/08/15(月) 11:04:14ID:???
人大杉?
0280nobodyさん2005/08/17(水) 08:15:32ID:???
盛り上がってる?
0281nobodyさん2005/08/17(水) 11:18:47ID:???
急に人いなくなったな
0282nobodyさん2005/08/18(木) 11:41:32ID:???
すべてはスレタイのせい。何のスレだかわからん。
みんなくだ質に流れたな。
0283nobodyさん2005/08/18(木) 12:07:54ID:TEYIGC6I
ここお気に入りから削除しといた^^
0284nobodyさん2005/08/18(木) 12:17:23ID:???
どうせくだらない質問しかないから
0285nobodyさん2005/08/18(木) 12:40:26ID:???
質問スレで聞く香具師って、質問スレに常駐しているわけじゃなさそうだしな。
聞きたいときだけ、質問スレを探して開いてそう。だもんで、スレタイから
「質問」を抜かすと質問者はあまり来ない。
全般的なネタも今更だし、フレームワークやテンプレート、PEAR、OOPなどは
それぞれスレがあるんで、もうこのスレは...
0286nobodyさん2005/08/18(木) 13:03:26ID:???
スレタイ見た感じ、PHPについて語るスレと思って開いた
そしたら質問スレだったw
0287nobodyさん2005/08/18(木) 13:13:53ID:???
いとふゆりょう
0288nobodyさん2005/08/18(木) 14:22:23ID:???
>>286
PHPの質問はたいていくだらないので、
このスレではPHPについて何でも余すところなく好きなだけ語ってください。
でないとこのスレ寒すぎ。
0289nobodyさん2005/08/18(木) 22:13:21ID:???
おまいらに質問だが、guessworkってどうよ?
なんかバージョンが0.0.3からいきなり0.9.0にあがるみたいなんだが。
0290nobodyさん2005/08/19(金) 08:19:34ID:???
うーん、フレームワークはこっちのスレなんだなぁ

【PHP】フレームワークについて語るスレ【総合】
http://pc8.2ch.net/test/read.cgi/php/1123608068/
0291K2005/08/19(金) 10:56:36ID:axffmqRn
header("Location: …")を使ってのリダイレクトで、
URLの指定を相対URLにすると一部のクライアントでは
受け付けないものがあるため、絶対URLでの指定が推奨されるとの
ことなのですが、相対URLでは受け付けないクライアントには
何があるかご存知の方、教えてください。
調べた限りでは、携帯端末の一部で受け付けないらしいですが、
IEやネスケ等のPCのブラウザで受け付けないものってあるのでしょうか?
0292nobodyさん2005/08/19(金) 12:43:56ID:???
print_r($_SERVER);してみると幸せになれるかも
0293nobodyさん2005/08/19(金) 12:56:02ID:???
>>292が意味不明な点について
0294nobodyさん2005/08/19(金) 13:00:29ID:???
>>291
RFC的には絶対URIがMUSTだったような。
HTTP_HOSTがあれば入れてやるのがよろし。これはリクエストに使われたhostが入る。
HTTP/1.0とか入ってない時はSERVER_NAMEだが、鯖をきちんと設定してないと最悪localhostとか入ってくるので注意。
0295nobodyさん2005/08/19(金) 13:15:46ID:???
>>294
バーチャルホストつかってると、リクエストヘッダに適当なHOST突っ込むと
デフォルトホストにつながっちゃうんだけど、HTTP_HOSTつかうのってセキュリティ上どうなのよ
0296nobodyさん2005/08/19(金) 13:18:51ID:???
>>295
適当なhostでBad Requestにならないのは鯖側の問題だと思うが。
0297nobodyさん2005/08/19(金) 13:21:03ID:???
便乗質問で申し訳ないんだがLocationではなく
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=xxxx">の場合でも絶対URIでないとマズイの?
0298nobodyさん2005/08/19(金) 13:38:17ID:???
>>295
鯖の問題はさておき、セキュリティリスクになるかどうかはheader吐くまでのシーケンスを考えれば分かるんじゃまいか。

>>297
それくらい調べろ
0299K2005/08/19(金) 13:40:23ID:axffmqRn
レスありがとうございます。
一応、$_SERVER['HTTP_HOST'] と dirname($_SERVER['PHP_SELF'])を使って
フルパスで記述はしてるんですが、ヘッダによるリダイレクトを結構使っていて、
かつ、これらのページがSSL下のファイルのため、ローカルでのテストではhttp://と記述して
サーバーにアップする時にhttps://にいちいち直すのが手間がかかり、
いっそのこと相対URLで記述してしまおうかと思っていたのですが。。。
このサイトは携帯用ではないので、PCブラウザで問題がなければOKかな、と・・・
だけどやっぱり絶対URLで記述しておくべきですかね。。。
0300nobodyさん2005/08/19(金) 13:53:42ID:???
define('HOME','http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
header("Location:".HOME);
とか、すれば
0301nobodyさん2005/08/19(金) 14:08:17ID:???
>>299
SSLだと'on'になる変数なかったっけ?
0302nobodyさん2005/08/19(金) 14:18:09ID:???
>>299
$scheme = ($_SERVER["SERVER_PORT"] == 80) ? "http://" : "https://";
80以外でhttp鯖動かしてるならだめだけど
0303K2005/08/19(金) 14:47:13ID:axffmqRn
レス300、301さん、302さん
ふむむ、そういうこともできるんですね!
試してみます。
アイデアどうもありがとうございました!
0304nobodyさん2005/08/19(金) 18:03:53ID:???
>>302
http://p0t.jp/mt/archives/2005/07/uri.html
0305nobodyさん2005/08/19(金) 19:24:33ID:???
>>304
SERVER_PROTOCOLってHTTP/1.0or1.1以外もあるのか?
0306nobodyさん2005/08/19(金) 19:44:05ID:???
SSI下でINCLUDEDとかあったような
0307nobodyさん2005/08/19(金) 19:53:39ID:???
だめじゃん
0308nobodyさん2005/08/20(土) 07:41:26ID:???
>>305
XREAだとINCLUDEDになってた
mod_layoutとかの関係かな
0309nobodyさん2005/08/23(火) 16:54:44ID:???
>>295
まだ答えが見つかってないみたいだからヒントをやろう

適当にhost突っ込んだ結果を第三者に見せる方法を考えろ

見つけられたら発見者として名前が刻まれるかもしれない(嘘八百)
0310nobodyさん2005/08/26(金) 16:15:00ID:vJGu4kC7
index.php?page=1
などで他のコンテンツを出すやり方を教えてください!
0311nobodyさん2005/08/26(金) 16:35:46ID:???
>>310

<?php
if(array_key_exists("page",$_GET) && is_string($_GET['page'])){
switch($_GET['page']){
case "1":
?>
<p>"?page=1" のページ</p>
<?php
break;

case "2":
?>
<p>"?page=2" のページ</p>
<?php
break;

default:
?>
<p>"?page=それ以外" のページ</p>
<?php
}
}
else{
?>
<p>デフォルトページ</p>
<?php
}
exit();
?>
0312nobodyさん2005/08/26(金) 16:55:00ID:vJGu4kC7
>>311
ありがとうございました!
0313nobodyさん2005/08/26(金) 21:05:42ID:???
おいおい・・・ネタなのか、真性なのか、このスレだとまじで判断出来ん・・・
0314nobodyさん2005/08/26(金) 21:55:57ID:???
入力フォームを作るにはどうするんですか?
0315nobodyさん2005/08/26(金) 22:11:23ID:???
>314
なぜここに・・・。
0316nobodyさん2005/08/26(金) 22:36:05ID:???
>>314
つ make_inputform()
0317nobodyさん2005/08/27(土) 01:36:06ID:???
http://www.google.com/search?q=make_inputform+site:www.php.net&l=ja

釣りだったのかorz
03183162005/08/27(土) 01:39:58ID:???
>>317
スマン。実装は各自行なってくれ
0319nobodyさん2005/08/27(土) 01:50:03ID:???
俺も一応検索した
あったら何か便利そうだなと
0320nobodyさん2005/08/27(土) 01:57:26ID:???
質問の意図がよく分からないけど、フォームに関するあれこれなら、pearのHTML_* とか。
ttp://pear.php.net/manual/ja/package.html.php
0321nobodyさん2005/08/27(土) 02:22:58ID:???

echo"<FORM method=post action=./index.php>";
0322nobodyさん2005/08/27(土) 10:14:22ID:???
トランスフォームを作るにはどうするんですか?
0323nobodyさん2005/08/27(土) 10:36:42ID:???
コンボイの謎?
0324nobodyさん2005/08/27(土) 12:01:09ID:???
echo "トランスフォーム!";
0325nobodyさん2005/08/27(土) 12:05:19ID:???
フォームに2chのサーバー、ディレクトリ、スレッドキーを入れて送信するとそのスレのURLをだすようにしたいんですが

[index.php]
<html><body>
<form action="index2.php" method="POST">
サーバー:<input type="text" name="server" size="35"><br>
フォルダ :<input type="text" name="folda" size="35"><br>
キー   :<input type="text" name="key" size="35"><br>
<input type="submit" value="表示">
</form>
</body></html>

[index2.php]
<html><body>
<?php
echo "<A HREF=\"http://$server/test/read.cgi/$folda/$key/\">http://$server/test/read.cgi/$folda/$key/<;/A>";
?>
</body></html>

これではできないんですが、どうすればいいのでしょうか?
0326nobodyさん2005/08/27(土) 12:12:00ID:???
>>325
http://jp.php.net/manual/ja/language.variables.external.php
0327nobodyさん2005/08/27(土) 12:21:59ID:DxkPepn/
>>326
それのとうりやったつもりですがhttp:///test/read.cgi////と表示されます。
0328nobodyさん2005/08/27(土) 12:26:55ID:???
>>327

[index2.php]
<html><body>
<?php
extract($_POST);
echo "<A HREF=\"http://".$server."/test/read.cgi/".$folda."/".$key."/\">http://".$server."/test/read.cgi/".$folda."/".$key."/</A>";
?>
</body></html>
0329nobodyさん2005/08/27(土) 12:46:47ID:DxkPepn/
あいがとうございました。
>>328をみるまえにできました。
まださきはながい。。。
0330nobodyさん2005/08/27(土) 15:43:03ID:???
2chのスレがdat落ちしたら「dat落ちしています。
とでるようにしたいんですがどうすればいいですか?
0331nobodyさん2005/08/27(土) 16:00:13ID:???
>>330
>>325の人かい?
1. 実際にアクセスしてみないとdat落ちしてるかどうか分からん。
2. dat落ちしているかを判断する方法を探す。

1. ファイルシステム関数あたり。場合によってはfsockopen(ネットワーク関数)を使う。
2. 通常時とdat落ち時の違いを比較すりゃ分かるべ。
0332nobodyさん2005/08/27(土) 16:32:48ID:???
質問です。
XMLファイルの
<rdf:RDF>
<item>
<link>http://www.yahoo.co.jp<;/link>
<title>ヤフー</title>
</item>
ここ
</rdf:RDF>

に
<item>
<link>http://www.google.com/webhp?hl=ja<;/link>
<title>Google</title>
</item>
を書き込みたいのですが、
普通にfputsなどでできませんでした、
どうしたらいいのですか?
0333nobodyさん2005/08/29(月) 22:58:24ID:???
よそのサーバにあるXMLファイル?
03343322005/08/29(月) 23:53:10ID:???
>>333
自分のサーバーにあるファイルです。
0335nobodyさん2005/08/30(火) 00:06:45ID:???
>>334
そうか、ならいいよ。
0336nobodyさん2005/08/30(火) 00:26:44ID:???
>>332
>普通にfputsなどでできませんでした、
が考えられない。

>どうしたらいいのですか
読み取り側、書き込み側のXMLファイルのパーミッションを
確認しなおし、PHPのエラーが出てないことも確認し、
その上で処理に使用したコードを抜き出して晒してみな。
03373322005/08/30(火) 00:40:09ID:NQqDUgFw
>>336
ありがとうございます。

ちょっと考えてきます。
0338age2005/08/30(火) 01:56:53ID:pRMjTqBI
すみません、質問です。
今日、初めてPHPを勉強してみようと思い、
http://y-kit.jp/saba/xp/phpsetup.htm#inst
というサイトを参考にPHPのインストールとApacheのインストールをしました。
PHPはバージョンが4.4.0で、Apacheは1.3.33です。
インストール後、他のサイトを参考にして

<?php phpinfo(); ?>

一行だけを実行するものを作りました。
それに関してはhttp:/localhost/test.phpから表示がなされたのですが、

<html>
<head>
<title>初めてのPHP</title>
</head>
<body>
<p>今日は<?php echo date("n月j日"); ?>です。</p>
</body>
</html>

というように打ち込むと、Internet Explorerに「0B」と表示されるだけで、講座を開かれているサイトのような結果が出ません。
もう一度、インストール方法が書かれたサイトの内容と自分のインストール方法(php.iniとhttpd.confの設定など)を確認したのですが間違っているところが見つかりませんでした。
<?php phpinfo(); ?>
が正常に表示されていれば良い、ということなのですが…どなたか原因が推測できる方がおられましたら、ご助言お願いします。
0339nobodyさん2005/08/30(火) 02:02:13ID:???
>>338

<html>
<head>
<title>FirstPHP</title>
</head>
<body>
<p>Today is <?php echo date("n/j"); ?></p>
</body>
</html>

と、やってみたらいかがだろう?
これで表示されるなら、文字コードの問題。
03403382005/08/30(火) 02:06:24ID:pRMjTqBI
ぅわ…Internet Explorerに「Today is8/30B」ってちゃんと(?)表示されました!!
ありがとうございます、ありがとうございます!!^^
でも、最後の「B」って…それに文字コードの問題…うーん…
他のサイトなんかも参考にしながら頑張って調べてみます!^^
ありがとうございましたっ^^
03413382005/08/30(火) 02:18:06ID:pRMjTqBI
>>>339さん
「Today is8/30B」の「B」は「です。」の部分を消し忘れてただけでした、すみません;;
0342nobodyさん2005/08/30(火) 17:32:09ID:???
>>338
メモ帳で作ったの?
eucが扱えるテキストエディタを使ってる?
0343nobodyさん2005/08/30(火) 19:40:22ID:???
特定の文字列($str)に数字以外と1文字以下の文字が含まれていたら処理を中止したいのですが、
下記のように記述したスクリプトだとBADエラーが出ます。
if(!ereg("[0-9]{1, 7}", $str)){
echo '数字以外の文字が含まれています。';
exit();
}

当方正規表現は今まで避けてきていたのですが、今回だけは使わないとどうにもならないので
いろいろ検索をかけた結果このようになりました。ご指導よろしくお願いします。
0344nobodyさん2005/08/30(火) 20:08:40ID:???
>>343
>>if(!ereg("[0-9]{1, 7}", $str)){
「{1, 7}」を「{1,7}」("7"の前のスペース削除)にすればエラーは出ない。

でもそれだけだとパターンにマッチしない。
あとは正規表現の基本なのでググればすぐでてくるハズ。
数字"しか"許可しないという事は"全文字"(最初から最後まで)数字って事ですよ。
0345nobodyさん2005/08/31(水) 07:50:17ID:???
>>343
正規表現を避け続けたいなら
if (!is_numeric($str) or !is_int($str) or $str > 9999999 or $str < 0) {
echo "数字以外または8桁以上の数字";
}
0346nobodyさん2005/08/31(水) 17:30:59ID:MJNcLNXp
$str='';
ctype_digit($str);
はなんでtrueなの?
0347nobodyさん2005/08/31(水) 18:02:45ID:???
>>346
digitfだけでなくctype_*全部でtrueになる。
ソース見たら
for(n=0;n<len;n++) {
if(!iswhat((int)*(unsigned char *)(p++))) RETURN_FALSE;
}
RETURN_TRUE;

len = 0だからforループ回らずにtrue返してるようだ
0348nobodyさん2005/08/31(水) 18:23:09ID:MJNcLNXp
>>347
なるほどサンクス
空やゼロが絡む場面で使っててハマったよ
0349nobodyさん2005/09/01(木) 00:31:21ID:???
>>347
乙。
しかし、、なんじゃそりゃーですね。それは。
ちょっと書けば、0の時はFALSE返せるのに…。
0350nobodyさん2005/09/04(日) 03:14:58ID:???
テスト環境を簡単に構築することができるツールについてですが
phpdev、XAMPP以外に、そのようなツールがあれば教えていただけませんか?
0351nobodyさん2005/09/04(日) 04:01:07ID:???
>>350
XSAS

その名(用途)通りにXOOPSも入ってるけど、
WAMP(PHP&Perl)環境。
0352nobodyさん2005/09/04(日) 04:07:39ID:???
>>351
早速試してみたいと思います
ありがとうございました
0353nobodyさん2005/09/04(日) 04:08:14ID:???
あとFoxServとかUniform Serverとか。
他に韓国系企業の配布してる日本語設定されたパッケージがあって記憶がある。
0354nobodyさん2005/09/04(日) 04:36:34ID:???
>>353
そちらの方もじっくり試してみて、自分の環境に沿ったものを選びたいと思います
皆様本当にありがとうございました
0355nobodyさん2005/09/04(日) 12:56:20ID:???
>>354
あっ、サンクス。
1クリックで開発環境を一度にインストールするツールもあるんだ。
03563552005/09/04(日) 12:57:22ID:???
誤爆。orz
0357nobodyさん2005/09/05(月) 19:34:08ID:???
PHPでMySQLに画像を追加したり、追加した画像をPHPで表示させたりしたいのですが、
可能なのでしょうか?

環境
FreeBSD/5.4-RELEASE-p6
Apache/2.0.54 (Unix)
mod_ssl/2.0.54
OpenSSL/0.9.7e
MySQL/4.0.25
PHP/4.4.0
0358nobodyさん2005/09/05(月) 19:36:51ID:???
>>357
はい
0359nobodyさん2005/09/05(月) 19:43:00ID:???
MySQLスレの内容だけど
BLOB型カラムにINSERT出来る
0360nobodyさん2005/09/05(月) 19:44:15ID:???
質問する前に試しましょう
0361nobodyさん2005/09/05(月) 21:53:31ID:tWqFRk3N
配列のメモリサイズを知るのには、どのようにしたらいいでしょうか?
(countで要素数を知りたいのではなく、メモリサイズです。)
環境は、PHP4以上を想定しています。
用途としては、
Fatal error: Allowed memory size of 8388608 bytes exhausted
を、サーバー側の変更を伴わず、プログラム側で回避したいです。
よろしくお願いします。
0362nobodyさん2005/09/05(月) 21:57:51ID:???
>>361
ソースを読みましょう。
PHPは読んだ事ないですが、
1つの変数は、2つ以上の構造体が組になってるはずなので、そのサイズをチェック。
てか、なぜそんな事が起きる…。
0363nobodyさん2005/09/05(月) 22:01:57ID:???
メモリサイズの上限を規定するphp.iniを変更せずにということだよね?

その馬鹿でかい配列はなんで発生したの?
SQLが原因ならselectをやめてfetchでデータを取る。
他の理由ならプログラムの構造を見直した方がよい。
0364nobodyさん2005/09/05(月) 22:03:58ID:???
gdじゃないの
0365nobodyさん2005/09/06(火) 07:52:08ID:???
確かに画像処理はメモリ食うからな
jpgとかもビットマップみたいに展開しないと処理できないしね
0366nobodyさん2005/09/06(火) 11:47:11ID:???
>>362-365
どうもありがとうございます。
お察しの通り、GDです。
>メモリサイズの上限を規定するphp.iniを変更せずにということだよね?
そうです。メモリー上限は増やせないのと、仮に増やせたとしても、画像なん
で、状況によってはその上限も超えてしまう可能性があるので、メモリサイズ
を取得して、上限を超えそうなら自分でエラーメッセージを出すようにして、
Fetal errorは回避するような仕様を想定していました。
■ このスレッドは過去ログ倉庫に格納されています