【发布时间】:2012-11-30 02:26:35
【问题描述】:
我是一名新的 PHP 开发人员。我正在尝试在服务器上编写一个平面文件,并且我有以下代码。
<?php
$myfile= "file1.txt";
if(isset($_POST['ta'])){
$newData = nl2br(htmlspecialchars($_POST['ta']));
$handle = fopen($myfile, "w");
fwrite($handle, $newData);
fclose($handle);
}
if(file_exists($myfile)){
$myData=file_get_contents($myfile);
}
?>
<form action="file.php" method="post">
<textarea name="ta" cols="64" rows="10"><?php echo $myData; ?></textarea>
<br/> <br />
<input name="myBtn" type="submit" />
</form>
<br/>
<br/>
<?php echo $myData; ?>
我不明白的是,为什么上面的程序在 localhost 上完美运行,但在实际服务器上却什么也没做?
【问题讨论】:
-
网络服务器以什么用户身份运行?该用户是否具有服务器上该目录/文件的写入权限?
-
这是我学校提供给学生的服务器,所以是的。我想我会吗?我该如何检查?
-
您是否可以通过 ssh 访问您的 Web 目录?如果是这样,您可以去那里查看该文件和/或您尝试写入的目录的权限。如果做不到这一点,请在您的代码中添加一些错误处理,并查看它到底是在哪一点失败以及为什么。我几乎可以保证网络用户没有写权限。
-
看来我拥有所有者的写入权限
-
天哪!我爱你超人!我刚刚编辑了公开的写权限,它起作用了!!!现在找不到更好的方式来表达我对你的爱了!!