Problème d'upload
Résolu
hack_net
Messages postés
814
Statut
Membre
-
hack_net Messages postés 814 Statut Membre -
hack_net Messages postés 814 Statut Membre -
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
- Upload video youtube - 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 ?