Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1400 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [CRON PHP] Aide pour script CRON PHP et wget

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[CRON PHP] Aide pour script CRON PHP et wget

n°2129976
damienborg​niet
Posté le 07-03-2012 à 09:52:14  profilanswer
 

Bonjour à tous,
 
Le titre ne me parait pas clair même après 10min à essayer de l'écrire !  :whistle:  
 
Je vous explique donc mon problème :
 
Tout d'abord sachez que le site correspondant se trouve sur un serveur OVH Mutualisé.
Afin de mettre à jour automatiquement du CMS de Boutique en ligne j'exécute, grâce aux tâches planifiées qu'OVH met à disposition, un script PHP qui parse un .csv et qui mets à jour la DB.
Jusque-là cela fonctionne très bien avec le .csv disponible sur le serveur et la tâche planifié se passe bien.
 
C'est maintenant que cela se corse...
Ce .csv je le télécharge chez un fournisseurs mais pour cela je dois me loguer avec mes identifiants (le fichier est toujours disponible à la même url).
Donc tout d'abord ma question est, est-ce qu'il est possible dans mon script PHP (ou un autre script lancé avant celui de la mise à jour de la DB) de loguer le serveur sur cette page et de télécharger le fichier .csv sur le ftp ?
J'ai une piste avec une commande WGET en post-data mais je sèche et pas facile de trouver des explications concrètes sur le fonctionnement avec un serveur mutualisé.
 
Je suis donc à l'écoute de vos idées, si vous voulez bien m'aider bien entendu  :)  
 
 
D'avance merci à tous !

mood
Publicité
Posté le 07-03-2012 à 09:52:14  profilanswer
 

n°2129989
djobidjoba
Posté le 07-03-2012 à 10:59:34  profilanswer
 

Salut, c'est un login via un formulaire ou un htaccess ?
Ça m’intéresse aussi et je crois qu'on peut simuler le submit d'un formulaire en php avec CURL
http://www.seoblackout.com/2008/02 [...] ormulaire/

n°2129995
damienborg​niet
Posté le 07-03-2012 à 11:20:14  profilanswer
 

Formulaire ;)
J'ai réussi à résoudre le problème de simulation de connexion (je peux te l'envoyer si tu le souhaites) mais maintenant je sèche car en cURL j'aimerais télécharger le csv et le stocker sur le ftp, le soucis c'est que le csv est généré en appelant une page aspx, j'ai testé un bet wget (donc pas cURL) et il me télécharger un fichier vide nommé CSV.aspx :(...
 
Une idée pour la commande et comment faire avec cette histoire de page aspx qui génère le csv ?


Message édité par damienborgniet le 07-03-2012 à 11:20:40
n°2130003
djobidjoba
Posté le 07-03-2012 à 11:35:41  profilanswer
 

php et wget sont comme 2 clients, l'un authentifié mais pas l'autre
après l'authentification avec curl en php, peut être avec :
$fichier_csv=file_get_contents('http://www.example.com/CSV.apx');
file_put_contents("fichier.csv",$fichier);


Message édité par djobidjoba le 07-03-2012 à 11:37:05
n°2130006
damienborg​niet
Posté le 07-03-2012 à 11:39:55  profilanswer
 

En fait c'est vraiment bizarre car l'authentification j'ai l'impression qu'elle fonctionne mais à moitié. Lorsque je teste mon script il me charge la page de mon compte (donc bien loggué) mais par exemple les image ne s'affichent pas car elles ont une url du genre "(Mon serveur).com/(et là plein de lettres et chiffres/nom de l'image.jpg".

 

Voici mon code pour l'authentification :

 

<?php
$fp = fopen("cookies.txt",'wb');
fclose($fp);
 
$postfields = array();
$postfields["username"] = "XXXX";
$postfields["password"] = "XXXX";
$postfields["submit"] = "Log On";
$postfields["rememberMe"] = "true";
 
$url = "http://xtract.bascomputers.nl:4040/Account/LogOn?ReturnUrl=%2f";
$useragent = "Mozilla/5.0";
$referer = $url;
 
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt" );
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt" );

 

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

 

$result = curl_exec($ch);
curl_close($ch);
$fichier_csv=file_get_contents('http://www.example.com/CSV.apx');  
file_put_contents("fichier.csv",$fichier);

 

echo $result;
?>

 

Tu vois quelques chose de mauvais dans ma méthode ?


Message édité par damienborgniet le 07-03-2012 à 11:40:30
n°2130007
djobidjoba
Posté le 07-03-2012 à 11:42:14  profilanswer
 

et avec la bonne url du fichier aspx à la place de example.com ? il faut modifier file_put_content et mettre $fichier_csv à la place de $fichier
pour les images etc c'est normal je pense car en réalité c'est le navigateur firefox, wget etc qui les télé charge après avoir recu les liens


Message édité par djobidjoba le 07-03-2012 à 11:45:28
n°2130010
damienborg​niet
Posté le 07-03-2012 à 11:43:00  profilanswer
 

C'est fait trop rapide dans le copier/coller ^^

n°2130027
damienborg​niet
Posté le 07-03-2012 à 13:02:16  profilanswer
 

J'avais pas vu l'édition, j'ai changé les url et le nom du fichier mais rien, vraiment bizarre, je vais essayer de trouver plus d'info sur le téléchargement et le stockage en cas de fichier généré via cURL et je reviens si je trouve


Message édité par damienborgniet le 07-03-2012 à 13:28:27

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [CRON PHP] Aide pour script CRON PHP et wget

 

Sujets relatifs
PHP lien Youtube/hrefScript générant du JS => accès à $_GET de la page appelante ?
[PHP] Détecter navigateur + système d'exploitation [Résolu]Aide VBA - verrouillage code et cellule
Besoin d'aide pour structure d'une BDD MySQL[Perl] Script de transfert FTP
VBA - aide sur macro comparativeProjet perso sous w7
VBA aide copier résultat filtre !!!Mon site web en AJAX, aide & conseils.
Plus de sujets relatifs à : [CRON PHP] Aide pour script CRON PHP et wget


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR