按文件名打开文件,否则显示消息PHP


open file by file name else display message PHP

我要求用户输入文件名,如果文件存在,则打开文件,如果不是用户,则得到错误消息" file not Found!"

我有它的工作点,我可以查看文件的内容。如果没有找到文件,我无法让它显示错误。

<form name"form4" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Enter File Name: <input type="text" name="fileName"><br><br>
<input name="name" type="submit" value="Submit"><br><br>
</form>
<?php
if (isset($_POST['name']))
{
$myfile = fopen("files/document.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("files/document.txt"));
fclose($myfile);
 }
 ?>

查看代码,我认为我需要$myfile等于"fileName",它需要一个值来计算。

 $filename = $_POST["fileName"]? am i grasping at straws?

您应该在尝试打开可能不存在的文件之前使用file_exists。防止错误总是比处理错误好。

$file = "files/document.txt";
if (file_exists($file)) {
    $myfile = fopen($file, "r");
    if ($myfile) {
        echo fread($myfile,filesize("files/document.txt"));
        fclose($myfile);
    }
} else {
    echo "Unable to open file!";
}
  1. 你需要设置你的isset代码:(isset($_POST['fileName']))2.你需要在你的isset代码下设置一个变量,它接受你的文本框的值,像这样:$file2 = ($_POST['fileName']);
  2. 然后你需要把你的fopen代码包含在if…else语句:

if ($ file2 = = " document.txt ") {.......}