2012-07-30 88 views
1

我有一个简单的函数必须写在文件上,它在我的本地服务器上工作,但是当我将它部署在服务器上时,它不会写在文件上?哪里不对 ?Jquery Post方法在本地但不在服务器上工作

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); 
} 
?> 

function.js

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

你正在得到什么错误?你确定你在服务器上拥有正确的文件夹/文件权限吗? – Fluffeh 2012-07-30 10:05:46

+0

是的,检查写作权限。或者使用'mkdir()'创建具有所需权限的目录并在那里创建文件。 – 2012-07-30 10:07:47

+0

你可以粘贴一些错误/警告信息吗? – 2012-07-30 10:08:29

回答

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); print $ written;

现在你可以得到你的数据正在被写入或没有被写入的天气。

,或者您可以使用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); 
    } 
+0

问题是我不想知道我在写什么我只想写在ciao.txt中 – Edivad 2012-07-30 11:48:35

+0

seam问题文件ciao.txt没有更新 – Edivad 2012-07-30 11:55:21

+0

if你尝试打印你写的东西,你会有实际的观点天气,你的写作是否成功。 显示了一些东西?那么你可以得到什么导致失败 – Notepad 2012-07-31 05:12:10

0

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

+0

我该怎么做?服务器不是我的:)是我公司的服务 – Edivad 2012-07-30 10:17:07

+0

heve你有一些想法? – Edivad 2012-07-30 10:50:11

+0

如果您有FTP(例如:Filezilla),只需右键单击该文件并选择文件权限并勾选所有权限。 – 2012-07-30 10:55:12

相关问题