1

我有一个必须在文件上写入的简单函数,它可以在我的本地服务器上运行,但是当我将它部署到服务器上时它不会写入文件?怎么了 ?

foo.php

<?
if (isset($_POST['data'])) {
         $stringData = $_POST['data'];
         $file = "ciao.txt"; 
         $fh = fopen($file, 'w') or die("can't open file");
         fwrite($fh, $stringData);
         fclose($fh); 
 }
 ?>

函数.js

function WriteToFile() 
{
    var data = "foo baaar";
    $.post("JS/foo.php", {data: data}, function(result){ alert("label updated!!");}, "json");
}
4

2 回答 2

0

检查服务器上的文件权限。使其可写。

于 2012-07-30T10:13:04.787 回答
0
<?
if (isset($_POST['data'])) {
         $stringData = $_POST['data'];
         $file = "ciao.txt"; 
         $fh = fopen($file, 'w') or die("can't open file");
         fwrite($fh, $stringData);
         fclose($fh); 
 }
 ?>

fwrite() 返回写入的字节数,错误时返回 FALSE。改变 fwrite($fh, $stringData);

$written = fwrite($fh, $stringData); 打印$写入;

现在您可以了解您的数据是否被写入的天气。

或者您可以使用 php 代码 chmod("/somedir/somefile", 0755);//750 设置文件权限或使用 777 进行测试,然后恢复为 750 或您的管理员建议

/* 试试这个 */

 if (isset($_POST['data'])) {
             $stringData = $_POST['data'];
             $file = "ciao.txt"; 
             chmod($file, 0755);
             $fh = fopen($file, 'w') or die("can't open file");
             fwrite($fh, $stringData);
             $written = fwrite($fh, $stringData);
             print $written;
             fclose($fh); 
     }
于 2012-07-30T11:46:47.927 回答