Probleme sur un script php (upload)
Fermé
asus
-
13 janv. 2008 à 14:37
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 - 15 janv. 2008 à 12:48
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 - 15 janv. 2008 à 12:48
Bonjour,
une erreur ligne 106
merci
une erreur ligne 106
// Ensuite, on copie le fichier uploadé ou bon nous semble. $uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nomFichier);
merci
A voir également:
- Probleme sur un script php (upload)
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Youtube upload - Télécharger - Diffusion
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
23 réponses
R4f
Messages postés
441
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2008
62
14 janv. 2008 à 15:06
14 janv. 2008 à 15:06
A vrai dire, tout est déjà là : Upload de fichiers
j ai remodifier le formulaire (form.html) comme ceci :
et la page php (upload.php) :
toujour en panne je tombe bien sur la page php avec "Hebergeur en maintenance, désole.
Veuillez reporter votre hebergement.
merci en haut de page
pour faire un test ===> http://acr02.fr/form.html
merci
<!-- Formulaire --> <!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" --> <form method="POST" action="upload.php" enctype="multipart/form-data"> <!-- Limiter la taille des fichiers à 500Ko --> <input type="hidden" name="MAX_FILE_SIZE" value="500000" /> <fieldset> <legend><font color=#000000>Envoi de fichiers</font></legend> <!-- champs d'envoi de fichier, de type file --> <p><label for="up"><font color=#000000>Fichier</font></label><input type="file" name="up" /></p> <!-- bouton d'envoi --> <p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p> </legend> </fieldset> </form>
et la page php (upload.php) :
<?php if(isset($_FILES['up'])) { // params unset($erreur); $extensions_ok = array('png', 'gif', 'jpg', 'jpeg'); $taille_max = 100000; $dest_dossier = '/up/'; // utilisez également des slashes sous windows : $dest_dossier = '/up//up/'; // vérifications if( !in_array( substr(strrchr($_FILES['up']['name'], '.'), 1), $extensions_ok ) ) { $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !'; } elseif( file_exists($_FILES['up']['free']) and filesize($_FILES['up']['free']) > $taille_max) { $erreur = 'Votre fichier doit faire moins de 500Ko !'; } // copie du fichier if(!isset($erreur)) { $dest_fichier = basename($_FILES['up']['free']); // formatage nom fichier // enlever les accents $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); // remplacer les caracteres autres que lettres, chiffres et point par _ $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier); // copie du fichier move_uploaded_file($_FILES['up']['free'], $dest_dossier . $dest_fichier); } } ?> Hebergeur en maintenance, désole. Veuillez reporter votre hebergement. merci
toujour en panne je tombe bien sur la page php avec "Hebergeur en maintenance, désole.
Veuillez reporter votre hebergement.
merci en haut de page
pour faire un test ===> http://acr02.fr/form.html
merci
R4f
Messages postés
441
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2008
62
15 janv. 2008 à 12:48
15 janv. 2008 à 12:48
L'erreur venait de la ligne
Cela indique que le dossier destination est à la racine du serveur (alors que toi tu veux sans doute que ce soit à la racine du site)... Il faut donc changer pour 'up/'.
et puis du fait que tu utilisais mal le fichier $_FILES (pour savoir exactement ce qu'il contient, fais print_r($_FILES) et tu verras sa structure exacte).
Bon, pour que ça marche, je l'ai installé et fait marcher, et j'ai changé des trucs à droite à gauche, je ne peux pas te dire de tête si c'est bloquant ou pas.
Donc je te mets le code (qui marche) :
Bon, j'ai pas fait dans la dentelle, il indique toujours qu'il y a eu une erreur. Quand celle-ci est vide, c'est qu'il n'y a pas d'erreur... ;-)
Raph
$dest_dossier = '/up/';
Cela indique que le dossier destination est à la racine du serveur (alors que toi tu veux sans doute que ce soit à la racine du site)... Il faut donc changer pour 'up/'.
et puis du fait que tu utilisais mal le fichier $_FILES (pour savoir exactement ce qu'il contient, fais print_r($_FILES) et tu verras sa structure exacte).
Bon, pour que ça marche, je l'ai installé et fait marcher, et j'ai changé des trucs à droite à gauche, je ne peux pas te dire de tête si c'est bloquant ou pas.
Donc je te mets le code (qui marche) :
<?php if(!isset($_FILES['up'])) { header('Location: form.html'); exit(); } // params unset($erreur); $extensions_ok = array('png', 'gif', 'jpg', 'jpeg'); $taille_max = 100000; $dest_dossier = 'up/'; // utilisez également des slashes sous windows : $dest_dossier = '/up//up/'; // vérifications if( !preg_match('/\.'.join('|', $extensions_ok).'\Z/', $_FILES['up']['name']) ) { $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !'; } elseif( file_exists($_FILES['up']['tmp_name']) and filesize($_FILES['up']['tmp_name']) > $taille_max) { $erreur = 'Votre fichier doit faire moins de 500Ko !'; } // copie du fichier if(!isset($erreur)) { $dest_fichier = basename($_FILES['up']['name']); echo "fichier destination : ",$dest_fichier, "<br/>"; // formatage nom fichier // enlever les accents $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); // remplacer les caracteres autres que lettres, chiffres et point par _ $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier); // copie du fichier move_uploaded_file($_FILES['up']['tmp_name'], $dest_dossier . $dest_fichier); } ?> Il s'est produit une erreur : <?=$erreur ?>
Bon, j'ai pas fait dans la dentelle, il indique toujours qu'il y a eu une erreur. Quand celle-ci est vide, c'est qu'il n'y a pas d'erreur... ;-)
Raph