2015-06-11 97 views
0

所以基本上我得到我的php腳本在一個文件夾中,我想創建一個txt文件在/ cache中,如果該文件不存在了。如果它存在,它應該放棄並繼續執行腳本的其餘部分。創建txt文件,如果不存在php,在不同的文件夾

$(document).ready(function() { 
    var feed = $("#instagramFeed .wrap"); 
    $.ajax({ 
     type: "POST", 
     url: "<?= path("instagram_feed.php"); ?>", 
     data: { feed_url: "http://iconosquare.com/feed/<?= $butikInstagram ?>", instagram_url: "http://instagram.com/<?= $butikInstagram ?>", cache_file: "<?= $butikInstagram ?>.txt" }, 
     success: function(data) { 
      console.log("SUCCESS"); 
      feed.html(data).find("img").show(); 
     } 
    }); 
}); 

,並在我的instagram_feed.php我現在試着用:

$cache_file = $_POST['cache_file']; 
$fh = fopen("cache/"+$cache_file, 'w') or die("fail"); 

,並返回失敗......我上了緩存文件夾中文件模式藏漢777。

我在做什麼錯?

+0

在文件系統的根目錄是'/ cache'嗎?你應該檢查路徑是否是你期望的。您還應驗證'$ _POST ['cache_file']'以避免安全問題。 – jeroen

+3

你正在試圖用一個'+'在這裏'cache /「+ $ cache_file'連接,對吧?它需要是一個點。另外,確保設置了短標籤。 –

+0

@ Fred-ii-謝謝,解決了我的問題。現在文件正在創建在正確的文件夾!然而,我有一個小問題...(我希望)。我不能寫信給他們。file_put_contents(「緩存/」。$ cache_file,$結果) ; – Codehiker

回答

3

您正在嘗試連接+這裏cache/"+$cache_file

旁註:+是JS/C++連接方法。

它需要是一個點。另外,確保設置短標籤。

你還需要chmod你的文件。

在評論你說你用chmod("cache/".$cache_file, 777);需要改爲chmod("cache/".$cache_file, 0777);

  • 的硬道理, OP使用錯誤報告,因爲我在評論中提出。

OP:好吧,我的錯,沒有將參數傳遞給函數!

error reporting添加到您的文件的頂部,這將有助於發現錯誤。

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

// rest of your code 

旁註:錯誤報告只應在分期完成,並且從不生產。

相關問題