#1 20-10-2007 15:00:08

Malaiac
Survivors
Lieu: Naoned / Frehel
Date d'inscription: 15-06-2006
Messages: 1323
Site web

php > wget > page mirroring

je sais que certains ici utilisent wget... je commence à comprendre pourquoi, quand j'abandonne 20mn de script php pour m'apercevoir qu'une ligne de wget fait tout smile

à savoir : recuperer une page web et ses fichiers dépendants (pplement css), et rien d'autre
en ligne de commande, ca passe bien :

Code:

/home/site/repertoiredestockage/wget --page-requisites --no-directories --directory-prefix=repertoirespecifique $this->url

mon seul souci est que sous php, je voudrais pouvoir spécifier ce repertoire (/home/site/repertoiredestockage/repertoirespecifique), mais que je n'arrive pas à le placer :

Code:

exec("wget --page-requisites --no-directories $this->url"); // erreur
exec("wget --page-requisites --no-directories $this->url >  /home/site/repertoiredestockage/repertoirespecifique"); // erreur
exec("wget --page-requisites --no-directories  --directory-prefix=/home/site/repertoiredestockage/repertoirespecifique $this->url"); // erreur
exec("wget --page-requisites --no-directories  --directory-prefix=repertoirespecifique $this->url"); // erreur

//pour info
echo exec('whoami'); // affiche 'www-data', et fonctionne

Derni�re modification par Malaiac (20-10-2007 15:04:00)


One Content to rule them all, One Engine to find them,
One Link to bring them all, And in the darkness bind them.

Hors ligne

 

#2 20-10-2007 15:31:39

Siddartha
Administrateur
Lieu: Paris et #66valley ☼
Date d'inscription: 20-06-2005
Messages: 2988
Site web

Re: php > wget > page mirroring

Ton fichier php est bien en 0777 ?
(pour qu'il puisse bien écrire)

Hors ligne

 

#3 20-10-2007 17:01:08

Malaiac
Survivors
Lieu: Naoned / Frehel
Date d'inscription: 15-06-2006
Messages: 1323
Site web

Re: php > wget > page mirroring

bonne question, mais lequel ? index.php, le controleur, ou le module ?
si c le fichier qui contient le exec(), j'ai chmode 0777 la classe du module
toujours pareil


One Content to rule them all, One Engine to find them,
One Link to bring them all, And in the darkness bind them.

Hors ligne

 

#4 20-10-2007 17:07:47

fbparis
Survivors
Lieu: Paris
Date d'inscription: 14-07-2006
Messages: 1896
Site web

Re: php > wget > page mirroring

le dossier dans lequel tu vas ecrire, et si il faut creer ce dossier a la volée, le repertoire qui le contient...

pas forcement besoin de mettre en 0777, mais au moins que le user apache ait les droits en lecture / ecriture (habituellement nobody ou www-data selon ta distrib linux)

Hors ligne

 

#5 20-10-2007 17:08:21

Malaiac
Survivors
Lieu: Naoned / Frehel
Date d'inscription: 15-06-2006
Messages: 1323
Site web

Re: php > wget > page mirroring

tiens y a un truc qui finit par marcher :
je fais :

Code:

    exec($string,$result,$status);
    echo "<br />$string 
    <br />resultat = $status
    <br /><pre>".print_r($result,1).'</pre>';

pour $string =   "wget $url"; ca passe (c'est a dire que $status = 1)
mais pas pour $string = "wget --page-requisites --no-directories --directory-prefix=nomdurepertoire $url"; ce qui m'étonne pas, parce qu'il sait pas ou trouver le "nomdurepertoire/"


One Content to rule them all, One Engine to find them,
One Link to bring them all, And in the darkness bind them.

Hors ligne

 

#6 20-10-2007 17:11:18

Siddartha
Administrateur
Lieu: Paris et #66valley ☼
Date d'inscription: 20-06-2005
Messages: 2988
Site web

Re: php > wget > page mirroring

Tu lances ce fichier via un cron, un autre fichier ou tu l'appelles dans ton browser préféré ?

Hors ligne

 

#7 20-10-2007 18:01:16

Malaiac
Survivors
Lieu: Naoned / Frehel
Date d'inscription: 15-06-2006
Messages: 1323
Site web

Re: php > wget > page mirroring

euh, pour l'instant je le lance comme un script dans un back end smile


One Content to rule them all, One Engine to find them,
One Link to bring them all, And in the darkness bind them.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 R. Andersson