2017-03-09 67 views
0

我有下載使用SQL查詢遠程服務器上的SQL文件,在本地主機的URL我使用獲取文件的內容是工作在本地主機,但不能上網

<?php 
    $fic = file($distantURL); 
    foreach($fic as $line_num => $line) 
    { 
    $pdo->query($line); 
    } 
?> 

,它的工作就像一個魅力,但當我在服務器上使用這個file($distantURL)正在返回FALSE,我試過readfile(),file_get_contents()cURL等等,但是它返回FALSE什麼都沒有工作。

也許我應該在我的服務器上下載文件,找到下載的文件在哪裏,讀取它,並在更新後刪除它?

E:我的鏈接生成與參數的更新文件,我不能沒有遙遠的URL此更新文件

+0

http://php.net/manual/en/function.file.php請參閱下面的提示文件名參數。也許它會幫助你 – Dev

+0

嘗試'print_r($ http_response_header);'看看你給了哪個HTTP錯誤。 – Daniel

+0

你能提供什麼錯誤,你用file_get_contents()和curl ... – shaan

回答

0

確保在您的服務器「的php.ini」

allow_url_fopen

設置爲true。 如果您無權訪問此文件,請聯繫您的託管服務提供商。

+0

這是真的我已經檢查:) – Sydowh

0

如果我理解它是正確的,那麼您需要下載一個文件。你也可以使用捲曲來做到這一點。

$url="URL"; // edit this 
    $fobj = fopen ('you_file', 'w+'); 
    $ch = curl_init(); 
    curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, 'GET'); 
    curl_setopt ($ch, CURLOPT_URL, $url); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt ($ch, CURLOPT_HTTPHEADER,array()); 
    curl_setopt ($ch, CURLOPT_HEADER, False); 
    curl_setopt ($ch, CURLOPT_FILE, $fobj); 
    $rtn = curl_exec ($ch); 
+0

cURL在我的服務器上激活,但$ rtn在最後是假的,我的鏈接是好的我不明白 – Sydowh

+0

它是Windows服務器還是Linux?如果您在Windows服務器上使用xampp,則可能會由於ssl驗證而造成一些問題,如果您的url爲http.Also,請檢查curl錯誤curl_error() –