Bonjour à tous,
je cherche à faire une interface php pour qu'un utilisateur soumette un
fichier contenant des données formattées pour une table mySQL.
je n'arrive pas chez free à utiliser un LOAD DATA LOCAL INFILE, quand je
recopie l'instruction dans phpMyAdmin, il me dit Load data disabled, et
pourtant il arrive à le faire avec l'interface manuelle d'insertion de
données provenant d'un fichier texte (ce que je veux éviter pour mes
utilisateurs). Quand je tape directement l'instruction en php dans mes
fichiers php, et que je les charge, il me renvoie "can't do that on your
script". Si je mets le fichier sur le compte et que je lance un LOAD
DATA INFILE, il ne fait pas non plus l'insertion.
Ma (double) question est donc :
- Savez-vous si une astuce est utilisée par phpMyAdmin pour contourner
le load data disabled, est-ce que free l'aurait un peu modifié pour
qu'on ne puisse faire un load data que depuis leur phpmyadmin ?
- Sachant que tout cela est très dépendant de free, et que je veux au
maximum faire du LOCAL pour éviter que chaque fichier qu'un utilisateur
lui soumet soit transféré sur le compte (ce qui, à terme, prendrait de
la place), savez-vous s'il existe un moyen en php de lire chaque ligne
d'un fichier texte, les champs étant séparés par un caractère spécial
(disons @) ? Cette solution, si elle existe, n'est-elle pas trop lente ?
Merci à tous par avance
--
Boris
http://www.pi314.net
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nicolas
Ma (double) question est donc : - Savez-vous si une astuce est utilisée par phpMyAdmin pour contourner le load data disabled, est-ce que free l'aurait un peu modifié pour qu'on ne puisse faire un load data que depuis leur phpmyadmin ?
Aucune idée, à part de regarder dans le code (très instructif) de phpMyAdmin...
- Sachant que tout cela est très dépendant de free, et que je veux au maximum faire du LOCAL pour éviter que chaque fichier qu'un utilisateur lui soumet soit transféré sur le compte (ce qui, à terme, prendrait de la place), savez-vous s'il existe un moyen en php de lire chaque ligne d'un fichier texte, les champs étant séparés par un caractère spécial (disons @) ? Cette solution, si elle existe, n'est-elle pas trop lente ?
Pour lire un fichier ligne à ligne et extraire de chaque ligne des données séparée par un caractère spécial :
// CHARGE LE FICHIER DANS UN TABLEAU $lines = file($file);
// BOUCLE SUR LES LIGNES for ($i=0; $i < count($lines); $i++) { $lines[$i] = trim($lines[$i]); $infos = explode(';', $lines[$i]); // champs séparés par des ';'
// $info[0] contient le premier champ de la ligne $i // $info[1] contient le deuxième champ de la ligne $i etc...
// UNTAINT // pas une mauvaise idée de faire ici quelques vérifications sur les données // ou sur leur format
// ON FAIT CE QU'ON VEUT AVEC NOS $infos // (insertion dans une base ou n'importe quoi d'autre).
}
Je ne pense pas que ce soit un script particulièrement lent : c'est plutôt direct, une seule boucle. Evidemment, si tu manipules des fichiers de 100 000 lignes, il faudra peut-être ajouter un set_time_limit pour te donner un peu de temps (mais phpMyAdmin aurait lui aussi besoin d'un peu de temps).
N.
Ma (double) question est donc :
- Savez-vous si une astuce est utilisée par phpMyAdmin pour contourner
le load data disabled, est-ce que free l'aurait un peu modifié pour
qu'on ne puisse faire un load data que depuis leur phpmyadmin ?
Aucune idée, à part de regarder dans le code (très instructif) de
phpMyAdmin...
- Sachant que tout cela est très dépendant de free, et que je veux au
maximum faire du LOCAL pour éviter que chaque fichier qu'un utilisateur
lui soumet soit transféré sur le compte (ce qui, à terme, prendrait de
la place), savez-vous s'il existe un moyen en php de lire chaque ligne
d'un fichier texte, les champs étant séparés par un caractère spécial
(disons @) ? Cette solution, si elle existe, n'est-elle pas trop lente ?
Pour lire un fichier ligne à ligne et extraire de chaque ligne des données
séparée par un caractère spécial :
// CHARGE LE FICHIER DANS UN TABLEAU
$lines = file($file);
// BOUCLE SUR LES LIGNES
for ($i=0; $i < count($lines); $i++) {
$lines[$i] = trim($lines[$i]);
$infos = explode(';', $lines[$i]); // champs séparés par des ';'
// $info[0] contient le premier champ de la ligne $i
// $info[1] contient le deuxième champ de la ligne $i etc...
// UNTAINT
// pas une mauvaise idée de faire ici quelques vérifications sur les
données
// ou sur leur format
// ON FAIT CE QU'ON VEUT AVEC NOS $infos
// (insertion dans une base ou n'importe quoi d'autre).
}
Je ne pense pas que ce soit un script particulièrement lent : c'est plutôt
direct, une seule boucle. Evidemment, si tu manipules des fichiers de 100
000 lignes, il faudra peut-être ajouter un set_time_limit pour te donner un
peu de temps (mais phpMyAdmin aurait lui aussi besoin d'un peu de temps).
Ma (double) question est donc : - Savez-vous si une astuce est utilisée par phpMyAdmin pour contourner le load data disabled, est-ce que free l'aurait un peu modifié pour qu'on ne puisse faire un load data que depuis leur phpmyadmin ?
Aucune idée, à part de regarder dans le code (très instructif) de phpMyAdmin...
- Sachant que tout cela est très dépendant de free, et que je veux au maximum faire du LOCAL pour éviter que chaque fichier qu'un utilisateur lui soumet soit transféré sur le compte (ce qui, à terme, prendrait de la place), savez-vous s'il existe un moyen en php de lire chaque ligne d'un fichier texte, les champs étant séparés par un caractère spécial (disons @) ? Cette solution, si elle existe, n'est-elle pas trop lente ?
Pour lire un fichier ligne à ligne et extraire de chaque ligne des données séparée par un caractère spécial :
// CHARGE LE FICHIER DANS UN TABLEAU $lines = file($file);
// BOUCLE SUR LES LIGNES for ($i=0; $i < count($lines); $i++) { $lines[$i] = trim($lines[$i]); $infos = explode(';', $lines[$i]); // champs séparés par des ';'
// $info[0] contient le premier champ de la ligne $i // $info[1] contient le deuxième champ de la ligne $i etc...
// UNTAINT // pas une mauvaise idée de faire ici quelques vérifications sur les données // ou sur leur format
// ON FAIT CE QU'ON VEUT AVEC NOS $infos // (insertion dans une base ou n'importe quoi d'autre).
}
Je ne pense pas que ce soit un script particulièrement lent : c'est plutôt direct, une seule boucle. Evidemment, si tu manipules des fichiers de 100 000 lignes, il faudra peut-être ajouter un set_time_limit pour te donner un peu de temps (mais phpMyAdmin aurait lui aussi besoin d'un peu de temps).
N.
Boris Gourevitch
Nicolas a écrit:
Ma (double) question est donc : - Savez-vous si une astuce est utilisée par phpMyAdmin pour contourner le load data disabled, est-ce que free l'aurait un peu modifié pour qu'on ne puisse faire un load data que depuis leur phpmyadmin ?
Aucune idée, à part de regarder dans le code (très instructif) de phpMyAdmin...
moi je le trouve plutôt compliqué ;o) mais bon je débute en php.
Avec leurs optimisations successives, pas facile de suivre.
[snip]
Pour lire un fichier ligne à ligne et extraire de chaque ligne des données
séparée par un caractère spécial :
// CHARGE LE FICHIER DANS UN TABLEAU $lines = file($file);
// BOUCLE SUR LES LIGNES for ($i=0; $i < count($lines); $i++) { $lines[$i] = trim($lines[$i]); $infos = explode(';', $lines[$i]); // champs séparés par des ';'
[snip]
}
[snip]
eh ben c'est exactement ce que j'ai fait hier soir finalement, mais par contre j'ai utilisé fopen et fgets ça marche, mais je n'ai aucune idée de la stabilité du truc et de sa rapidité. Ce qui m'agace, c'est que j'ai dû le faire en plus en php3 façon free, au lieu de php 4, car impossible de poster un formulaire fichier chez eux, le $userfile[0] n'est pas récupéré, c'est bizarre.... merci d'avoir pris le temps de me répondre -- Boris http://www.pi314.net
Nicolas a écrit:
Ma (double) question est donc :
- Savez-vous si une astuce est utilisée par phpMyAdmin pour contourner
le load data disabled, est-ce que free l'aurait un peu modifié pour
qu'on ne puisse faire un load data que depuis leur phpmyadmin ?
Aucune idée, à part de regarder dans le code (très instructif) de
phpMyAdmin...
moi je le trouve plutôt compliqué ;o) mais bon je débute en php.
Avec leurs optimisations successives, pas facile de suivre.
[snip]
Pour lire un fichier ligne à ligne et extraire de chaque ligne des
données
séparée par un caractère spécial :
// CHARGE LE FICHIER DANS UN TABLEAU
$lines = file($file);
// BOUCLE SUR LES LIGNES
for ($i=0; $i < count($lines); $i++) {
$lines[$i] = trim($lines[$i]);
$infos = explode(';', $lines[$i]); // champs séparés par des ';'
[snip]
}
[snip]
eh ben c'est exactement ce que j'ai fait hier soir finalement, mais par
contre j'ai utilisé fopen et fgets
ça marche, mais je n'ai aucune idée de la stabilité du truc et de sa
rapidité. Ce qui m'agace, c'est que j'ai dû le faire en plus en php3
façon free, au lieu de php 4, car impossible de poster un formulaire
fichier chez eux, le $userfile[0] n'est pas récupéré, c'est bizarre....
merci d'avoir pris le temps de me répondre
--
Boris
http://www.pi314.net
Ma (double) question est donc : - Savez-vous si une astuce est utilisée par phpMyAdmin pour contourner le load data disabled, est-ce que free l'aurait un peu modifié pour qu'on ne puisse faire un load data que depuis leur phpmyadmin ?
Aucune idée, à part de regarder dans le code (très instructif) de phpMyAdmin...
moi je le trouve plutôt compliqué ;o) mais bon je débute en php.
Avec leurs optimisations successives, pas facile de suivre.
[snip]
Pour lire un fichier ligne à ligne et extraire de chaque ligne des données
séparée par un caractère spécial :
// CHARGE LE FICHIER DANS UN TABLEAU $lines = file($file);
// BOUCLE SUR LES LIGNES for ($i=0; $i < count($lines); $i++) { $lines[$i] = trim($lines[$i]); $infos = explode(';', $lines[$i]); // champs séparés par des ';'
[snip]
}
[snip]
eh ben c'est exactement ce que j'ai fait hier soir finalement, mais par contre j'ai utilisé fopen et fgets ça marche, mais je n'ai aucune idée de la stabilité du truc et de sa rapidité. Ce qui m'agace, c'est que j'ai dû le faire en plus en php3 façon free, au lieu de php 4, car impossible de poster un formulaire fichier chez eux, le $userfile[0] n'est pas récupéré, c'est bizarre.... merci d'avoir pris le temps de me répondre -- Boris http://www.pi314.net
Geoffrey Bachelet
"Boris Gourevitch" a écrit
fichier chez eux, le $userfile[0] n'est pas récupéré, c'est bizarre.... merci d'avoir pris le temps de me répondre
tu as essayé avec $_FILES ?
"Boris Gourevitch" <boris@pi314.net> a écrit
fichier chez eux, le $userfile[0] n'est pas récupéré, c'est bizarre....
merci d'avoir pris le temps de me répondre
fichier chez eux, le $userfile[0] n'est pas récupéré, c'est bizarre.... merci d'avoir pris le temps de me répondre
tu as essayé avec $_FILES ?
Jedi121
Boris wrote:
- Savez-vous si une astuce est utilisée par phpMyAdmin pour contourner le load data disabled, est-ce que free l'aurait un peu modifié pour qu'on ne puisse faire un load data que depuis leur phpmyadmin ?
Il existe une histoire de mysql_options() dans la doc MySQL mais ce n'est pas accessible chez Free. Je ne vois pas de paliatif.
- Sachant que tout cela est très dépendant de free, et que je veux au maximum faire du LOCAL pour éviter que chaque fichier qu'un utilisateur lui soumet soit transféré sur le compte (ce qui, à terme, prendrait de la place), savez-vous s'il existe un moyen en php de lire chaque ligne d'un fichier texte, les champs étant séparés par un caractère spécial (disons @) ? Cette solution, si elle existe, n'est-elle pas trop lente ? Merci à tous par avance
Tu te mélanges les pinceaux, le LOCAL du script PHP reste le serveur sur lequel il tourne, pas le client. Donc il faudra toujours uploader le fichier du client vers le serveur puis utiliser la fonction LOCAL. Pour lire ton fichier : file_get_contents() ou readfile() suivant ce qui t'arrange le mieux. Mais il faut uploader le fichier, le lire puis le détruire ( fonction unlink() )
Le plus simple ne serait-il pas de demander la requête dans un champs texte et de l'exécuter après vérification du contenu (éviter les DROP TABLE et autres blagues)?
Boris <boris@SUS-AU-SPAMpi314.net> wrote:
- Savez-vous si une astuce est utilisée par phpMyAdmin pour contourner
le load data disabled, est-ce que free l'aurait un peu modifié pour
qu'on ne puisse faire un load data que depuis leur phpmyadmin ?
Il existe une histoire de mysql_options() dans la doc MySQL mais ce n'est pas
accessible chez Free. Je ne vois pas de paliatif.
- Sachant que tout cela est très dépendant de free, et que je veux au
maximum faire du LOCAL pour éviter que chaque fichier qu'un
utilisateur lui soumet soit transféré sur le compte (ce qui, à terme,
prendrait de la place), savez-vous s'il existe un moyen en php de
lire chaque ligne d'un fichier texte, les champs étant séparés par un
caractère spécial (disons @) ? Cette solution, si elle existe,
n'est-elle pas trop lente ? Merci à tous par avance
Tu te mélanges les pinceaux, le LOCAL du script PHP reste le serveur sur lequel
il tourne, pas le client. Donc il faudra toujours uploader le fichier du client
vers le serveur puis utiliser la fonction LOCAL.
Pour lire ton fichier :
file_get_contents() ou readfile() suivant ce qui t'arrange le mieux.
Mais il faut uploader le fichier, le lire puis le détruire ( fonction unlink() )
Le plus simple ne serait-il pas de demander la requête dans un champs texte et
de l'exécuter après vérification du contenu (éviter les DROP TABLE et autres
blagues)?
- Savez-vous si une astuce est utilisée par phpMyAdmin pour contourner le load data disabled, est-ce que free l'aurait un peu modifié pour qu'on ne puisse faire un load data que depuis leur phpmyadmin ?
Il existe une histoire de mysql_options() dans la doc MySQL mais ce n'est pas accessible chez Free. Je ne vois pas de paliatif.
- Sachant que tout cela est très dépendant de free, et que je veux au maximum faire du LOCAL pour éviter que chaque fichier qu'un utilisateur lui soumet soit transféré sur le compte (ce qui, à terme, prendrait de la place), savez-vous s'il existe un moyen en php de lire chaque ligne d'un fichier texte, les champs étant séparés par un caractère spécial (disons @) ? Cette solution, si elle existe, n'est-elle pas trop lente ? Merci à tous par avance
Tu te mélanges les pinceaux, le LOCAL du script PHP reste le serveur sur lequel il tourne, pas le client. Donc il faudra toujours uploader le fichier du client vers le serveur puis utiliser la fonction LOCAL. Pour lire ton fichier : file_get_contents() ou readfile() suivant ce qui t'arrange le mieux. Mais il faut uploader le fichier, le lire puis le détruire ( fonction unlink() )
Le plus simple ne serait-il pas de demander la requête dans un champs texte et de l'exécuter après vérification du contenu (éviter les DROP TABLE et autres blagues)?
Boris
Jedi121 a écrit:
Boris wrote:
[snip] Tu te mélanges les pinceaux, le LOCAL du script PHP reste le serveur sur lequel il tourne, pas le client. Donc il faudra toujours uploader le fichier du client vers le serveur puis utiliser la fonction LOCAL.
oui mais quand on fait un formulaire fichier, il me semble bien qu'il le lit directement chez nous, non ? (c recopié dans un fichier temporaire qui est chez moi en tous les cas, lorsque je lui demande $userfile). A-t-il vraiment besoin en intermédiaire de le recopier comme un fichier temporaire chez free ? En tous els cas, j'ai essayé d'uploader un fichier, puis de faire un copy dans un répertoire connu de mon compte, puis de le lire, c'est 5 fois plus lent que de lire directement le fichier par une fonction fgets et fread.
Pour lire ton fichier : file_get_contents() ou readfile() suivant ce qui t'arrange le mieux. Mais il faut uploader le fichier, le lire puis le détruire ( fonction unlink() )
ben j'ai pas l'impression d'avoir eu besoin de tout ça avec mon fread et mon fgets (et mon fclose à la fin) :o/
Le plus simple ne serait-il pas de demander la requête dans un champs texte et de l'exécuter après vérification du contenu (éviter les DROP TABLE et autres blagues)?
ça dépend à qui on s'adresse dans l'interface :o) me sutilisateurs sont peu habitués de l'informatique.... je préfère un fichier formatté par un tableur standard et que les gens n'aient qu'à soumettre le fichier (c'est un contenu de base de données), plutôt qu'ils aient à recopier les données dans un champ texte. Cela dit, ça doit marcher effectivement. -- Boris http://www.pi314.net
Jedi121 a écrit:
Boris <boris@SUS-AU-SPAMpi314.net> wrote:
[snip]
Tu te mélanges les pinceaux, le LOCAL du script PHP reste le serveur sur lequel
il tourne, pas le client. Donc il faudra toujours uploader le fichier du client
vers le serveur puis utiliser la fonction LOCAL.
oui mais quand on fait un formulaire fichier, il me semble bien qu'il le
lit directement chez nous, non ? (c recopié dans un fichier temporaire
qui est chez moi en tous les cas, lorsque je lui demande $userfile).
A-t-il vraiment besoin en intermédiaire de le recopier comme un fichier
temporaire chez free ?
En tous els cas, j'ai essayé d'uploader un fichier, puis de faire un
copy dans un répertoire connu de mon compte, puis de le lire, c'est 5
fois plus lent que de lire directement le fichier par une fonction fgets
et fread.
Pour lire ton fichier :
file_get_contents() ou readfile() suivant ce qui t'arrange le mieux.
Mais il faut uploader le fichier, le lire puis le détruire ( fonction unlink() )
ben j'ai pas l'impression d'avoir eu besoin de tout ça avec mon fread et
mon fgets (et mon fclose à la fin) :o/
Le plus simple ne serait-il pas de demander la requête dans un champs texte et
de l'exécuter après vérification du contenu (éviter les DROP TABLE et autres
blagues)?
ça dépend à qui on s'adresse dans l'interface :o)
me sutilisateurs sont peu habitués de l'informatique....
je préfère un fichier formatté par un tableur standard et que les gens
n'aient qu'à soumettre le fichier (c'est un contenu de base de données),
plutôt qu'ils aient à recopier les données dans un champ texte.
Cela dit, ça doit marcher effectivement.
--
Boris
http://www.pi314.net
[snip] Tu te mélanges les pinceaux, le LOCAL du script PHP reste le serveur sur lequel il tourne, pas le client. Donc il faudra toujours uploader le fichier du client vers le serveur puis utiliser la fonction LOCAL.
oui mais quand on fait un formulaire fichier, il me semble bien qu'il le lit directement chez nous, non ? (c recopié dans un fichier temporaire qui est chez moi en tous les cas, lorsque je lui demande $userfile). A-t-il vraiment besoin en intermédiaire de le recopier comme un fichier temporaire chez free ? En tous els cas, j'ai essayé d'uploader un fichier, puis de faire un copy dans un répertoire connu de mon compte, puis de le lire, c'est 5 fois plus lent que de lire directement le fichier par une fonction fgets et fread.
Pour lire ton fichier : file_get_contents() ou readfile() suivant ce qui t'arrange le mieux. Mais il faut uploader le fichier, le lire puis le détruire ( fonction unlink() )
ben j'ai pas l'impression d'avoir eu besoin de tout ça avec mon fread et mon fgets (et mon fclose à la fin) :o/
Le plus simple ne serait-il pas de demander la requête dans un champs texte et de l'exécuter après vérification du contenu (éviter les DROP TABLE et autres blagues)?
ça dépend à qui on s'adresse dans l'interface :o) me sutilisateurs sont peu habitués de l'informatique.... je préfère un fichier formatté par un tableur standard et que les gens n'aient qu'à soumettre le fichier (c'est un contenu de base de données), plutôt qu'ils aient à recopier les données dans un champ texte. Cela dit, ça doit marcher effectivement. -- Boris http://www.pi314.net
Jedi121
"Boris" a écrit le 24/10/2003 :
oui mais quand on fait un formulaire fichier, il me semble bien qu'il le lit directement chez nous, non ? (c recopié dans un fichier temporaire qui est chez moi en tous les cas, lorsque je lui demande $userfile). A-t-il vraiment besoin en intermédiaire de le recopier comme un fichier temporaire chez free ?
Non... et le terme "chez moi" est ambigue. Avec un champs file, le fichier est envoyé au serveur où il est créé avec un nom de fichier temporaire si tu ne le renomme pas il est détruit à la fin du script. C'est comme ça que cela fonctionne. Attention quand tu fais tes tests en local tu es à la fois le serveur et le client et je pense que tu as du mal à faire la différence.
En tous els cas, j'ai essayé d'uploader un fichier, puis de faire un copy dans un répertoire connu de mon compte, puis de le lire, c'est 5 fois plus lent que de lire directement le fichier par une fonction fgets et fread.
Oui mais tu ne peux pas faire de fgets() ou fread() depuis le serveur vers un poste client. Re-mélange du serveur/client.
"Boris" a écrit le 24/10/2003 :
oui mais quand on fait un formulaire fichier, il me semble bien qu'il le lit
directement chez nous, non ? (c recopié dans un fichier temporaire qui est
chez moi en tous les cas, lorsque je lui demande $userfile). A-t-il vraiment
besoin en intermédiaire de le recopier comme un fichier temporaire chez free
?
Non... et le terme "chez moi" est ambigue.
Avec un champs file, le fichier est envoyé au serveur où il est créé
avec un nom de fichier temporaire si tu ne le renomme pas il est
détruit à la fin du script. C'est comme ça que cela fonctionne.
Attention quand tu fais tes tests en local tu es à la fois le serveur
et le client et je pense que tu as du mal à faire la différence.
En tous els cas, j'ai essayé d'uploader un fichier, puis de faire un copy
dans un répertoire connu de mon compte, puis de le lire, c'est 5 fois plus
lent que de lire directement le fichier par une fonction fgets et fread.
Oui mais tu ne peux pas faire de fgets() ou fread() depuis le serveur
vers un poste client. Re-mélange du serveur/client.
oui mais quand on fait un formulaire fichier, il me semble bien qu'il le lit directement chez nous, non ? (c recopié dans un fichier temporaire qui est chez moi en tous les cas, lorsque je lui demande $userfile). A-t-il vraiment besoin en intermédiaire de le recopier comme un fichier temporaire chez free ?
Non... et le terme "chez moi" est ambigue. Avec un champs file, le fichier est envoyé au serveur où il est créé avec un nom de fichier temporaire si tu ne le renomme pas il est détruit à la fin du script. C'est comme ça que cela fonctionne. Attention quand tu fais tes tests en local tu es à la fois le serveur et le client et je pense que tu as du mal à faire la différence.
En tous els cas, j'ai essayé d'uploader un fichier, puis de faire un copy dans un répertoire connu de mon compte, puis de le lire, c'est 5 fois plus lent que de lire directement le fichier par une fonction fgets et fread.
Oui mais tu ne peux pas faire de fgets() ou fread() depuis le serveur vers un poste client. Re-mélange du serveur/client.
Boris
Jedi121 a écrit:
"Boris" a écrit le 24/10/2003 :
[snip] Attention quand
tu fais tes tests en local tu es à la fois le serveur et le client et je pense que tu as du mal à faire la différence.
où à l'expliquer.... alors je re-décris le truc je fais un formulaire fichier sur une page, qui envoie sur une page b.php sur cette page, j'ai essayé de mettre un LOAD DATA LOCAL INFILE, ça ne marche pas chez moi, et quand je transfère la page b.php sur mon compte free, ça ne marche pas non plus sur le net. Il me renvoie "can't do that on your script". Comme je l'ai dit, ça marche pourtant dans PHPMyAdmin version free, puisqu'il me dit qu'il utilise lui-même cette instruction (mais a-t-il alors recopié le fichier soumis sur un répertoiere temporaire de chez free ?) par contre j'ai réussi à lire le fichier avec fgets et fread sur la page b.php (mais en écrivant tout en php3 -> b.php3, ça ne marche pas en php4 chez free.) donc pour résumer la question : qu'-a-t-il fait du fichier envoyé par le formulaire fichier ? si j'ai bien compris ce que tu m'as dit, il a en fait été envoyé dans un répertoire temporaire de chez free sous un nom barbare comme j'ai pu l'observer en lisant le $userfile ? Pourquoi le LOAD DATA LOCAL INFILE n'a pas marché ? ça je ne crois pas avoir bien compris... Merci :o)
-- Boris http://www.pi314.net
Jedi121 a écrit:
"Boris" a écrit le 24/10/2003 :
[snip] Attention quand
tu fais tes tests en local tu es à la fois le serveur et le client et je
pense que tu as du mal à faire la différence.
où à l'expliquer....
alors je re-décris le truc
je fais un formulaire fichier sur une page, qui envoie sur une page b.php
sur cette page, j'ai essayé de mettre un LOAD DATA LOCAL INFILE, ça ne
marche pas chez moi, et quand je transfère la page b.php sur mon compte
free, ça ne marche pas non plus sur le net. Il me renvoie "can't do that
on your script". Comme je l'ai dit, ça marche pourtant dans PHPMyAdmin
version free, puisqu'il me dit qu'il utilise lui-même cette instruction
(mais a-t-il alors recopié le fichier soumis sur un répertoiere
temporaire de chez free ?)
par contre j'ai réussi à lire le fichier avec fgets et fread sur la page
b.php (mais en écrivant tout en php3 -> b.php3, ça ne marche pas en php4
chez free.)
donc pour résumer la question :
qu'-a-t-il fait du fichier envoyé par le formulaire fichier ?
si j'ai bien compris ce que tu m'as dit, il a en fait été envoyé dans un
répertoire temporaire de chez free sous un nom barbare comme j'ai pu
l'observer en lisant le $userfile ?
Pourquoi le LOAD DATA LOCAL INFILE n'a pas marché ? ça je ne crois pas
avoir bien compris...
Merci :o)
tu fais tes tests en local tu es à la fois le serveur et le client et je pense que tu as du mal à faire la différence.
où à l'expliquer.... alors je re-décris le truc je fais un formulaire fichier sur une page, qui envoie sur une page b.php sur cette page, j'ai essayé de mettre un LOAD DATA LOCAL INFILE, ça ne marche pas chez moi, et quand je transfère la page b.php sur mon compte free, ça ne marche pas non plus sur le net. Il me renvoie "can't do that on your script". Comme je l'ai dit, ça marche pourtant dans PHPMyAdmin version free, puisqu'il me dit qu'il utilise lui-même cette instruction (mais a-t-il alors recopié le fichier soumis sur un répertoiere temporaire de chez free ?) par contre j'ai réussi à lire le fichier avec fgets et fread sur la page b.php (mais en écrivant tout en php3 -> b.php3, ça ne marche pas en php4 chez free.) donc pour résumer la question : qu'-a-t-il fait du fichier envoyé par le formulaire fichier ? si j'ai bien compris ce que tu m'as dit, il a en fait été envoyé dans un répertoire temporaire de chez free sous un nom barbare comme j'ai pu l'observer en lisant le $userfile ? Pourquoi le LOAD DATA LOCAL INFILE n'a pas marché ? ça je ne crois pas avoir bien compris... Merci :o)