getimagefromurl Algo rarísimo

Iniciado por OssoH, 28 Julio 2011, 10:03 AM

0 Miembros y 1 Visitante están viendo este tema.

OssoH

tengo el siguiente codigo


<?php

//function to get image with fsockopen
function GetImg($host,$link)
{
$fp fsockopen($host80$errno$errstr30);
if (!$fp) {
echo "$errstr (error number $errno) \n";
} else {
$out "GET $link HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Connection: Close\r\n\r\n";
$out .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$out .= "Accept-Language: en-us,en;q=0.5\r\n";
$out .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
$out .= "Keep-Alive: 300\r\n";   
$out .= "\r\n";
fwrite($fp$out);
$contents='';
while (!feof($fp)) {
$contents.= fgets($fp1024);
}
fclose($fp);
return $contents;
}
}

//function to get image with CURL
function GetImageFromUrl($link)
{
$ch curl_init();
curl_setopt($chCURLOPT_POST0);
curl_setopt($ch,CURLOPT_URL,$link);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
$result=curl_exec($ch);
curl_close($ch);
return $result;

//1. Method file_Get contents
//$contents= file_get_contents('http://www.google.com/intl/en_ALL/images/logo.gif');
//2.Method fsockopen
//$contents=GetImg("www.google.com","/intl/en_ALL/images/logo.gif");
//$contents=strchr($contents,"\r\n\r\n");//removes headers
//$contents=ltrim($contents);//remove whitespaces from begin of the string
//3. Method CURL

// ****************
// ** LE PASAMOS COMO PARÁMETROS EN DELPHI URL_IMAGEN Y NOMBRE_FICHERO

$url $_POST["url_imagen"];
$contents GetImageFromUrl($url);

$filename $_POST["nombre_fichero"];
//$filename = '30.jpg';

$savefile fopen($filename'w');
fwrite($savefile$contents);
fclose($savefile);

?>



Le paso la url de la imagen y el nombre del fichero con el que quiero que me lo guarde en el servidor.
Pues resulta que no hace nada. En cambio si pongo $filename='30.jpg' si me recupera la imagen de esa url y la guarda cómo 30.jpg.
El parámetro que le paso $_POST["nombre_fichero"] tiene el valor 30.jpg  y es correcto porque asi lo he comprobado.
Alguien sabe que puede estar pasando??
como podéis ver es algo rariiisimo.
Gracias por adelantado

OssoH

Al final lo solucioné pasandolo por querystring.