Problème d'upload
Résolu
hack_net
Messages postés
783
Date d'inscription
Statut
Membre
Dernière intervention
-
hack_net Messages postés 783 Date d'inscription Statut Membre Dernière intervention -
hack_net Messages postés 783 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un script d'upload que voila :
Le problème, c'est qu'il ne marche pas, et qu'il ne m'affiche aucuns message...
Pouvez-vous m'aider ?
Merci d'avance...
j'ai un script d'upload que voila :
<?php session_start(); // On démarre la session AVANT toute chose if(!isset($_SESSION['pseudo']) || !isset($_SESSION['mdp'])){ @header("Location: index.php"); } if($_SESSION['pseudo'] == "usr1" && $_SESSION['mdp'] == "mdp1"){ include "connect.inc.php"; if(isset($_POST['book'])){ extract($_POST); if ($_FILES['book']['error']) { switch ($_FILES['book']['error']){ case 1: // UPLOAD_ERR_INI_SIZE echo "<span style=\"color: red; font-weight: bold;\">Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !</span>"; exit(); break; case 2: // UPLOAD_ERR_FORM_SIZE echo "<span style=\"color: red; font-weight: bold;\">Le fichier dépasse la limite autorisée dans le formulaire HTML !</span>"; exit(); break; case 3: // UPLOAD_ERR_PARTIAL echo "<span style=\"color: red; font-weight: bold;\">L'envoi du fichier a été interrompu pendant le transfert !</span>"; exit(); break; case 4: // UPLOAD_ERR_NO_FILE echo "<span style=\"color: red; font-weight: bold;\">Le fichier que vous avez envoyé a une taille nulle !</span>"; exit(); break; } } else { if ((isset($_FILES['book']['fichier'])&&($_FILES['book']['error'] == UPLOAD_ERR_OK))) { $chemin_destination = '/var/www/nouvesse/akli-rom1/upload/'; move_uploaded_file($_FILES['book']['tmp_name'], $chemin_destination.$_FILES['book']['name']); $nom = $_FILES['name'].$_FILES['type']; $rq1 = mysql_query("INSERT INTO fichiers VALUES('', '".$_SESSION['pseudo']."', '".time()."', '".time()."', '".$nom."')") or die("Erreur"); echo "<span style=\"color: red; font-weight: bold;\">Le fichier a bien été uploadé !</span>"; echo "<br><br><a href=\"\">Retour</a>"; exit(); } } } elseif(isset($_POST['down'])){ extract($_POST); $rq2 = mysql_query("UPDATE fichiers SET date_down='".time()."'") or die("Impossible MAJ"); @header("Location: upload/$down"); } else{ $rq2 = mysql_query("SELECT * FROM fichiers"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title><?php echo $_SESSION['pseudo']; ?>...</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link href="default.css" rel="stylesheet" type="text/css"> </head> <body> <h1><?php echo $_SESSION['pseudo']; ?>...</h1> <div align="center" style="margin-top: 100px;"> <form action="" method="post" enctype="multipart/form-data"> <input type="hidden" name="max_file_size" value="2048"> Envoie d'un fichier : <input type="file" name="book"><br><br> <input type="submit" value="Envoyer"><br> </form> <table width="1000px" style="margin: 200px 0 50px 0;"> <tr> <th>Auteur :</th> <th>Date envoie :</th> <th>Télécharger :</th> </tr> <?php while($tab = mysql_fetch_array($rq2)){ if($tab['date_envoie'] != $tab['date_down']){ echo "\t<tr class=\"imp\">\n"; }else{ echo "\t<tr>\n"; } echo "\t\t<td>".$tab['auteur']."</td>\n"; echo "\t\t<td>".$tab['date_envoie']."</td>\n"; echo "\t\t<td><input type=\"submit\" name=\"down\" value=\"Télécharger ".$tab['nom']." !\"></td>\n"; echo "\t</tr>\n"; } ?> </table> </div> <h2 id="deco"><a href="logout.php">Déconnexion</a></h2> <div class="copyright"> <p>Bouk1 a 2 by FotoXe33 développer pour nouvesse seulement.<br>Contact : FotoXe33@gmail.com</p> </div> </body> </html> <?php } }else{ // Sinon (les id ne sont pas bons) @header("Location: index.php"); // On le redirige à l'index } ?>
Le problème, c'est qu'il ne marche pas, et qu'il ne m'affiche aucuns message...
Pouvez-vous m'aider ?
Merci d'avance...
A voir également:
- Problème d'upload
- Youtube upload - Télécharger - Diffusion
- Gofile upload - Télécharger - Téléchargement & Transfert
- Tubidy upload ✓ - Forum Mobile
- Différence entre upload et download - Forum Téléchargement
- Fourtoutici upload - Forum Réseaux sociaux
4 réponses
J'ai fait un copier coller de ce script (j'ai juste changer le nom du dossier), mais page blanche ! Je l'ai alors modifier comme suit :
Toujours page blanche, aucun message, rien !!!
Savez-vous d'où le problème vient ?
Merci d'avance...
<?php // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0){ // Testons si le fichier n'est pas trop gros if ($_FILES['monfichier']['size'] <= 1000000){ // Testons si l'extension est autorisée $infosfichier = pathinfo($_FILES['monfichier']['name']); $extension_upload = $infosfichier['extension']; $nom = $infosfichier.$extension_upload; $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png', 'doc', 'odt', 'docx', 'pdf', 'txt', 'php'); if (in_array($extension_upload, $extensions_autorisees)){ // On peut valider le fichier et le stocker définitivement move_uploaded_file($_FILES['monfichier']['tmp_name'], 'upload/' . basename($_FILES['monfichier']['name'])); $rq1 = mysql_query("INSERT INTO fichiers VALUES('', '".$_SESSION['pseudo']."', '".time()."', '".time()."', '".$nom."')") or die("Erreur"); echo "L'envoi a bien été effectué !"; } else{ echo "Extension non-autorisée !"; } } else{ echo "Fichier trop volumineux !"; } } else{ switch ($_FILES['book']['error']){ case 1: // UPLOAD_ERR_INI_SIZE echo "<span style=\"color: red; font-weight: bold;\">Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !</span>"; exit(); break; case 2: // UPLOAD_ERR_FORM_SIZE echo "<span style=\"color: red; font-weight: bold;\">Le fichier dépasse la limite autorisée dans le formulaire HTML !</span>"; exit(); break; case 3: // UPLOAD_ERR_PARTIAL echo "<span style=\"color: red; font-weight: bold;\">L'envoi du fichier a été interrompu pendant le transfert !</span>"; exit(); break; case 4: // UPLOAD_ERR_NO_FILE echo "<span style=\"color: red; font-weight: bold;\">Le fichier que vous avez envoyé a une taille nulle !</span>"; exit(); break; } } ?>
Toujours page blanche, aucun message, rien !!!
Savez-vous d'où le problème vient ?
Merci d'avance...
Voila, je viens d'en trouver un autre :
Le seul message qui s'affiche c'est "Echec de l'upload !".
Pourquoi ?
<?php $dossier = 'upload/'; if(!is_dir($dossier)){ echo "Pas de dossier !!!"; } $fichier = basename($_FILES['book']['name']); $taille_maxi = 100000; $taille = filesize($_FILES['book']['tmp_name']); $extensions = array('.jpg', '.jpeg', '.gif', '.png', '.doc', '.odt', '.docx', '.pdf', '.txt'); $extension = strrchr($_FILES['book']['name'], '.'); //Début des vérifications de sécurité... if(!in_array($extension, $extensions)){ //Si l'extension n'est pas dans le tableau $erreur = 'Vous devez uploader un fichier de type jpg, jpeg, gif, png, doc, odt, docx, pdf, ou txt...'; } if($taille>$taille_maxi){ $erreur = 'Le fichier est trop gros...'; } if(!isset($erreur)){ //S'il n'y a pas d'erreur, on upload //On formate le nom du fichier ici... $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); if(move_uploaded_file($_FILES['book']['tmp_name'], $dossier . $fichier)){ //Si la fonction renvoie TRUE, c'est que ça a fonctionné... $rq1 = mysql_query("INSERT INTO fichiers VALUES('', '".$_SESSION['pseudo']."', '".time()."', '".time()."', '".$nom."')") or die("Erreur"); echo 'Upload effectué avec succès !'; } else{ //Sinon (la fonction renvoie FALSE). echo 'Echec de l\'upload !'; } } else{ echo $erreur; } ?>
Le seul message qui s'affiche c'est "Echec de l'upload !".
Pourquoi ?