Uploader plusieurs fichiers + insertion leurs noms dans la base
salut je développe un site dont je dois faire un espace admin d'apres ce dernier un administreur va uploader des fichiers il peut être de 1 jusqu'a 5 fichier maximum :(
le probleme c'est pas comment uploader un fichiers parceque j'ai deja pu le faire le probleme c'est comment contrôler mes 5 input type file ainsi si je remplie deux fichiers il dois uploader uniquement 2fichiers
bref je dois uploader des fichiers selon le besoin j'ai 5 input type file :( j'en sais pas comment faire ca j'ai deja un script qui uploader et qui verifier l'extension du fichier et la quantité de fichiers son seul défaut c'est qu'il accepte fichier vide :(
s'il vous plait comment je peux tester si mes input type file sont rempli ainsi si ils sont vide mon script dois rien faire
voila mon script uploader un fichier uniquement
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
if(isset($_POST['valider'])){
$dated=$_POST['dated']; //date debut
$titre=addslashes($_POST['titre']); //titre actualite
if(!empty($dated) && !empty($titre)){
$dossier = "uploads/";
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.jpg', '.gif', '.png');
$extension = strrchr($_FILES['photo']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = '1';
}
if($taille>$taille_maxi)
{
$erreur = '2';
}
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['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
print("upload avec sucee");
$file = $dossier . $fichier;
$fp = fopen($file, "rb"); // le b c'est pour les windowsiens
$attachment = fread($fp, filesize($file))
fclose($fp);
}
else //Sinon (la fonction renvoie FALSE).
{
print("erreur upload fichier resseyer plus tard");
}
}
else
{
if ($erreur=='1'){
print("taille de photo tres lourde");
}
else
{
print("format photo inconnu");
}
}
}
?> |
ceci est resumé de mon code, mon code un defaut c'est que il verifier le champs file malgré qu'il est vide ainsi il m'indique "taille de photo tres lourde"