Upload fichier WORD et EXCEL

msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013 - 4 avril 2013 à 14:45
msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013 - 4 avril 2013 à 16:47
salut . j'ai un code qui marche tres bien pour upload une image mais je veux aussi uplaod un fichier WORD ou excel . comment m'y prende . merci d'avance. voici mon code php qui fonctionne bien pour les images.

<?php
//include('functions/declarant.func.php');
include('body/header.php');
include('body/menu.php');
?>
<?php

if(isset($_GET['id'])) $id = urldecode($_GET['id']);

if(isset($_POST['bouton_submit'])&& !empty($_POST['nbre'])){
 $cat = strip_tags(trim($_POST['cat'])); 
  
    for($i = 1; $i <= $_POST['nbre']; $i++){

if(isset($_FILES['img'.$i]) && $_FILES['img'.$i]['error'] == 0 && isset($_POST['nbre'])){
//elements pris  en parametres
$size_max = 2097152;	
$dossier = 'upload_fichier/';
$ext_array = array('jpg', 'png', 'bmp', 'gif', 'jpeg', 'doc', 'csv', 'xlsx');	
//donnees de $_FILES['']
$name = $_FILES['img'.$i]['name'];
$size = $_FILES['img'.$i]['size'];
$tmp = $_FILES['img'.$i]['tmp_name'];
$error = $_FILES['img'.$i]['error'];
$type_img = $_FILES['img'.$i]['type'];

//verifie s'il y a pas un fichier du meme nom qui a ete uploader
if(file_exists($dossier.$name)){
$erreur = 'un fichier du meme nom exite dejà';
}
//on verifie la taille du fichier
if($size > $size_max){
$erreur = 'image trop lourde veuillez choisir une image de plus ou moins $size_max ko';
}
//on verifie si le fichier a ete mis dans le repertoire temporaire avec la fction is_uploaded_file
if(!is_uploaded_file($tmp)){
$erreur = 'le fichier introuvable';
}
// verification de l'extension
$ext_val = substr(strtolower( $name),strrpos(strtolower( $name), ".")+1);
if(!in_array($ext_val, $ext_array)){
$erreur = "le fichier n'est pas une image ";
}
//verifie si le nom du fichier est valide
if(preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name)){

$erreur = "nom de fichier invalide";
}
//avec move_uploaded_file verifie si le fichier a été deplacé  le repertoire de destination
else if(!move_uploaded_file($tmp, $dossier.$name)){
$erreur = " impossible de copier le fichier";
}
if(isset($erreur)){
    echo $erreur.'
';
    
}
else if(!isset($erreur) ){


/*on insere le chemin vers le ficihier uploade*/
      $fichier_choisi = $dossier.$name;
// on fait l'INSERT dans la base de données

//$sql= "INSERT INTO renseigner(fichier_choisi,id_victime) VALUES ('$fichier_choisi','$id_victime')";
      $sql= "INSERT INTO renseigner(fichier_choisi,id_victime) VALUES ('$fichier_choisi','$id')";
$result = mysql_query($sql) or die(mysql_error());
if (!$result) {
    	die('linsertion n a pas réussie !!! : ' . mysql_error());

}



   }

}

}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style3 {
color: #0000FF;
font-weight: bold;
}
.Style4 {
color: #990033;
font-weight: bold;
}
.Style6 {color: #990000}
-->
</style>
</head>




Enregistrement des Courriers 


<form action="" method="post" enctype="multipart/form-data">
   


  Saisir le nombre de pages:,
"/>,   ----
,  <fieldset> <legend>AJOUTER DES DOCUMENTS </legend>
<?php if(isset($_POST['bouton_submit']) && ($_POST['nbre'])){ extract($_POST); $nbre_photo = $nbre; for($j = 1; $j<= $nbre_photo; $j++){ echo'
'; } } ?> </fieldset>

</form>


 



</html>

2 réponses

sylvain64520 Messages postés 130 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 7 juin 2013
4 avril 2013 à 15:34
Salut,

Perso, j'ai testé ton script sur mon poste ça fonctionne.
Par contre, si tu as mis les extensions de tes fichiers en majuscule c'est pas bon. Et si ton word c'est du docx, il n'est pas dans la liste.
0
msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
4 avril 2013 à 16:47
merci pour ta reponse.
1. j'ai pas mis les extention en majuscule je sais pas ppourquoi tu parle de majuscule ou bien je saisi pas bien le conseil que tu me donne .
2. quelle est la liste de toutes les extentions word et excel
0
Rejoignez-nous