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

【PHP】下らねぇ質問はここに書き込みやがれpart15

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/01/14(土) 20:06:11ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは流れを見て970/980/990の誰かが建てれ

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/

過去スレは>>2
FAQは>>3
0511nobodyさん2006/01/26(木) 03:01:14ID:???
>>510
基本的にそんな感じ、詳しくはマニュアル嫁
0512nobodyさん2006/01/26(木) 10:41:21ID:???
>>509
PHPの質問じゃない。MySQLのスレで聞いてこい。
0513nobodyさん2006/01/26(木) 11:19:34ID:???
文字コードの変換方法おしえてください。
jcodeとかnkfみたいなのありませんか?
0514nobodyさん2006/01/26(木) 11:27:09ID:???
>>513
マニュアルのマルチバイト文字列関数のところを穴が開くほど読め
0515nobodyさん2006/01/26(木) 11:38:00ID:???
mb_convert_encodingがエラーで動かないんですが、追加で何かインスコとかしないとダメですか?
0516nobodyさん2006/01/26(木) 11:43:35ID:???
環境書けよ
0517nobodyさん2006/01/26(木) 12:22:26ID:???
xreaのPHP4サバでPEARを使うにはどうしたら宜しいのでしょうか?

require_once "HTTP/Compress.php";
とやると
Warning: main(HTTP/Compress.php): failed to open stream: No such file or directory
と出てしまいます。
CGI版PHPにしても同様です。
0518nobodyさん2006/01/26(木) 12:36:59ID:???
>>515
エスパー的能力を発揮すると、
php-mbstringパッケージを入れろって頭に浮かんだよ。
0519nobodyさん2006/01/26(木) 12:43:58ID:???
>>517
include_pathに、そのPEARライブラリを置いてあるパスを含ませる。
0520nobodyさん2006/01/26(木) 13:06:32ID:???
function内で定義した変数を別functionで参照したいのですがどのようにすればよいのでしょうか?
globalでやってみても駄目でした。

<?
$a=10;
test();
function test(){
$b=20;
test2();
echo $b;
}
function test2(){
global $b;
$b++;
}
?>

↑では$bが21になるようにしたいんですけど・・。
0521nobodyさん2006/01/26(木) 13:32:24ID:???
>>520
変数$bはtest内ローカル変数だから、test2内からでは参照できない。
変数$bを、変数$a同様にグローバルの場所で宣言するか、test内で global $b; として宣言する。
0522nobodyさん2006/01/26(木) 13:38:08ID:???
>>520
つかその使い方なら test2($b); で渡せば良いだけだと思う。
どうも根本がわかってないようだが。
0523nobodyさん2006/01/26(木) 13:46:40ID:???
Perl の sub や BASIC の GOSUB しかやったことない場合は
これで普通って思うかも

>>520
関数っつーのは一般に y= f(x) の形で表されるもので、
「何か値を入れたら何かが返ってくるもの」と考えるのが
C系の言語の基本です。で、関数の中身のことは知らなくて
いいように作る。これ。
05245202006/01/26(木) 14:01:52ID:???
みなさんありがとう。
>>522さんのやり方は当然わかっていたのですがどうせなら引数も
持たさないでいきたいなと思ったので・・。書いてなかったのですいません。
>>523さんの言いたいことはわかるのですが作るとなるとうーむ・・むつかしいところですね^^;
0525nobodyさん2006/01/26(木) 14:06:28ID:???
>>524
もしいくつかの関数で変数を共有したいというのであれば、
global 宣言使うよりも class 使った方が何かといいよ。
おれも引数は少ない方が好きだからその気持ちは分からなくもない。
0526nobodyさん2006/01/26(木) 14:45:41ID:???
>>525
classを活用出来ていない外野なんだけど、クラスでの解決方法をさらして欲しい・・
なんていうのは贅沢ですかそうですか

簡単にクラスを使った用例がホスイ
0527nobodyさん2006/01/26(木) 14:54:48ID:???
>>526
class Hoge
{
var $b;
function test(){
$this->b=20;
$this->test2();
echo $this->b;
}
function test2(){
$this->b++;
}
}

$a = new Hoge;
$a->test();
0528nobodyさん2006/01/26(木) 15:01:11ID:???
>>527
おぉ、サンクス。

>>526
メリットとしては共有しているものがはっきり違う形で
書かれているので関数の中だけ見ていてもぱっと見で影響
範囲が分かるってことと、共有する変数(PHP 的な正確な
用語は知らん)については最初に初期化しなければいけない
ので、これもあとで見たときに分かりやすくなるってこと
かな。使い捨てならどうだっていいことだけど。
05295202006/01/26(木) 16:48:46ID:???
おお、俺もひよこなんでclassの解説が聞きたかったので良かった。サンクス

で、確かにクラスにしようかなとも考えたのですが
なんというかオブジェクト?(カート、動物)と言った物の処理とは
ちょっと違うように思えたのでそれならclassもおかしいのかなと思いました?
言葉ではちょっと表しにくいですね・・・。
簡潔に言えば労働スケジュールを組んでいます。(時間配分や機械等)
でこの日にはこの処理をこれだけの量やってって感じなんですが
ここである条件の場合の処理というのを関数に分けているのです。
で、さらにこの分けた関数処理の中でも条件分岐によって重複する処理がでたので
さらに分けたということなんです。
・・て感じなのでなんていうか、クラス的な考え方ってありなのでしょうか?
05305202006/01/26(木) 16:52:45ID:???
あ、連投スマソ。ものはついでに教えてほしいのですが
俺の考え的には
if(){
 処理A
 処理C
}else{
 処理B
 処理C
}
↑の重複する処理Cの部分が多くなると関数として分けているのですが
こういう考え方についてはどう思われるのでしょうか?いろいろ教えてください^^;
0531nobodyさん2006/01/26(木) 16:57:53ID:???
>>530
俺だったら
if(){
 処理A

}else{
 処理B
}
処理C

こう書く
05325202006/01/26(木) 17:07:37ID:???
>>531 あ、ごめん。はしょりすぎた。確かに>>530ならそうですねw
for(){
if(){
 if(){
  処理A
break 3
 }else{
  処理B
 }else{
  処理C
  処理D
  break 2
 }
}else{
 if(){
  処理E
 }else{
  処理F
 }else{
  処理G
  処理D
  break 2
 }
}
}
こんな感じでネストかけまくってるんです;;
処理Aとかも短くて同じ処理あるのですがいちいち関数で分けてたらややこしくなるしと思いまして・・
0533nobodyさん2006/01/26(木) 17:08:17ID:???
>>529
オブジェクトは単なる概念であって物理的なモノとは全然関係ないんで、
「1日」がオブジェクトだったり、「作業」がオブジェクトだったり、
処理しやすいように書けばいいと思うけど?

何か一つオブジェクト指向言語をやってみると目から鱗が落ちて、
なんでもかんでもオブジェクトとして扱えるようになるかもしんない。
でもそうなると PHP やめたくなるかもしんない。
0534nobodyさん2006/01/26(木) 17:21:47ID:???
PHPでMVCをうたってる参考書にはアクションクラスなるものもあるくらいだし
オブジェクト=モノ、みたいな発想にとらわれることはないかと。

ただのスタティックな関数の寄せ集めをそれっぽい名前でカテゴライズしてクラス階層に落とし込んだりもするし。
0535nobodyさん2006/01/26(木) 17:27:26ID:???
>>532
脱皮が必要な時期にきてるかもね。
関数はくり返し使う処理を切り出すってより、「ロジックを書きやすく
読みやすいものにするためにブラックボックスを作る」という発想で
作っていくといいよ。まぁそのためにはデータ構造とかもいじらなきゃ
いけなくなるかもしんないけど。

例えば今回のスケジュールならたぶん作業や機械によって条件が
変わってくるでしょ? そういう条件をひっくるめてオブジェクトとして
くるんでしまう。そうするとおおもとのロジックで気にすべき条件は
見た目上だけど減るよね。オブジェクトの中に入っちゃうんで直接気に
する必要がなくなる。あとはロジックを書く際にいちばんほしい情報
だけをオブジェクトに教えてもらいながら書き進めていけばいい。

日本語だとえらく漠然としちゃうけど、オレの言いたいことは「ロジックを
気持ちよく書けるように工夫しろ」ってことだ。その結果、コード量が
増えてしまうことを恐れてはいけない。増えても読みやすければいいんだ。
0536nobodyさん2006/01/26(木) 20:51:35ID:???
Apache+Tomcatを導入しろと言われたのですが
Apacheってなんのためにあるんでしょ?
URLから「8080」のようなポート番号が必要なくなるだけ?
0537nobodyさん2006/01/26(木) 20:55:49ID:???
どこがPHPの質問やねん。
0538nobodyさん2006/01/26(木) 21:19:04ID:???
>>536
Apacheのほうがwebサーバとしての機能が十分に備わってるからでしょ。
TomcatはあくまでもApacheのプラグインと考えたほうがいいよ。
0539nobodyさん2006/01/26(木) 23:06:17ID:???
PHPで関数を多重同時実行することはできるでしょうか。
例えばfopenを使ってページや画像を保存する処理、つまり多重ダウンロードなどをしたい時は、
fopenでなくsocket系を使うべきでしょうか。
05405322006/01/27(金) 08:10:12ID:???
>>533-535
ありがとうございます。
>>535さんまた難しそうですね^^;
確かに実際にオブジェクト指向組んだことないし勉強しなければ・・
俺は癖でつい読みやすさよりコード量減らしてしまふ・・orz
>>533 やめたくなるってのはオブジェクト指向には適していないから??
0541nobodyさん2006/01/27(金) 08:44:08ID:???
>>540
短くすること自体は良い習慣だけどね
全体量が小さくなることよりもブロックが小さくなることの優先度が
高いかな。おれはね。長いブロックを読み書きする体力がないもんで。

PHP はオブジェクト指向には「あまり」向いてないと思うよ。
5 はだいぶマシっぽいけど。
まぁそれは今から気にする必要ないんじゃない?
0542nobodyさん2006/01/27(金) 10:09:24ID:???
俺は構造化のためにclass使ってるだけだけど、
かなり見通しも良くなるし、変数のスコープも明確になる。

ひとまず、クラスなんて使ってみれば「どうということはない」。
オブジェクト指向はその後でもいいんじゃね?
0543nobodyさん2006/01/27(金) 11:43:37ID:???
そうですね。一人で作ってる小さいプログラムですし。
MVCとかも以前JSPサーブレットとか使ったときちょっとやったけど
量が少ないと分けない方が楽なんですよね。
もはや人に見せることは考えてないですが・・^^;
・・とこんなこと書いてると俺のひよこレベルがw
0544nobodyさん2006/01/27(金) 15:02:56ID:???
PHPなら最初のころはclassなんてイラネと思うだろうけど
後のメンテナンス性、拡張性考えると自然とオブジェクト指向になっていくお^^
0545nobodyさん2006/01/27(金) 15:42:53ID:???
オブジェクト指向がよくわからんのだけども、
とりあえず全てclassに入れればいいのかな?
0546nobodyさん2006/01/27(金) 15:47:56ID:???
やみくもにclassに突っ込んだだけならオブジェクト指向とはいえない。
PHPなんて代表的なオブジェクト指向が必須でない言語の一つだから、無理してclassを使う必要はない。
0547nobodyさん2006/01/27(金) 16:29:44ID:???
>>545
ちょっと前に書いてあるじゃん。
変数を共用したいとかそういう、「同じグループに属してる感」が
ないのに class に入れたって面倒なだけ。
0548nobodyさん2006/01/27(金) 16:40:41ID:Y9rt4MFE
フレームワークとテンプレートエンジンて何が違うの?
0549nobodyさん2006/01/27(金) 17:32:34ID:???
function hoge(arg1,arg2){
 for(){
  処理A
 }
 if(flag){処理B}
}

↑上の状態で処理Aの中でflagがtrueになった場合、
下のif文中処理Bのところでもっかいfor文に飛ばすにはどうすればよいですか?
for文の外に無限ループつけてそこにcontinueとかするしかないのでしょうか・・
0550軟式PHP2006/01/27(金) 17:43:45ID:???
for()
{
処理A
}
を関数化すりゃいいんでねぇの。
0551nobodyさん2006/01/27(金) 17:51:28ID:???
●改造は自由にどうぞ
●著作権は消さないで

というスクリプトを改造して、HPに載せたいんだけど、改造したものでも著作権の表示は必要なの?
0552nobodyさん2006/01/27(金) 17:55:18ID:???
>>551
日本語読めませんか?
0553nobodyさん2006/01/27(金) 17:58:29ID:???
改造といってもベースになってるのは他人の物なんだから、
著作権明示は必要。
どうしても消したいってときは、作者に連絡してみれば?
カンパ金かなんか払えば消してもいいって人いるかもよ。
0554nobodyさん2006/01/27(金) 18:12:54ID:46g/AEL1
スレ違いかと思うんですが、
PHPでBlogを作っているんですが、メールで更新出来る様にしたいと思い色々調べて、.forwardを使ってメールをプログラムに転送すれば良いと解ったのですが、転送先のプログラムにはどのような処理を書けばいいのでしょうか。
例えばGETなりPOSTなりで送られてくる訳ではないですよね?
自分なりに調べてみたんですが、今ひとつ解説してあるサイトが見つかりません。。
ヒントだけでも頂けないでしょうか。
よろしくお願い致します。
0555nobodyさん2006/01/27(金) 19:50:32ID:???
>>554
標準入力
0556nobodyさん2006/01/27(金) 21:10:57ID:???
>>548
テンプレートエンジンはあくまで動的なページ生成を PHP を
直接書かずにできるようにする仕組み。フレームワークはユーザー
からの入力、画面遷移、セッション、DB など全般的に抽象化して
アプリケーションの骨格だけ書くことに集中させてくれるもの。
0557nobodyさん2006/01/27(金) 23:24:19ID:Y9rt4MFE
>>556
ありがとうございます
0558nobodyさん2006/01/28(土) 04:46:39ID:NaSuq9Gx
>>555
まだ試してないんですが、検索したらそれらしいものが出てきました!
ありがとうございました!
0559nobodyさん2006/01/28(土) 04:49:51ID:???
変数とかファンクションに名前つけるときの命名なんだけど

myFunction()

my_function()

おまいら、どっちにしてる?
0560nobodyさん2006/01/28(土) 05:48:23ID:???
>>559
下のほう
0561nobodyさん2006/01/28(土) 05:53:02ID:???
たぶん my_func()
0562nobodyさん2006/01/28(土) 05:58:04ID:???
javaのコーティング規約にのっとって、
$my_fanc
myFanc
0563nobodyさん2006/01/28(土) 07:32:48ID:???
>>559
PEARに準拠
0564nobodyさん2006/01/28(土) 07:37:46ID:???
PEARのコーティング規約に準拠するのがいいよ。
だからこっち myFunction()
0565nobodyさん2006/01/28(土) 10:48:04ID:???
>>562
同じく
0566nobodyさん2006/01/28(土) 13:16:01ID:???
最近PHPはじめたんですけど、
PEARって何?って人にどこかいいサイトありませんでしょうか?
「PEAR は、TeXの CTAN および Perlの CPANにヒントを得たPHP拡張および
PHPライブラリのコード用のコードレポジトリです。」
こんなことを言われても正直わかりません…
0567nobodyさん2006/01/28(土) 13:17:27ID:???
>>566
ttp://www.amazon.co.jp/exec/obidos/ASIN/4798109592/
詩ね
0568nobodyさん2006/01/28(土) 13:19:43ID:???
誰も本を紹介してくれとは言ってませんよ。
サイトを紹介してください。
0569558です。2006/01/28(土) 13:26:03ID:NaSuq9Gx
何度もすいません。
テストでfgetsで取得してファイルに書き込むようにプログラムしたんですがうまく行きません。
これってもしかしてCGI版じゃないとダメな感じなんでしょうか。。
0570nobodyさん2006/01/28(土) 13:29:43ID:???
>>566
公式に管理された汎用PHPライブラリのことだよ。
0571nobodyさん2006/01/28(土) 13:35:57ID:???
>>569
CGI っつーか CLI
単体でコマンドラインから起動できるバイナリが必要
0572nobodyさん2006/01/28(土) 13:51:20ID:???
>>569
ほいっ。マニュアル
「第43章PHP をコマンドラインから使用する」
ttp://www.php.net/manual/ja/features.commandline.php
0573nobodyさん2006/01/28(土) 14:17:47ID:mOSvPqom
フォームから変数に代入する方法は分かりますが、
変数をフォームに出力するにはどうすればいいのでしょうか?
0574nobodyさん2006/01/28(土) 14:26:58ID:???
とりあえずググって色々サンプルとか調べてみれば

話はそれからだw
0575nobodyさん2006/01/28(土) 14:27:54ID:???
>>573
それは HTML の問題だろ…。

$test = htmlspecialchars($_REQUEST['test']);
<input type="text" name="test" value="$test">
0576nobodyさん2006/01/28(土) 14:36:08ID:???
" "で囲まれた中に記述する変数は全て{ }で囲んでも問題ありませんか?
また、そうする事が推奨されていたりはしますか?
0577nobodyさん2006/01/28(土) 14:47:59ID:???
問題があるかどうかはやってみればいいじゃん。
思い通りに表示されれば問題なし。
エラーが出たら問題あり。

一応囲むのが普通とだけ言ってみる。
0578nobodyさん2006/01/28(土) 14:49:34ID:mOSvPqom
ググって、見つからなかったから聞いているのですが。
0579nobodyさん2006/01/28(土) 14:55:06ID:???
>>577
手元では問題なかったのですが、
特別なケースがあるのかなと思って・・・

今までは必要最低限でしか{ }を使わなかったですが
これからは基本的に囲むようにします
0580nobodyさん2006/01/28(土) 14:55:48ID:???
>>576
問題は無いつーか、問題が無くなるわな。
マニュアルによると、PHPの中の人が変数名を見つけ出す方法はこのようになっている。

> ドル記号($)を見付けるとパーサは、有効な変数名を形成することが可能な最長のトークンを取得します。
> 変数名の終りを明示的に指定したい場合は、変数名を波括弧で括って下さい。
0581nobodyさん2006/01/28(土) 14:58:38ID:???
>>580
なんかその理屈だと}だけでいい気がす
0582nobodyさん2006/01/28(土) 15:01:32ID:???
>>578
探し方が悪いだけじゃない?
0583nobodyさん2006/01/28(土) 15:06:18ID:???
function hoge($aaa, $string) {
if ($aaa) echo $string;
}

という条件付echoを作成しました
どんな関数名にしたらいいでしょうか
みなさんの知恵をください
沢山使うので一般的な名前にしたいのですが
0584nobodyさん2006/01/28(土) 15:15:46ID:???
>>583
echoIf( $condition, $string )
0585nobodyさん2006/01/28(土) 15:28:04ID:???
echo $aaa ? $string : "";
0586nobodyさん2006/01/28(土) 15:39:50ID:???
phpinfo();で表示される Apache Environment の値を取得するには
どうすればいいんでしたっけ?
$_ENV か $ENV だったような気がしたのですが・・・。

具体的には、REQUEST_METHOD の値を知りたいのですが。
0587nobodyさん2006/01/28(土) 15:59:44ID:???
>>584
採用させていただきます
ありがとうございました
0588nobodyさん2006/01/28(土) 17:05:51ID:EkhKiUPm
PHPで、javadocみたいにコメントからドキュメントを作ってくれるのってありませんか?
0589nobodyさん2006/01/28(土) 17:26:27ID:???
>>588
ぜひ作ってください
0590nobodyさん2006/01/28(土) 17:29:39ID:???
>>581

$foo[$bar][$hoge['$fuga']]}

こんなのでも}の起点を正確に探知しなきゃいけないパーサカワイソス
0591nobodyさん2006/01/28(土) 17:38:09ID:???
<input type='hidden' name='a[]' value='1'>をGETメゾットで送りたいのですが可能でしょうか?

./?a%5B%5D=1では受け取れなかったのです。
0592nobodyさん2006/01/28(土) 17:41:17ID:???
>>591
試してみれば
05935912006/01/28(土) 17:53:49ID:???
構造上の問題だった-;)
失礼しました
0594nobodyさん2006/01/28(土) 18:10:29ID:???
>>588
http://pear.php.net/package/PhpDocumentor
0595nobodyさん2006/01/28(土) 18:10:40ID:???
ファイル分割について質問があります

例えばC++でDBを扱うクラスclass_dbを db.h と db.cpp に記述したとします。
db.hにクラス宣言、db.cppに定義を行いますよね。
さらに aaa.h、bbb.h、ccc.hでclass_dbのstatic関数を用いたいときは
これらの先頭にinclude<db.h>と書きますよね。

    main.cpp
   ↓  ↓  ↓
 aaa.h bbb.h ccc.h
   ↓  ↓  ↓
      db.h

の感じでインクルードします。

このような事をPHPでやるとき、このまま書くと多重定義になるので
      main.php
  ↓   ↓   ↓   ↓
aaa.php bbb.php ccc.php db.php

と書いたらうまくいきました。

ところがaaa.php、bbb.php、ccc.phpはdb.phpをインクルードしてないのに
db.phpで定義した関数が出てきてしまい、何か気持ち悪いです。

PHPはこういうもんなんだと納得すべきでしょうか。
それともいい方法があれば教えてください。
0596nobodyさん2006/01/28(土) 18:17:39ID:???
>>595
include_once
0597nobodyさん2006/01/28(土) 21:07:05ID:xY1GiFbj
PHPでezwebのサブスクライバを取得する場合、どう書いたらいいんでしょう?

cgiだったら

if ($user =~/UP\.Browser/) {
$user = $ENV{'HTTP_X_UP_SUBNO'};
}

でいけるみたいなんだが、PHPだとどう記述するのでしょうか?
0598nobodyさん2006/01/28(土) 21:13:33ID:???
>>597
ezwebの事は知らんが、そのコードを見た感じだと、

・$userは環境変数UserAgentから取得。
・$userがUP.Browserという文字から始まっていれば、ezwebだと解釈し、
・さらに環境変数HTTP_X_UP_SUBNOを取得すると、サブスクライバとやらが取得できる。
ってことじゃないの?
$_SERVER $_ENV配列あたりを覗けば希望するものが得られるかと。
0599nobodyさん2006/01/28(土) 22:42:35ID:???
>>597
CGIでなくPerlだったら、なんだろうが(PHPでもCGIは書けるぞ)
PHPで同じ内容は
if (preg_match('/UP\.Browser/', $user)) {
$user = $_SERVER['HTTP_X_UP_SUBNO'];
}
と書く。
0600nobodyさん2006/01/28(土) 23:11:00ID:OGAeWMPn
教えてください。
phpで、windowsで言う所の「ファイルの作成時刻」を得たいのですが、
statについて調べてみると


8 atime 最終アクセス時間 (Unix タイムスタンプ)
9 mtime 最終修正時間 (Unix タイムスタンプ)
10 ctime 最終変更時間 (Unix タイムスタンプ)

とのことで作成時刻は得られないのでしょうか。
それと、最終修正時間と最終変更時間って何の違いでしょう?
0601nobodyさん2006/01/28(土) 23:14:56ID:xb4UVvPr
よくブログなどで、
携帯メールを指定アドレスに送る→ブログに更新
なんてのがありますが、具体的にどうやって実装すればいいでしょうか。
0602nobodyさん2006/01/28(土) 23:20:06ID:???
>>600
ctime - unix系で言うところのinodeの情報(所有者やグループ、パーミッション等)が変更された時。
0603nobodyさん2006/01/28(土) 23:26:43ID:???
>>600
マニュアルにも書かれているが、
filectime
>注意: 多くのUNIXファイルシステムでは、i-ノードが変更された際、つまり、パーミッション、所有者、グループ、
>または他のメタデータが書き込まれた際に、ファイルが変更されたとみなされます。
filemtime
>注意:この関数は、ファイルのブロックデータが書き込まれた時間を返します。これは、ファイルの内容が変更された際の時間です。
つまり、ファイルの内容が最後に更新された時間がfilemtime、
内容以外でもパーミッションなども含めて最後に更新された時間がfilectime
ということになる
ちなみに、fileatimeの所に
>いくつかのUNIXでは、ファイルのctimeはファイルの作成時間として参照されます。これは間違っています。
>多くのUNIXファイルシステムでは UNIXファイルの作成時間は存在しません。
とマニュアルには書かれている
0604nobodyさん2006/01/28(土) 23:35:04ID:???
>>601
>>554->>555
0605nobodyさん2006/01/28(土) 23:36:44ID:???
どうもです。
06066002006/01/28(土) 23:37:28ID:???
ガーン。マジだ。statは調べたけどfilectimeなんてのもあったのか。
thxですた。∧||∧
06076002006/01/28(土) 23:38:21ID:???
>602さんにももちろんthxですた∧||∧ ∧||∧
0608nobodyさん2006/01/29(日) 02:12:39ID:???
お願いします!
今、WindowsXPのコマンドプロンプト上で動かすスクリプトを書いています。
内容はディレクトリの中身を表示すると言う単純なものなのですが、下のソースのように
if(!is_dir($file))としているにもかかわらずフォルダ名まで表示されてしまいます。
この指定ならフォルダ名は表示されないと思うのですが間違っているのでしょうか?
PHPのバージョンは5.1.2です。

<?php

$dir = opendir("./foruda") or die("Directory is can not open !!");
while ($file = readdir($dir)) {
if(!is_dir($file)) {
echo "$file\n";
}
}

closedir($dir);
?>
06096082006/01/29(日) 02:15:11ID:???
すみません。タイプミスです。
×echo "$file\n";
○echo "$file\r\n";
0610nobodyさん2006/01/29(日) 02:20:23ID:???
>>608
is_dir() は不完全。is_dir() のマニュアルのユーザノートにも書かれていたと思うが。
本当にディレクトリかどうか調べるなら
filetype() の結果を使うべき。
■ このスレッドは過去ログ倉庫に格納されています