[php] upload
Pascale
-
lantno -
lantno -
Bonjour,
Pourquoi le script permettant le "upload" de fichier (pdf ou rtf) fonctionne de temps en temps ?
Ci dessous un extrait du code
Code:
$repertoireDestination = "/home/bcdi/";
$nomDestination = $_FILES["monfichier"]["name"];
$extension = substr($nomDestination, strrpos($nomDestination, "."));
$nomDestination =$nom_stagiaire.'_'.$prenom_stagiaire.'_2005'.$extension;
if ((eregi('rtf', $extension)) or (eregi('pdf', $extension)) )
{
if (is_uploaded_file($_FILES["monfichier"]["tmp_name"]))
{
// Déplacement du fichier du répertoire temporaire vers le répertoire courant d'où est exécuté le script.
if (move_uploaded_file($_FILES["monfichier"]["tmp_name"], "$repertoireDestination".$nomDestination))
{
$result=mysql_query("select * from site where EDITEUR_E = '$editeur_e'") or die ("Erreur lecture site");
if ($row=mysql_fetch_array($result))
{
$adresse = $row['ADRESSE_E'];
$code_postal = $row[CODE_POSTAL_E];
$ville= $row[VILLE_E];
}
$result2=mysql_query("select * from memoire");
$total=mysql_num_rows($result2);
$nb_plus = $total++;
$identite= date("Ymd").$nb_plus;
$result1=mysql_query("insert into memoire values ('','$nom_stagiaire','$prenom_stagiaire','$datenaiss','Notice générale','Ressource électronique','Fre','$titre_memoire','$titre_memoire','$titre_memoire','Ressource électronique','Ressource électronique','$editeur_e','$editeur_e','$adresse','$code_postal','$ville','France','Non','2005','$date_saisie','$date_saisie','Non','$identite','$auteur1','$auteur2','$auteur3','$auteur1','$identite','$date_saisie','$date_saisie','2005','$nom_stagiaire','$nom_stagiaire','texte','$nom_fichier','Non','$select_nature','$resume','$mot1','$mot2','$mot3','$mot4','$mot5','$mot6','$mot7','$mot8','$mot9','$mot10','$libelle','$extension')") or die ("Erreur écriture memoire");
mysql_close();
echo "Le fichier ".$_FILES["monfichier"]["name"]." de taille : ".$_FILES["monfichier"]["size"]." a été copié dans le répertoire <br />";
echo "Il a été renommé sous le nom " .$nomDestination ."<br />";
}
}
else
{
echo "Le fichier ".$_FILES["monfichier"]["name"]. " n'a pas été téléchargé<br />".
"Peut-être dépassait-il la limite des 5<br />";
}
}
else
{
echo "Le fichier n'est pas au format attendu <br />";
echo "Votre mémoire doit être enregistré au format pdf ou rtf <br />";
}
}
else
{
echo "Veuillez retourner à l'écran précédent, tous les champs n'ont pas été saisis";
}
(...)
En fait, il semblerait que si le fichier est un .rtf, le upload fonctionne tout le temps.
Par contre, quand c'est un pdf (taille <5mo) on a :
- soit ça marche
- soit message 'le fichier ne contient aucune donnée
- soit message "impossible d'afficher a page"
Je viens de modifier des paramètres dans php.ini .... pas mieux
Si vous pouviez m'aider ça serait sympa. Je ne sais plus où chercher l'erreur .... Merci
Pascale
Pourquoi le script permettant le "upload" de fichier (pdf ou rtf) fonctionne de temps en temps ?
Ci dessous un extrait du code
Code:
$repertoireDestination = "/home/bcdi/";
$nomDestination = $_FILES["monfichier"]["name"];
$extension = substr($nomDestination, strrpos($nomDestination, "."));
$nomDestination =$nom_stagiaire.'_'.$prenom_stagiaire.'_2005'.$extension;
if ((eregi('rtf', $extension)) or (eregi('pdf', $extension)) )
{
if (is_uploaded_file($_FILES["monfichier"]["tmp_name"]))
{
// Déplacement du fichier du répertoire temporaire vers le répertoire courant d'où est exécuté le script.
if (move_uploaded_file($_FILES["monfichier"]["tmp_name"], "$repertoireDestination".$nomDestination))
{
$result=mysql_query("select * from site where EDITEUR_E = '$editeur_e'") or die ("Erreur lecture site");
if ($row=mysql_fetch_array($result))
{
$adresse = $row['ADRESSE_E'];
$code_postal = $row[CODE_POSTAL_E];
$ville= $row[VILLE_E];
}
$result2=mysql_query("select * from memoire");
$total=mysql_num_rows($result2);
$nb_plus = $total++;
$identite= date("Ymd").$nb_plus;
$result1=mysql_query("insert into memoire values ('','$nom_stagiaire','$prenom_stagiaire','$datenaiss','Notice générale','Ressource électronique','Fre','$titre_memoire','$titre_memoire','$titre_memoire','Ressource électronique','Ressource électronique','$editeur_e','$editeur_e','$adresse','$code_postal','$ville','France','Non','2005','$date_saisie','$date_saisie','Non','$identite','$auteur1','$auteur2','$auteur3','$auteur1','$identite','$date_saisie','$date_saisie','2005','$nom_stagiaire','$nom_stagiaire','texte','$nom_fichier','Non','$select_nature','$resume','$mot1','$mot2','$mot3','$mot4','$mot5','$mot6','$mot7','$mot8','$mot9','$mot10','$libelle','$extension')") or die ("Erreur écriture memoire");
mysql_close();
echo "Le fichier ".$_FILES["monfichier"]["name"]." de taille : ".$_FILES["monfichier"]["size"]." a été copié dans le répertoire <br />";
echo "Il a été renommé sous le nom " .$nomDestination ."<br />";
}
}
else
{
echo "Le fichier ".$_FILES["monfichier"]["name"]. " n'a pas été téléchargé<br />".
"Peut-être dépassait-il la limite des 5<br />";
}
}
else
{
echo "Le fichier n'est pas au format attendu <br />";
echo "Votre mémoire doit être enregistré au format pdf ou rtf <br />";
}
}
else
{
echo "Veuillez retourner à l'écran précédent, tous les champs n'ont pas été saisis";
}
(...)
En fait, il semblerait que si le fichier est un .rtf, le upload fonctionne tout le temps.
Par contre, quand c'est un pdf (taille <5mo) on a :
- soit ça marche
- soit message 'le fichier ne contient aucune donnée
- soit message "impossible d'afficher a page"
Je viens de modifier des paramètres dans php.ini .... pas mieux
Si vous pouviez m'aider ça serait sympa. Je ne sais plus où chercher l'erreur .... Merci
Pascale
A voir également:
- [php] upload
- Youtube upload - Télécharger - Diffusion
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Commun file upload pattern ✓ - Forum Réseaux sociaux
- Gofile upload - Télécharger - Téléchargement & Transfert
4 réponses
Bonjour,
voici qlq précisions :
Il semblerait que le upload ne fonctionne que pour des fichiers < 550 qu'ils soient en pdf ou rtf.
Pourtant, dans le formulaire de saisie le champ est avec Max_files_size = 55000000 et au niveau de php.ini il est à 6M
Je ne vois pas où est le problème.
Pascale
voici qlq précisions :
Il semblerait que le upload ne fonctionne que pour des fichiers < 550 qu'ils soient en pdf ou rtf.
Pourtant, dans le formulaire de saisie le champ est avec Max_files_size = 55000000 et au niveau de php.ini il est à 6M
Je ne vois pas où est le problème.
Pascale
j'ai exactement le même problème Mon max_file_size et le max file de mon php.ini sont bon mais des que je veux upload un fichier plus que 1 MO j'ai "Impossible d'afficher la page
La page que vous recherchez est actuellement indisponible. Le site Web rencontre peut-être des difficultés techniques, ou vous devez modifier les paramètres de votre navigateur. " le message est quasi instantané dès l'envoi du formulaire si quelqu'un à une idée....
La page que vous recherchez est actuellement indisponible. Le site Web rencontre peut-être des difficultés techniques, ou vous devez modifier les paramètres de votre navigateur. " le message est quasi instantané dès l'envoi du formulaire si quelqu'un à une idée....
aye j'ai trouvé en fait il semblerait que ça soit mon firwall qui bloquait.
Trouvé sur http://fr.php.net/features.file-upload
You can check your firewall configuration. When uploading large files, packets have to be split into fragments of varying size depending on your systems MTU (maximum transmission unit), which is typically 1500 bytes.
Trouvé sur http://fr.php.net/features.file-upload
You can check your firewall configuration. When uploading large files, packets have to be split into fragments of varying size depending on your systems MTU (maximum transmission unit), which is typically 1500 bytes.