警告:file_put_contents()需要至少2个参数 - 但我给2个参数

时间:2012-11-03 11:15:18

标签: php

嗨,我有以下功能,可以抓取并保存屏幕截图。 它可以在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;
}
?>

3 个答案:

答案 0 :(得分:2)

file_put_contents(str_replace("//","/",$imgPath."/".get_subDir($filename)."/".$filename, $image));
不,你没有。仔细观察。

file_put_contents(str_replace(param, param, param, param))

答案 1 :(得分:2)

这是您返回前的代码:

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

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

答案 2 :(得分:2)

检查您的括号:

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

应该是:

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