Just nu i M3-nätverket
Gå till innehåll

Hämta bild automatiskt?


mindsleep

Rekommendera Poster

Jag är tvungen att skriva en liten agent för mitt projekt.

 

Jag skulle behöva hämta: http://www.someserver.com/image1.jpg om den existerar automatiskt och spara ner den lokalt på min server.

 

Någon som har exempelkod på hur jag ska lösa detta lilla problem? Är fopen den rätta vägen att gå?

Länk till kommentar
Dela på andra webbplatser

Kod från första träffen på google:

<?php
$ch = curl_init ("http://static.php.net/www.php.net/images/php.gif");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$rawdata=curl_exec ($ch);
curl_close ($ch);

$fp = fopen("php.gif",'w');
fwrite($fp, $rawdata); 
fclose($fp);
?>

från en annan träff på samma sökning:

<?php
function cache_image($image_url){
//replace with your cache directory
$image_path = 'path/to/cache/dir/';
//get the name of the file
$exploded_image_url = explode("/",$image_url);
$image_filename = end($exploded_image_url);
$exploded_image_filename = explode(".",$image_filename);
$extension = end($exploded_image_filename);
//make sure its an image
if($extension=="gif"||$extension=="jpg"||$extension=="png"){
	//get the remote image
	$image_to_fetch = file_get_contents($image_url);
	//save it
	$local_image_file  = fopen($image_path.$image_filename, 'w+');
	chmod($image_path.$image_filename,0755);
	fwrite($local_image_file, $image_to_fetch);
	fclose($local_image_file);	
}
}

//usage
cache_image("//eforum.idg.se/public/style_images/Eforum/logo.png");
?>

Båda dock helt otestade... men det finns fler alternativ :)

 

Länk till kommentar
Dela på andra webbplatser

Kod från första träffen på google:

<?php
$ch = curl_init ("http://static.php.net/www.php.net/images/php.gif");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$rawdata=curl_exec ($ch);
curl_close ($ch);

$fp = fopen("php.gif",'w');
fwrite($fp, $rawdata); 
fclose($fp);
?>

från en annan träff på samma sökning:

<?php
function cache_image($image_url){
//replace with your cache directory
$image_path = 'path/to/cache/dir/';
//get the name of the file
$exploded_image_url = explode("/",$image_url);
$image_filename = end($exploded_image_url);
$exploded_image_filename = explode(".",$image_filename);
$extension = end($exploded_image_filename);
//make sure its an image
if($extension=="gif"||$extension=="jpg"||$extension=="png"){
	//get the remote image
	$image_to_fetch = file_get_contents($image_url);
	//save it
	$local_image_file  = fopen($image_path.$image_filename, 'w+');
	chmod($image_path.$image_filename,0755);
	fwrite($local_image_file, $image_to_fetch);
	fclose($local_image_file);	
}
}

//usage
cache_image("//eforum.idg.se/public/style_images/Eforum/logo.png");
?>

Båda dock helt otestade... men det finns fler alternativ :)

 

 

Första sökträffen? Men vad sökte du på då? Google är ett bra verktyg...om man kan formulera sig rätt. Det kunde jag inte.

 

Min kod:

$file = 'http://www.testserver.se/upload/18_1.jpg';

$current = file_get_contents($file);

file_put_contents("image1.jpg", $current);

 

Fungerar som en dröm!

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...