Cambiar codigo con fopen por cURL, por culapa de mi hosting, Ayuda!!

Iniciado por rafapas22, 31 Octubre 2013, 18:34 PM

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

rafapas22

Buenos días.

HOSTINET me ha desactivado el allow_url_fopen, tengo varios scripts que lo usan y me dicen desde hostinet que ya no puedo usar fopen que tengo que usar curl, lo he intentado pero no me aclaro, necesito ayuda, os voy a pegar el código y a ver si me podeis ayudar, por cierto si pago un PLAN ILIMITADO de HOSTINET pueden prohibirme usar el fopen escudandose en la seguridad del servidor?? ...

Bueno el código es este:

$contents = file_get_contents($sel['UrlFoto1']);
$savefile = fopen('media/'.$entity.'_base.jpg', 'w');
fwrite($savefile, $contents);
fclose($savefile);

algo tan sencillo como esto no consigo programarlo con curl y que funcione claro, he intentado varios códigos que he visto por otras webs, pero guarda la imagen vacia sin tamaño 0kb.

Alguien puede ayudarme por favor?

#!drvy

Código (php) [Seleccionar]
$ch = curl_init();
if(!$ch){die('No se puede iniciar cUrl');}

curl_setopt($ch, CURLOPT_URL, $sel['UrlFoto1']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec($ch);
if(!$output){die('No se ha devuelto ningun resultado');}

curl_close($ch);

$savefile = fopen('media/'.$entity.'_base.jpg', 'w');
fwrite($savefile, $output);
fclose($savefile);


Citarpor cierto si pago un PLAN ILIMITADO de HOSTINET pueden prohibirme usar el fopen escudandose en la seguridad del servidor??

Si... al fin y al cabo son sus servidores... hacen con ellos lo que les de la gana.. pero por si acaso leete las condiciones y terminos de uso. Otra cosa seria VPS o dedicado.

Saludos

rafapas22

ok, funciona bien, ahora me falta sustituir este código:

$contenido = file_get_contents($url);

Es para descargar unas traducciones del traductor de google, pero algunas veces no funciona bien, cuando antes con el file_get contents siempre funcionaba al pelo, te pongo como lo he hecho yo y dime si la falta algo para que funcione mejor

//Procesamos la URL
       $ch = curl_init();
   curl_setopt($ch, CURLOPT_HEADER, 0);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_URL, $url);
   $contenido = curl_exec($ch);
   curl_close($ch);


#!drvy

Algunos sitios redirigen internamente.. intenta  CURLOPT_FOLLOWLOCATION, TRUE.

Saludos

rafapas22

Tengo que añadir CURLOPT_FOLLOWLOCATION, TRUE o cambiarlo por el CURLOPT_RETURNTRANSFER, 1 ??

Saludos


Cita de: @drvy en 31 Octubre 2013, 19:53 PM
Algunos sitios redirigen internamente.. intenta  CURLOPT_FOLLOWLOCATION, TRUE.

Saludos