我要求用户输入文件名,如果文件存在,则打开文件,如果不是用户,则得到错误消息" 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!";
}
- 你需要设置你的isset代码:(isset($_POST['fileName']))2.你需要在你的isset代码下设置一个变量,它接受你的文本框的值,像这样:$file2 = ($_POST['fileName']);
- 然后你需要把你的fopen代码包含在if…else语句:
if ($ file2 = = " document.txt ") {.......}