

いつもお世話になっております。
■環境■
PHP5 Windows
■状況■
フォルダ内にtextファイルが20~45個入っております(個数は状況によって変わります)。
■目的■
フォルダのtextファイルの中身を参照し、各textファイルに必ず含まれる数字を取り出す。でございます。
■方法■
(1)フォルダにあるファイル名を取りだす
(2)fopenで読み込み(r)で全部を見、数字を別ファイルに書き込む
と考えたのですが、(1)で.、..というよくわからないファイルも一緒に出てきてしまったので、file_existsでファイルが存在するか確認してから(2)に移ろうとお思いました。
が、ファイル名は全部ないといわれてしまうのです。
しかしfile_exists($filename)の$filenameを表示させ、ブラウザにこぴぺするとtextデータは出てきます。
以下プログラムの一部です
※$cは(1)で得たフォルダ内にあるファイル名をループでまわしている値です
for($b=0;$b<$a;$b++){
$filename="C:/Inetpub/wwwroot/php/kore/1/".$c;
if (file_exists($filename)) {
print "あるよ<BR>";
} else {
print "ないよ<BR>";
}
}
結果は(一部です)
C:/Inetpub/wwwroot/php/kore/1/.text⇒ないよ
C:/Inetpub/wwwroot/php/kore/1/..text⇒ないよ
C:/Inetpub/wwwroot/php/kore/1/0155442A5.txt⇒ないよ
C:/Inetpub/wwwroot/php/kore/1/01762602A.txt⇒ないよ
です。
上記の
C:/Inetpub/wwwroot/php/kore/1/01762602A.txt
C:/Inetpub/wwwroot/php/kore/1/0155442A5.txt
は確実に存在しております。
どこがおかしいのか、ご教授いただければ幸いです
よろしくお願いいたします
No.3ベストアンサー
- 回答日時:
直接の回答ではありませんが、「.」や「..」という名前が出て来るということは、scandirやopendirしてreaddirでファイル名の一覧を取得しているということですよね。
一覧すべてを取得するのではなく、目的とするファイルのみ一覧で取得できるglobを使う方が便利ではないかと思います。たとえば glob("*.txt") を実行すれば、拡張子がtxtのファイルの一覧を返してくれます。
file_existsがtrueで返らない理由については、他の方もおっしゃっているとおり、まず渡しているファイル名が本当に思っているものなのかどうかを確認してみた方が良いと思います。ありそうなのは、$c にディレクトリ名の一部が入っている、とか。
ご回答ありがとうございます!
glob関数は知りませんでした。
ありがとうございます。
早速使ってみましたところ、見事にtxtのみ採取でき驚きです!
さらにglobで得たファイル名をそのままfile_existsに入れてみると
「あるよ」になりました!!!!
ありがとうございます!!
無事に解決になりました!!!
No.4
- 回答日時:
inetpubからではなく、"
http://localhost/php/kore/1/0155442A5.txt"がfile_existsか?と聞いても結果は同じですか?
もしくは同様にarray = file([URLでのファイル名]);
で聞いても値は入ってますか?
(ブラウザでは開くとお話されてますので)
URLで直接聞いて値が有効であり、絶対パスで聞いて値が有効でない場合は、指定がおかしいのではと思われます。
また、実行時パスを事前に調べておいて、そこからの相対パスで指定したときにも同じ現象になるのか調べてみてもいいんじゃないですか?
ケアレスっぽい気がします(^^;
回答ありがとうございます!!
なるほどです。
相対パスの着眼点はありませんでした。。。
勉強になります!
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
session_start()でwarningが表...
-
ezwebでサイトが表示出来ません。
-
use と requireの違いは?
-
phpファイルについて
-
JavaScriptとphpのちがいはなん...
-
さくらレンタルサーバーでPHPが...
-
.phpと.incファイルの違いはな...
-
textファイル内のデータをルー...
-
PHPの慣習的な書き方・組み方に...
-
phpでgifアニメかどうかチェッ...
-
phpで複数のファイルをdlさせる...
-
phpのファイルのファイルの読み...
-
【file_exists】ファイルが存在...
-
phpでの実行結果をhtmファイル...
-
全項目がCSV出力されない(LAMP...
-
サーバ無しでphpを動作させる
-
PHPでMVC requireや$_GET記載場所
-
レンタルサーバ上のPHPが正常に...
-
phpファイルのダウンロードとセ...
-
URLが.PHPってどういう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.phpと.incファイルの違いはな...
-
.phpファイルが、表示されない
-
【file_exists】ファイルが存在...
-
URLが.PHPってどういう...
-
PHPを使ってのサーバ上ファイル...
-
EUC_JP と EUC-JP
-
htdocsフォルダ以外ではPHP...
-
さくらレンタルサーバーでPHPが...
-
htmlspecialcharsが機能してい...
-
CakePHPの .htaccess設定について
-
PHPでフォルダ選択ダイアログを...
-
PHPの戻り値をWINDOWSバッチフ...
-
phpのファイル制御関数について...
-
サーバ無しでphpを動作させる
-
別のドメインのファイルをrequire
-
サイトのphpソースコードを表示...
-
sendmailのパス指定方法
-
apacheで拡張子を省略してアク...
-
クラスが使えない。
-
session_start()でwarningが表...
おすすめ情報