CURL. Grabar fichero.

Iniciado por Ylodis, 31 Mayo 2010, 18:44 PM

0 Miembros y 2 Visitantes están viendo este tema.

Ylodis

Hola,

Intento leer el contenido visible de una web y volcarlo a un fichero, pero sólo lo graba en pantalla, mientras que el archivo ni se crea si no existe ni se modifica en caso de existir. El código es :
<html>
  <head>
    <title>Titulo
    </title>
  </head>
  <body> 
<?php
$url 'http://www.google.es/';
$save_to='fichero.txt';
 
$g=$save_to.basename($url);
echo $g;
$ch=curl_init($url);
$fp=fopen ($g"w");
curl_setopt ($chCURLOPT_FILE$fp);
curl_setopt ($chCURLOPT_HEADER ,0);
curl_exec ($ch);
curl_close ($ch);
fclose($fp); 
?>

  </body>
</html>




~ Yoya ~

Aver....
Haces la peticion GET con curl, los datos lo guardas en una variable, luego habres el archivo y escribes y lo cierras. Si no se crea, es porque tienes problema al crear el archivo.. Si se crea pero vacio el problema esta en la peticion GET.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Ylodis

Hola,

Gracias por la ayuda, pero no veo claro que es lo que he hecho mal. ¿ Es correcto mi código ?. si no ¿ qué está mal  ?.

~ Yoya ~

#3
Nose porque usas esto como nombre de fichero:
Código (php) [Seleccionar]
save_to.basename($url);
ya que te puede quedar asi: fichero.txtindex.php

Creo que todo esta bien, el problema puede ser los permiso que tengas en el directorio o que no tengas instalado curl.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Ylodis

Hola,

Gracias de nuevo por la ayuda. Los códigos los he sacado de interpretar a ciegas varios manuales, sin haberlos visto nunca funcionando, por lo que no sería raro que contengan errores garrafales. He cambiado el código, pero sigue sin funcionar. ¿ Qué puede estar mal ?
<?php

$ch curl_init ("http://www.google.es/");
$fp fopen ("fichero.txt""w");

curl_setopt ($chCURLOPT_FILE$fp);
curl_setopt ($chCURLOPT_HEADER0);

curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
?>

~ Yoya ~

Citar
Creo que todo esta bien, el problema puede ser los permiso que tengas en el directorio o que no tengas instalado curl.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Ylodis

Hola,

Gracias por tu ayuda Yoya, tiene más valor de lo que parece.

Como he dicho nunca he visto esto en funcionamiento, pero sé que tengo CURL porque consigo volcar el contenido visible de la URL leida a pantalla, no obstante sospecho que falta algún permiso o configuración en mi alojamiento. ¿ Tienes idea de lo que puede faltar ?

~ Yoya ~

entonce el problema esta en los permisos del directorio.... Dale permiso de escritura para todos los usuarios.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Ylodis

Es mi hosting el que da los permisos. ¿ Cuales necesito que me activen ?

~ Yoya ~

aver, desde el mismo cliente de ftp le puedes dar permiso...
Tienes que de que estamos hablando... Primero prueba crear un archivo cualquiera y que contenga cualquier texto en php.

Y leeste esto:
http://es.wikipedia.org/wiki/Permisos_de_acceso_a_archivos
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.