2015-06-11 122 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 

旁注:错误报告只应在分期完成,并且从不生产。

相关问题