Je met le code complet si ça aide a voir se que je veux faire en gros j'ai des élèves que je dois ajouter dans une bdd nom prénom photocopie du cv carte vitale... quand j'insère un élève un répertoire est créé au nom de l'élève ou son stocké toutes les photocopie et les données sont rentrés dans la bdd avec le chemin d’accès de chaque image je sais pas si c'est clair j'arrive a tous faire mais quand je laisse un champ d'upload vide l'insertion dans la bdd ne fonctionne pas
<?php
function upload($fichier, $prenomauditeur, $nomauditeur)
{
$nom = "auditeur/".$nomauditeur."_".$prenomauditeur."/";
// vérifie si le répertoire existe pas :
if (!is_dir($nom))
{
mkdir($nom);
}
$fcv = basename($_FILES[$fichier]['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES[$fichier]['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES[$fichier]['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 png, gif, jpg, jpeg, txt ou doc...';
}
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...
$fcv = strtr($fcv,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$cv = preg_replace('/([^.a-z0-9]+)/i', '-', $fcv);
if(move_uploaded_file($_FILES[$fichier]['tmp_name'], $nom . $fcv)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
return true;
}
else
{
return false;
}
}
}
//récupération des valeurs des champs:
//nom:
$nomauditeur = $_POST["nomauditeur"] ;
//prenom:
$prenomauditeur = $_POST["prenomauditeur"] ;
//code:
$codeauditeur = $_POST["codeauditeur"] ;
if (upload('cv', $prenomauditeur, $nomauditeur) && upload('carte', $prenomauditeur, $nomauditeur) && upload('cartevitale', $prenomauditeur, $nomauditeur) && upload('rib', $prenomauditeur, $nomauditeur) && upload('bac', $prenomauditeur, $nomauditeur) && upload('lettre', $prenomauditeur, $nomauditeur) && upload('contrat', $prenomauditeur, $nomauditeur))
{
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "dematerialisation" ) ;
//récupération des valeurs des champs:
// Fichier auditeur
$fcv = basename($_FILES['cv']['name']);
$cv = "auditeur/".$nomauditeur."_".$prenomauditeur."/".$fcv;
$fcarte = basename($_FILES['carte']['name']);
$carte = "auditeur/".$nomauditeur."_".$prenomauditeur."/".$fcarte;
$fcartevit = basename($_FILES['cartevitale']['name']);
$cartevitale = "auditeur/".$nomauditeur."_".$prenomauditeur."/".$fcartevit;
$frib = basename($_FILES['rib']['name']);
$rib = "auditeur/".$nomauditeur."_".$prenomauditeur."/".$frib;
$fresultat = basename($_FILES['bac']['name']);
$bac = "auditeur/".$nomauditeur."_".$prenomauditeur."/".$fresultat;
$flettre = basename($_FILES['lettre']['name']);
$lettre = "auditeur/".$nomauditeur."_".$prenomauditeur."/".$flettre;
$fcontrat = basename($_FILES['contrat']['name']);
$contrat = "auditeur/".$nomauditeur."_".$prenomauditeur."/".$fcontrat;
$chemin = "auditeur/".$nomauditeur."_".$prenomauditeur."/";
// on encapsule le répertoire et le nom du fichier pour avoir le chemin complet
//création de la requête SQL:
$sql = "INSERT INTO auditeur (nomauditeur, prenomauditeur, codeauditeur, cv, carteidentite, cartevital, rib, resultatbac, lettremotivation, contratpro, chemin)
VALUES ( '$nomauditeur', '$prenomauditeur', '$codeauditeur', '$cv', '$carte', '$cartevitale', '$rib', '$bac', '$lettre', '$contrat', '$chemin') " ; // On oublie pas de l'inserer
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo("Insertion éffectué") ;
}
else
{
echo("L'insertion à échouée</br>") ;
}
//fin insertion auditeur et début création d'un répertoire
}
?>