2012-12-16 154 views
-2

我有這段代碼在本地順利運行。該程序僅查找文件並在其上寫入數據。當我嘗試在服務器上運行同一程序,只是什麼也不做......php程序在本地工作,但不在服務器上

這是完整的代碼:

<?php 

$myFile = "Current_User.txt"; 
//$produto = "sapato1"; 
//$produto = $produto.";"; 
$i = 0; 
$produto = $_POST["produtoID"]; 
$produto = $produto.";"; 
//$produto = $_POST["produtoID"]; 

    $fh = fopen($myFile, 'r'); 
    $line_of_text = fgets($fh); 
    $str = $line_of_text; 
    $str = str_replace("\n", "", $str); 
    $str = $str."_Cesto.txt"; 
    fclose($fh); 

     $fh2 = fopen($str, "r")or die("can't open file"); 
       while (($line_of_text = fgets($fh2))) { 
         $i++; 
         $line_of_text = str_replace("\n", "", $line_of_text); 
         $line_of_text = str_replace("\r", "", $line_of_text); 
         if($produto == $line_of_text){ 
          break; 
          } 
       } 
      fclose($fh2); 


      $dados = file($str); 
      if($i == 1){ 
       unset($dados[$i - 1]); 
      } 
      else{ 
       unset($dados[$i - 2]); 
      } 
      file_put_contents($str,$dados);   


    ?> 
+1

是否在文件服務器上存在嗎? –

+2

什麼意思是「什麼都不做」? file_put_contents()返回什麼代碼?也許你只是沒有權限在你想存儲文件的服務器上? – ualinker

+0

你應該檢查$ dados = file($ str)的返回值什麼是$ str的可能值,它將是一個本地路徑還是它也可以是一個url?如果它可以是一個URL,你必須在PHP配置中設置allow_url_fopen。 –

回答

0

你忘了上傳Current_User.txt

+0

這是基於? – Lix

+3

@Lix 古瑪雅預言;) –

+0

@Lix:Legit的答案... 如果它在本地服務器上工作沒有錯誤,然後就停止工作,他一定已經忘記了那個文件。除非他想提供關於「什麼都不做」的意思的更多信息。 – Oberst

0

你檢查Current_User.txt文件的寫入權限? 你在服務器上使用什麼文件系統?

如果您有權訪問:在服務器上檢查您的PHP error_log以獲得更有價值的答案或更改error_reportings。

2
<?php 

$url = "http://sea-summit.com/T_webservice/get_appointments_by_id.php"; 


$data = array('user_id'=> 1); 


$options = array(
    'http' => array(
    'method' => 'POST', 
    'content' => json_encode($data), 
    'header'=> "Content-Type: application/json\r\n" . "Accept: application/json\r\n")); 

$context = stream_context_create($options); 
$result = file_get_contents($url, false, $context); 
$response = json_decode($result); 



var_dump($response); 

?> 

這段代碼是面臨着同樣的問題,這樣的權限可能是原因 或改變方法得到它會工作

相關問題