标签: file-get-contents

替换 smarty 模板中的 php file_get_contents?

我需要file_get_contents()在 smarty tpl 文件中使用 PHP 。我不能在 PHP 中使用它并将它分配给 smarty 模板。因为 URL 是通过 smarty 模板文件中的循环动态生成的。所以我使用 smarty 插件功能来完成这项任务。但我想知道是否有任何方法可以直接在模板文件中使用它,而不是从插件文件中解析它。

我附上了我用来实现这个功能的插件代码。请任何人让我知道如何直接在 smarty tpl 文件中使用它。

function smarty_function_getTitle($params)
{
if ($params['id']) {
    $content = file_get_contents("http://youtube.com/get_video_info?video_id=".$params['id']);
    parse_str($content, $ytarr);
    return $ytarr['title'];
}
}
Run Code Online (Sandbox Code Playgroud)

我使用下面的代码在 smarty 模板中调用它:

{getTitle id=$videoId}
Run Code Online (Sandbox Code Playgroud)

欢迎提出建议!

php smarty youtube-api file-get-contents smarty2

1
推荐指数
1
解决办法
2996
查看次数

file_get_contents返回特定网址的不可读文本

当我尝试使用php file_get_contents函数读取kat.cr的rss feed时,我得到了一些不可读的文本但是当我用浏览器打开它时,feed很好.
我尝试了很多其他主机但没有机会获得正确的数据.
我甚至尝试将用户代理设置为不同的浏览器,但仍然没有变化.
这是一个我尝试过的简单代码:

$options  = array('http' => array('user_agent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'));
$url = 'https://kat.cr/movies/?rss=1';
$data = file_get_contents($url, FILE_TEXT, stream_context_create($options));
echo $data;
Run Code Online (Sandbox Code Playgroud)

我很好奇他们是如何做的以及我能做些什么来克服这个问题.

不可读文本的一部分:

<ي]يřم6-öپي©™ت,A7 {»AGW&يؤé;éN¹\ S'HK \S¤-¤l+ے÷ùI"(إژzA5ةض;غ%K4 {qtqy½ùو一个^»¬nھ|ûٹ发Eه¤Ĵřصڈ1个Q ^}sü§7uس升دزؤŸ¾²Ÿف武•يغWGG·我س&M>,"J〜$ےžؤ(ZIج'²جٹم÷|حغ?!";گ'Ÿس¢ï³【Tر5ز³SGYٹ.ں@

实际上,每当我打开链接时,都会出现一些不同的不可读文本.

php rss file-get-contents

1
推荐指数
1
解决办法
376
查看次数

如何使用Powershell修改Json

我将以下 JSON 保存在文件“test.json”中:

{
  "metadata": [
    {
      "src": [
        {
          "files": [
            "src/**.csproj"
          ]
        }
      ],
      "dest": "api",
      "disableGitFeatures": false,
      "disableDefaultFilter": false
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想修改“src”元素。代替:

  "src": [
    {
      "files": [
        "src/**.csproj"
      ]
    }
  ],
Run Code Online (Sandbox Code Playgroud)

它必须是:

    "src": [
        {
          "files": [
            "*.csproj"
          ],
          "cwd":".."
        }
      ],
Run Code Online (Sandbox Code Playgroud)

我修改“文件”的第一个元素并添加“cwd”。这应该是直截了当的,但我正在努力在 powershell 中实现这一目标。任何人都可以指出我正确的方向吗?

感谢您提前提供任何指示。

powershell json file-get-contents

1
推荐指数
1
解决办法
46
查看次数

在外部URL上使用file_get_contents时,如何更改PHP发送的标头?

我需要更改PHP在使用file_get_contents()请求文件时发送的标头.这是可能的还是我必须使用CURL?

php header file-get-contents

0
推荐指数
1
解决办法
237
查看次数

从另一台服务器获取php数组

我有一个php文件list.php

<?php
$arr=array('444','555');
echo var_export($arr);
?>
Run Code Online (Sandbox Code Playgroud)

现在我想使用file_get_contents从另一个php脚本获取数组.怎么能实现这个目标?我不想使用会话.这两个脚本位于不同的服务器上.

php arrays file-get-contents

0
推荐指数
1
解决办法
985
查看次数

PHP阅读和解析大文件?

我即将阅读一个200Mb的文本文件,然后在里面编辑一些东西,然后将其保存回来.但我有错误.所以:

  • 应该在php中修改哪些确切的设置?

另外哪种文件读取方法最适合打开和解析Big Sized文件?我的意思是:

  • 畏惧?
  • file_get_contents?

php memory file file-get-contents fread

0
推荐指数
1
解决办法
4544
查看次数

维基百科不喜欢file_get_contents

我使用PHP函数file_get_contents作为代理来获取两个不同的Web主机上的网站.

它适用于除维基百科以外的所有网站.

它每次都给我这个输出:

WIKIMEDIA FOUNDATION
错误
我们的服务器目前遇到技术问题.这可能是暂时的,应尽快解决.请在几分钟后再试一次.

谁知道问题是什么?

php proxy wikipedia file-get-contents

0
推荐指数
1
解决办法
455
查看次数

使用php通过CURL下载文件

我需要POST cookies.txt然后使用CURL将页面下载到文本文件.这是我的FGC示例,但显然FGC对Cookie不好,所以我需要CURL.

<?php
    $file = file('source\1.txt');
    foreach ($file as $link)
    {
        $link       = trim($link);
        $link2      = "http://site-that.com/authenticates?={$link}";
        $downloaded = file_get_contents($link2);
        $myFile     = "parsed/$link" . ".txt";
        $fh = fopen($myFile, 'a') or die('Cannot open file');
        fwrite($fh, $downloaded);
    }
    $timestamp = time();
    rename('source\1.txt', "source/done/done-{$timestamp}.txt");
    echo 'Finished';
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?代码示例将非常感激.像google.com这样做的一个简单例子也很棒.另外,如果你有另一种方法可以做到这一点,那就更快了,请发帖!

php cookies curl file-get-contents

0
推荐指数
1
解决办法
2002
查看次数

将数组从"file_get_contents()"转换为数组

当我尝试使用API​​从API获取数据时

file_get_contents("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22USDINR%22)&format=json&env=store://datatables.org/alltableswithkeys&callback=");
Run Code Online (Sandbox Code Playgroud)

我把结果作为一个字符串.有没有办法将它转换回数组?我得到的字符串是

string(202) "{"query":{"count":1,"created":"2014-03-11T13:00:31Z","lang":"en-US","results":{"rate":{"id":"USDINR","Name":"USD to INR","Rate":"60.99","Date":"3/11/2014","Time":"9:00am","Ask":"61.00","Bid":"60.98"}}}}"{"error":"","msg":""}
Run Code Online (Sandbox Code Playgroud)

请帮我....

php arrays file-get-contents

0
推荐指数
1
解决办法
8198
查看次数

在PHP中,使用file_get_contents && file_get_contents会返回不同的值吗?

我正在做一个温和的测试file_get_contents.目的是测试是否2 urls确实存在,然后看看它们是否都具有确定性string.

就像是:

$check_url1 = "www.example_1.com";
$check_url2 = "www.example_2.com";


if( 
$view_loaded_url1= @file_get_contents($check_url1)&&
$view_loaded_url2= @file_get_contents($check_url2)  )                                                            
{

    var_dump($view_loaded_url1); //RETURNS boolean true 

    var_dump($view_loaded_url2); //Returns the Contents of the page i.e: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Str.....etc
Run Code Online (Sandbox Code Playgroud)

你如何让两者都返回contents页面而不是boolean

因为还有一秒if要检查它们是否都包含某些内容string.

就像是:

if(stristr($view_loaded_url1, 'I am the String') && stristr($view_loaded_url2, 'I am the String') {

//....This part cannot go through because $view_loaded_url1 and $view_loaded_url2 are returning different datatype

}
Run Code Online (Sandbox Code Playgroud)

这是正常行为吗?....还有其他人遇到过这种情况吗?

截图: 在此输入图像描述

php string if-statement boolean file-get-contents

0
推荐指数
1
解决办法
348
查看次数