Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: Ylodis en 31 Mayo 2010, 18:44 PM

Título: CURL. Grabar fichero.
Publicado por: Ylodis en 31 Mayo 2010, 18:44 PM
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>



Título: Re: CURL. Grabar fichero.
Publicado por: ~ Yoya ~ en 31 Mayo 2010, 18:48 PM
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.
Título: Re: CURL. Grabar fichero.
Publicado por: Ylodis en 31 Mayo 2010, 18:59 PM
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  ?.
Título: Re: CURL. Grabar fichero.
Publicado por: ~ Yoya ~ en 31 Mayo 2010, 19:14 PM
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.
Título: Re: CURL. Grabar fichero.
Publicado por: Ylodis en 31 Mayo 2010, 19:25 PM
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);
?>
Título: Re: CURL. Grabar fichero.
Publicado por: ~ Yoya ~ en 31 Mayo 2010, 19:38 PM
Citar
Creo que todo esta bien, el problema puede ser los permiso que tengas en el directorio o que no tengas instalado curl.
Título: Re: CURL. Grabar fichero.
Publicado por: Ylodis en 31 Mayo 2010, 19:43 PM
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 ?
Título: Re: CURL. Grabar fichero.
Publicado por: ~ Yoya ~ en 31 Mayo 2010, 19:57 PM
entonce el problema esta en los permisos del directorio.... Dale permiso de escritura para todos los usuarios.
Título: Re: CURL. Grabar fichero.
Publicado por: Ylodis en 31 Mayo 2010, 20:00 PM
Es mi hosting el que da los permisos. ¿ Cuales necesito que me activen ?
Título: Re: CURL. Grabar fichero.
Publicado por: ~ Yoya ~ en 31 Mayo 2010, 20:16 PM
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
Título: Re: CURL. Grabar fichero.
Publicado por: Ylodis en 31 Mayo 2010, 20:35 PM
Acabo de enterarme de que puedo modificar los permisos. Entiendo que debo crear un  fichero con códigos que los activen y subirlo por FTP

Tengo ya varios archivos que contiene PHP como por ejemplo un procesador de emails.

En cuanto al articulo de Wikipedia, confirma que lo puedo hacer, ¿ Cual es el siguiente paso ?
Título: Re: CURL. Grabar fichero.
Publicado por: ~ Yoya ~ en 31 Mayo 2010, 20:45 PM
tienes que leerlo para saber como funcionan los permisos... Luego, mediante el cliente de FTP le das permiso 777 al archivo php, si quieres al directorio tambien....