I am new in programing. I want to save images from Google Images. I can use filter for only the free ones. I use a Google API, I have the URL and I want to pass it to PHP, but I don’t know how to pass it from JavaScript to PHP. I try it with forms, and document.write('<a href="prueba4.php?url1=unescapedUrl">save the image</a>'); but it doesn’t work.
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>
For saving an image I was using this (this works if I use URL-name):
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);
One thing I noticed:
There is no variable interpolation in JavaScript so this will output the exact text. Change it to: