Téléchargement fichier protégé

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Ven Jan 25, 2008 20:04

la commande attend un fichier local.

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Message le Lun Jan 28, 2008 14:22

Est-ce que tu parles de cette erreur :
File 'Resource id #5' not found (Errcode: 2)


Si oui, c'est quoi ce fichier "'Resource id #5" et il doit se trouver ou ?


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Lun Jan 28, 2008 14:39

il y a deux solutions :
- le fichier indiqué n'existe pas
- il faut utiliser la commande sans indiquer 'LOCAL'

L'option LOCAL est a ajouter si le serveur mysql ne se trouve pas sur la même machine que le serveur apache. Si tu fais le test en local les deux sont normalement au même endroit.

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Message le Lun Jan 28, 2008 15:06

Merci webmasterlamogere.

Toujours ces foutus erreurs : c'est pas possible !

J'ai téléchargé sur mon ordinateur le fichier en .csv que je veux mettre dans ma table, j'importe ce fichier via le formulaire d'importation de mysql "Format du fichier d'importation" => "CSV via LOAD DATA" et tout se passe bien, les données sont chargées dans la table : tout fonctionne parfaitement ! Je fais un copier-coller de cette requête et je remplace le LOAD DATA LOCAL INFILE 'C:\\PROGRA~1\\EasyPHP\\\\tmp\\phpEA39.tmp' par LOAD DATA LOCAL INFILE '$file' le $file correspond à l'url distante ou je souhaite télécharger ces données du type http://login:password@www.site-web.com/ ... ngs/etc.... et là ça ne marche plus j'ai cette erreur :
Erreur de syntaxe près de '' à la ligne 1


Voici ma requête :
$result = mysql_query("LOAD DATA LOCAL INFILE '$file' INTO TABLE `$tableName` FIELDS TERMINATED BY ',' ESCAPED BY '\\\\' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES (** nom de mes champs séparés par des virgules du style : champs1, champs2, champs3, etc... **)") or die (mysql_error());


Voyez-vous quelque chose qui va pas ?


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Lun Jan 28, 2008 16:10

c'est normal car il faut récupérer le fichier en local d'abord :
Code: Tout sélectionner
file_put_contents($fichierlocaltmp, file_get_contents($fichierdistantprotege));

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Message le Lun Jan 28, 2008 16:43

Tu places ce bout de code ou ?

$fichierlocaltmp fait référence à quel emplacement ou chemin ?


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Lun Jan 28, 2008 16:57

$fichierlocaltmp fait référence à un fichier local (sur ton serveur)
tu peux mettre par exemple :
Code: Tout sélectionner
$fichierlocaltmp = 'fichier.csv';  // fichier dans le répertoire courant
$fichierdistantprotege = 'http://login:password@www.site-web.com/Download_Listings/etc....';
file_put_contents($fichierlocaltmp, file_get_contents($fichierdistantprotege));
$result = mysql_query("LOAD DATA LOCAL INFILE '$fichierlocaltmp' INTO TABLE `$tableName` FIELDS TERMINATED BY ',' ESCAPED BY '\\\\' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES (** nom de mes champs séparés par des virgules du style : champs1, champs2, champs3, etc... **)") or die (mysql_error());
unlink($fichierlocaltmp); // supprime le fichier temporaire

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Message le Lun Jan 28, 2008 17:07

C'est bon j'ai trouvé, ça marche parfaitement, un grand merci webmasterlamogere pour ton aide et ta patience, tu peux pas imaginer à quel point je suis content :lol: :lol: d'avoir ce bout de script qui marche...

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Message le Jeu Jan 31, 2008 17:15

Une petite question : j'utilise la fonction PHP readfile (par exemple : readfile('http://www.site.com/image.jpg'); ) dans un de mes scripts mais parfois si le serveur sur lequel je souhaite télécharger le fichier ne fonctionne pas ou est indisponible la fonction PHP readfile renvoie une belle erreur avec l'url du fichier que je souhaitai télécharger, comment faire pour qu'en cas d'erreur ou d'insdiponibilité du serveur je puisse afficher mon propre message d'erreur ?


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Jeu Jan 31, 2008 17:22

la solution est là : -http://fr.php.net/readfile
Code: Tout sélectionner
if (@readfile('http://www.site.com/image.jpg') === false) {
  echo 'ton message d'erreur';
}

toto2525
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 125
Inscription: Jeu Sep 20, 2007 11:11

Message le Ven Fév 01, 2008 12:25

Merci beaucoup webmasterlamogere c'est exactement que je cherchais :lol:

Par contre, dans le message d'erreur
echo 'ton message d'erreur';

On peut mettre que du texte et pas de code html du style
echo '<p align="center"><font face="Arial" size="3">Un problème technique nous empêche d'afficher l'image, merci de ré-essayer ultérieurement !</font>';


Vois-tu une solution pour que le message d'erreur prenne en compte ce code html ?


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Ven Fév 01, 2008 12:57

le principe du php c'est bien de générer une page html. tu peux donc bien mettre du code html dans l'echo. Il faut juste bien penser à mettre un \' à la place de ' dans le texte :
Code: Tout sélectionner
echo '<p align="center"><font face="Arial" size="3">Un problème technique nous empêche d\'afficher l\'image, merci de ré-essayer ultérieurement !</font>';

tu peux aussi écrire comme ça :
Code: Tout sélectionner
if (@readfile('http://www.site.com/image.jpg') === false) {
?>
  <p align="center"><font face="Arial" size="3">Un problème technique nous empêche d'afficher l'image, merci de ré-essayer ultérieurement !</font>
<?php
}

djazair_83
Nouveau WRInaute
 
Messages: 1
Inscription: Mer Aoû 26, 2009 14:50

Re: Téléchargement fichier protégé

Message le Mer Aoû 26, 2009 14:53

Bonjour à tous.

J'ai essayé de suivre le code et voici ce que j'ai mis :

$fichierlocaltmp = 'fichier.csv'; // fichier dans le répertoire courant

$result = mysql_query("LOAD DATA LOCAL INFILE '$fichierlocaltmp' INTO TABLE `client` FIELDS TERMINATED BY ',' ESCAPED BY '\\\\' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES (clccli, nosect, raison, nom, tel)") or die (mysql_error());
//unlink($fichierlocaltmp); // supprime le fichier temporaire

Et j'ai l'erreur suivante :

File 'client_secteur_3.csv.csv' not found (Errcode: 2)

SVP plait merci de m'aider je galère grave


forty
WRInaute impliqué
WRInaute impliqué
 
Messages: 478
Inscription: Jeu Oct 30, 2008 9:15

Re: Téléchargement fichier protégé

Message le Mer Aoû 26, 2009 15:14

essaye de mettre cette ligne à la place de l'ancienne :
Code: Tout sélectionner
$fichierlocaltmp = dirname(__FILE__) . '/fichier.csv'; // fichier dans le répertoire courant

Téléchargement fichier protégé

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: KOogar et 0 invités