probleme d'upload
Posté : 19 juin 2006, 13:44
Voila, mon script permet d'uploader des pdf sur le serveur, il me parait tout a fait correct seulement voila, l'upload ne se fait pas.
Le problème doit venir de la vérification que le champ contenant le chemin d'accès du fichier soit bien rempli car j'ai le message "Vous n'avez pas choisi de fichier".
Voila mon code :
Le problème doit venir de la vérification que le champ contenant le chemin d'accès du fichier soit bien rempli car j'ai le message "Vous n'avez pas choisi de fichier".
Voila mon code :
// Récupération du dossier dans lequel le fichier sera uploadé //
$DESTINATION_FOLDER = "./cv/"; //
// Taille maximale de fichier, valeur en bytes //
$MAX_SIZE = 500000; //
// Récupération de l'url de retour
//$RETURN_LINK = $_SERVER['HTTP_REFERER']; //
// Définition des extensions de fichier autorisées (avec le ".")//
$AUTH_EXT = array(".pdf"); //
// Fonction permettant de créer un lien de retour automatique
function createReturnLink(){
//global $RETURN_LINK;
echo "<p class=\"Texte2\"><a href=\"../index.php\">Retour à l'espace etudiant</a><br></p>";
}
// Fonction permettant de vérifier si l'extension du fichier est
// autorisée.
function isExtAuthorized($ext){
global $AUTH_EXT;
if(in_array($ext, $AUTH_EXT)){
return true;
}else{
return false;
}
}
// On vérifie que le champs contenant le chemin du fichier soit
// bien rempli.
if(!empty($_FILES["file"]["name"])){
// Nom du fichier choisi:
$nomFichier = $_FILES["file"]["name"] ;
// Nom temporaire sur le serveur:
$nomTemporaire = $_FILES["file"]["tmp_name"] ;
// Type du fichier choisi:
$typeFichier = $_FILES["file"]["type"] ;
// Poids en octets du fichier choisit:
$poidsFichier = $_FILES["file"]["size"] ;
// Code de l'erreur si jamais il y en a une:
$codeErreur = $_FILES["file"]["error"] ;
// Extension du fichier
$extension = strrchr($nomFichier, ".");
// Si le poids du fichier est de 0 bytes, le fichier est
// invalide (ou le chemin incorrect) => message d'erreur
// sinon, le script continue.
if($poidsFichier <> 0){
// Si la taille du fichier est supérieure à la taille
// maximum spécifiée => message d'erreur
if($poidsFichier < $MAX_SIZE){
// On teste ensuite si le fichier a une extension autorisée
if(isExtAuthorized($extension)){
// Ensuite, on copie le fichier uploadé ou bon nous semble.
$uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nomFichier);
if($uploadOk and $_POST['demande']=='stage'){
$query = "INSERT INTO cv VALUES ('','$nomFichier','$_SESSION[nom]','$_SESSION[prenom]','1','')";
$result = mysql_query($query);
mysql_close($db);
echo("<p class=\"Texte\">L'upload a réussi !<br><br></p>");
echo(createReturnLink());
}
elseif($uploadOk and $_POST['demande']=='emploi'){
$query = "INSERT INTO cv VALUES ('','$nomFichier','$_SESSION[nom]','$_SESSION[prenom]','','1')";
$result = mysql_query($query);
//mysql_query("INSERT INTO cv VALUES ('','','','','','1')");
mysql_close($db);
echo("<p class=\"Texte\">Le téléchargement a réussi !<br><br></p>");
echo(createReturnLink());
}
else{
echo("<p class=\"Texte\">Le téléchargement a échoué !<br><br></p>");
echo(createReturnLink());
}
}else{
echo ("<p class=\"Texte\">Les fichiers avec l'extension $extension ne peuvent pas être téléchargés !<br></p>");
echo (createReturnLink()."<br>");
}
}else{
$tailleKo = $MAX_SIZE / 1000;
echo("<p class=\"Texte\">Vous ne pouvez pas télécharger des fichiers dont la taille est supérieure à : $tailleKo Ko.<br></p>");
echo (createReturnLink()."<br>");
}
}else{
echo("<p class=\"Texte\">Le fichier choisi est invalide !<br></p>");
echo (createReturnLink()."<br>");
}
}else{
echo("<p class=\"Texte\">Vous n'avez pas choisi de fichier !<br></p>");
echo (createReturnLink()."<br>");
}
je ne vois pas du tout où est l'erreur