如何从Google保存图片

时间:2012-03-12 09:01:47

标签: php javascript

我是编程新手。我想保存Google图片中的图片。我只能使用免费过滤器。我使用Google API,我有URL,我想将它传递给PHP,但我不知道如何将它从JavaScript传递给PHP。我尝试使用表单和document.write('<a href="prueba4.php?url1=unescapedUrl">save the image</a>');,但它不起作用。

function MyKeepHandler(result) {
    // clone the result html node
    var node = result.html.cloneNode(true);
    // attach it
    var savedResults = document.getElementById("content");
    savedResults.appendChild(node);
    // extract some info from the result to show to get at the individual attributes.
    // see http://code.google.com/apis/ajaxsearch/documentation/reference.html
    var title = result.title;
    var unformattedtitle = result.titleNoFormatting;
    var content = result.content;
    var unescapedUrl = result.unescapedUrl;

    document.write('<a href="prueba4.php?url1=unescapedUrl">save the image</a>');
    // alert("Saving " + unformattedtitle + " " + unescapedUrl + " " + content);
    var_dump($x);
}

function OnLoad() {
    // Create a search control
    var searchControl = new google.search.SearchControl();
    // Add in a WebSearch
    var webSearch = new google.search.WebSearch();
    // Add in a full set of searchers
    searchControl.addSearcher(new google.search.ImageSearch());
    //var localSearch = new google.search.LocalSearch();
    // tell the searcher to draw itself and tell it where to attach
    searchControl.draw(document.getElementById("content"));
    searchControl.setOnKeepCallback(this, MyKeepHandler);
    // execute an inital search
    searchControl.execute("tomates");
}

google.setOnLoadCallback(OnLoad);
</script>

</head>
<body style="font-family: Arial;border: 0 none;">
<div id="content">Loading...</div>
</body>
</html>

为了保存图像我正在使用它(如果我使用URL名称,这是有效的):

function saveImage($url,$path) {
    $c = curl_init();
    curl_setopt($c,CURLOPT_URL,$url);
    curl_setopt($c,CURLOPT_HEADER,0);
    curl_setopt($c,CURLOPT_RETURNTRANSFER,true);
    $s = curl_exec($c);
    curl_close($c);
    $f = fopen($path, 'wb');
    $z = fwrite($f,$s);
    if ($z != false) return true;
    return false;
}
saveImage($url1,$path);

1 个答案:

答案 0 :(得分:0)

我注意到了一件事:

document.write('<a href="prueba4.php?url1=unescapedUrl">save the image</a>');

JavaScript中没有变量插值,因此这将输出确切的文本。将其更改为:

document.write('<a href="prueba4.php?url1=' + unescapedUrl + '">save the image</a>');