在php

问题描述:

中没有写入(或者甚至没有打开文件)我在这个网站上阅读了许多其他的问题,围绕这个错误,其中没有一个能够帮助我,下面的php代码从html文件获取数据输入,将它发送到php文件,在页面上打印出“Hello Name”之后,它应该打开一个名为My_file.txt的文件,该文件已经被创建,并且写入它,我一直无法做到,任何帮助都会很棒,这里是我的代码:在php

index.html文件:

<html> 
<head><title>Hello Friend</title></head> 
<body bgcolor="black"> 
<p style="text-align:center"> 
<font color="white"> 
<form action="data.php" method="post"> 
    <input type="text" name="myname" id="myname"> 
    <input type="submit" value="Submit"> 
</form> 
</body> 
</html> 

data.php文件:

<html> 
<head> 
<title>Hello Friend, this is php</title> 
</head> 
<body bgcolor="black"> 
<font color="white"> 
<code> 
<?php 
    $name = $_POST["myname"]; 
    echo "Hello, " . $name; 
    $filename = "My_file.txt"; 
    chmod($filename, 777); 
    $f = fopen($filename, "w") or die("Unable to open file"); 
    fwrite($f, "The Name is: " . $name); 
    f.close($f); 
    echo fgets($f); 
    fclose($f); 
?> 

输出:

Hello, JohnUnable to open file 
+1

您是否打开错误报告? – Machavity

要打开文件进行写操作。确保文件可以通过此PHP进程写入。在出现data.php的脚本文件夹中查看您的http服务器权限。同时启用更详细的PHP错误,这可能与许多事情有关(也许你的主机禁用fopen功能)。

+0

我在Linux上我通过apt-get install安装了php&apache2,我没有看到一个调试选项,我该如何去做呢? –

+0

为了测试的目的,我建议你做一些类似'chmod -R 777/var/www'的东西。如果它有效 - 那么会出现许可问题,您可以稍后再解决。看看'/ var/log/apache2/*'文件,也许有些东西你可以检查。 –