2012-07-30 91 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

相關問題