0

嗨,我有下面的功能,可以抓取并保存屏幕截图。它在 50% 的时间内工作,但有时会失败并显示以下消息: 警告:file_put_contents() 需要至少 2 个参数,1 个给定

我已经转储了 2 个参数,并且可以看到它们都存在,但错误消息表明并非如此

它让我发疯,任何帮助将不胜感激..

<?php

grab_screenshot('http://www.usa4ink.com', 480, 240,"myscreen.jpg")

function grab_screenshot($url, $w, $h,$filename)
{
    global $imgPath;
    $filename = make_filename($filename,"jpg");
    $url = urlencode($url);
    $url = "http://s.wordpress.com/mshots/v1/$url/?w=$w&h=$h";
    $url = str_replace("//","/",$url);
    $url = str_replace("http:/","http://",$url);
    $image = file_get_contents($url);

    if($image!='')
    {
        file_put_contents(str_replace("//","/",$imgPath."/".get_subDir($filename)."/".$filename, $image));
    }
    return get_subDir($filename)."/".$filename;
}
?>
4

3 回答 3

2
file_put_contents(str_replace("//","/",$imgPath."/".get_subDir($filename)."/".$filename, $image));

不,你没有。仔细看。

file_put_contents(str_replace(param, param, param, param))
于 2012-11-03T11:18:12.513 回答
2

这是您在返回之前的代码:

file_put_contents(
    str_replace("//","/",$imgPath."/".get_subDir($filename)."/".$filename, $image)
);

如您所见,您提供了 1 个参数

于 2012-11-03T11:18:36.930 回答
2

检查你的括号:

file_put_contents(str_replace("//","/",$imgPath."/".get_subDir($filename)."/".$filename, $image));

应该:

file_put_contents(str_replace("//","/",$imgPath."/".get_subDir($filename)."/".$filename),  $image);
于 2012-11-03T11:18:37.383 回答