file_get_contents进入json变量 - twitter模块

时间:2012-07-09 12:40:04

标签: php javascript json file-upload twitter

我对json非常陌生,并且已经在这个问题上工作了大约一个星期。

我使用php从帐户列表中检索推文并将其存储到.txt文件中     

$cache = dirname(__FILE__) . '/../cache/twitter-json.txt';

$data = file_get_contents('http://api.twitter.com/1/lists/statuses.json?    slug=widget&owner_screen_name=webcodepro&count=1&page=1&per_page=8&include_rts=true&include_entities=true');    

    $cachefile = fopen($cache, 'wb');
    fwrite($cachefile,utf8_encode($data));
    fclose($cachefile);

?>

架构师构建前端页面的方式是我需要将json值(我在.txt文件中的内容)存储到.js文件中的json变量中并进行渲染。

编辑: 所以它已被改为

$cache =_ _DIR__.'/cached.txt'; 
$data = file_get_contents('http://api.twitter.com/1/lists/statuses.json?    slug=widget&owner_screen_name=webcodepro&count=1&page=1&per_page=8&include_rts=true&include_entities=true'); 

file_put_contents($cache, $data);

该文件为空。你们知道可能是什么问题吗?

是否可以将.txt文件的内容存储到.js文件中的json变量中?

2 个答案:

答案 0 :(得分:3)

  1. 不需要utf8_encode因为JSON已经是UTF-8
  2. 您只需使用file_put_contents
  3. 即可
  4. file_put_contents($cache, 'var myvar = '.$data.';');
  5. CNC中
    代码澄清我的解决方案:

    $cache = __DIR__.'/cached.txt';
    $data = file_get_contents('http://api.twitter.com/1/lists/statuses.json?slug=widget&owner_screen_name=webcodepro&count=1&page=1&per_page=8&include_rts=true&include_entities=true');
    file_put_contents($cache, 'var mydata = '.$data.';');
    

答案 1 :(得分:1)

  

是否可以将.txt文件的内容存储到.js文件中的json变量中?

是的,有可能:

$txtFile  = '/path/to/txt-file.txt';
$jsFile   = '/path/to/js-file.js';
$jsPlate  = "var jsVariable = %s;\n";

$string   = file_get_contents($txtFile);
if (FALSE === $string) {
    throw new RuntimeException('Failed to load text-file.');
}

$json     = json_encode($string);
if (FALSE === $json) {
    throw new RuntimeException('Failed to json encode string.');
}

$jsString = sprintf($jsPlate, $json);
$result   = file_put_contents($jsFile, $jsString);
if (!$result) {
    throw new RuntimeException('Failed to save javascript-file.');
}

编码清单:

  • 文本文件采用UTF-8编码。