こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

テキストファイルのアップロードについての質問です

現在テキストファイルのアップローダーのページを表示し、アップロードされたテキストファイルの文章を表示するプログラムを作っております。
プログラムは以下です。
//省略

<form method="post" enctype="multipart/form-data" action="testup.php">
<input type="file" name="data" size="30">
<input type="submit" value="upload">
</form>

<?php
$updir = "./up/";

$filename = $_FILES['data']['name'];

if(file_exists($_FILES['data']['tmp_name'])){
$filesize = filesize($_FILES['data']['tmp_name']);
if($filesize <= 700000){
if(ereg("(^[a-zA-Z0-9_-]+)\.(txt)",$filename)){
move_uploaded_file($_FILES['data']['tmp_name'], $updir.$filename);
echo "File : " . $filename . " Upload Suceeded!!";
echo $_FILES['data']['error'];
echo "<br><br>";
include("./$updir/$filename");
} else {

}
}else {
echo "$filesize Byte too large size。<br>File must be less than 700000 Byte";
}
}
if ($handle = opendir($updir))
{
while (false !== ($file = readdir($handle)))
{
if ($file != "." and $file != "..")
{
include("./$updir/$file");
}

}

closedir($handle);
//以下省略

このプログラムを実行すると問題なく動くのですが、今回お聞きしたいのは、アップロードされた文章をこのページだけでなくほかのページにも表示させるにはどうすればいいのかということです。
例えば
<form method="post" enctype="multipart/form-data" action="testup.php">の[action = " "]のところに表示したいページのアドレスを入れればいいのかと思ったのですが、そうすると、テキストファイルの内容だけでなく、アップロード完了後のUpload Suceeded!!";まで表示されてしまうのであまり好ましくないと思います。また
if ($handle = opendir($updir))
{
からclosedir($handle);の部分を別に保存して
include(-----);としたのですが、
Warning: include(.//ete.txt) [function.include]: failed to open stream: No such file or directory in C:\xampp\htdocs\inc2.php on line 8
Warning: include() [function.include]: Failed opening './/ete.txt' for inclusion (include_path='.;C:\xampp\php\pear\') in C:\xampp\htdocs\inc2.php on line 8
というようなエラーメッセージが出てしまいました。

長い文章になってしまいましたが、今まで書いてきたとおり、アップロードされたファイルを別のページでも表示させるにはどうすればいいのでしょうか?お分かりになる方がいらっしゃいましたら教えていただけないでしょうか?よろしくお願いいたします。

投稿日時 - 2008-04-03 05:35:34

QNo.3917838

すぐに回答ほしいです

質問者が選んだベストアンサー

補足:

$items = explode("", $txt[$i]);
↑これいらないです。

投稿日時 - 2008-04-06 20:16:02

お礼

お礼が遅くなってしまって申し訳ございません。
私事ですがしばらく入院しておりました。
koke29さんのご指摘通りやってみたら、うまくいきました。ありがとうございました。

投稿日時 - 2008-04-30 00:30:39

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ファイルのアップロード自体は問題無しということなら
アップロードしたファイルを他のファイルで読み込み出来ればOK
ということでしょうか。

私がよくやるのは↓こんな感じです。
$txt = file('XX.txt'); ←アップロードしたファイルの名前
for ($i = 0; $i < count($txt); $i++) {
$items = explode("", $txt[$i]);
print("$txt[$i]");
}

表示させるファイルに、読み込みファイルを指定する必要があるので
用途にあうかどうかわかりませんが…。
参考になれば。

投稿日時 - 2008-04-06 20:12:38

あなたにオススメの質問