※ ChatGPTを利用し、要約された質問です(原文:テキストファイルのアップロードについての質問です)
テキストファイルのアップロードについての質問
このQ&Aのポイント
テキストファイルのアップロードについての質問です。アップロードされたテキストファイルを表示するプログラムを作成しています。
アップロードされた文章を他のページでも表示させる方法を教えてください。
アップロード後のページの表示を制御する方法についても教えてください。
現在テキストファイルのアップローダーのページを表示し、アップロードされたテキストファイルの文章を表示するプログラムを作っております。
プログラムは以下です。
//省略
<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
というようなエラーメッセージが出てしまいました。
長い文章になってしまいましたが、今まで書いてきたとおり、アップロードされたファイルを別のページでも表示させるにはどうすればいいのでしょうか?お分かりになる方がいらっしゃいましたら教えていただけないでしょうか?よろしくお願いいたします。
お礼
お礼が遅くなってしまって申し訳ございません。 私事ですがしばらく入院しておりました。 koke29さんのご指摘通りやってみたら、うまくいきました。ありがとうございました。