

いつもお世話になっております。
■環境■
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も見ています
-
みんなに挑戦してほしい「色彩検定」
これまで多くの方々が受検したが「色彩検定」。その目的や活用法は人それぞれ。今回は、色彩検定に影響を受けた男女3名にインタビュー。
-
FileExitsについて
Microsoft ASP
-
PHPでネットワークドライブのopendir
PHP
-
file_existsでファイル名の部分一致で検索
PHP
-
4
ダブルコーテーション(
PHP
-
5
phpで、連想配列を普通の配列に変換する関数
PHP
-
6
is_fileでファイルが存在していてもfalse
PHP
-
7
htmlのfileタグに自動で値を入れる方法
JavaScript
-
8
fopenでファイルが開かない場合・・
PHP
-
9
file_exists関数について
PHP
-
10
Javascript_submit()完了後に処理したい
JavaScript
-
11
<input type=hidden" >で配列(複数の要素)を渡したいとき?"
PHP
-
12
構造が異なる二つのテーブルをunionで結ぶには?
MySQL
-
13
指定URLを新しいウィンドウで開くには
PHP
-
14
stat failed
PHP
-
15
○分から○時間○分に変換
PHP
-
16
php文字列中のシングルクオートを置換したい
PHP
-
17
【HTML】1クリックで複数ファイルをダウンロードしたい
HTML・CSS
-
18
BASE64のエンコード時のサイズについて
Outlook(アウトルック)
-
19
TABLEのセルの中の文字を行単位、セル単位で色を変えたい
HTML・CSS
-
20
別PHPファイルに変数を渡す
PHP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
PHPを使ってのサーバ上ファイル...
-
5
Wordpressの質問です(テーマエ...
-
6
.phpファイルが、表示されない
-
7
PHPでフォルダ選択ダイアログを...
-
8
LimeSurveyのアンケート画面に...
-
9
.phpと.incファイルの違いはな...
-
10
apacheで拡張子を省略してアク...
-
11
「localhostの応答を待っていま...
-
12
フォントの色を変えるには?
-
13
wixの使い方について
-
14
FTPコマンドでディレクトリごと...
-
15
別ファイルの変数を呼び出した...
-
16
バッチを用いたフォルダの自動移動
-
17
リンク先を隠す方法はないでし...
-
18
リダイレクトでPOST
-
19
「クラス関数」「メンバ関数」...
-
20
phpにcssを適応させたい...
おすすめ情報
公式facebook
公式twitter