Problème avec un script d'upload en php
Grechtouille
Messages postés
2
Statut
Membre
-
desigfree Messages postés 2 Statut Membre -
desigfree Messages postés 2 Statut Membre -
Bonjour à tous. Voila, j'ai réalisé un site intranet et là, je dois réaliser une page télécharger qui permettra aux utilisateurs de choisir un document WORD EXCEL OU PDF à l'aide d'un bouton parcourir puis de l'ouvrir en cliquant sur envoyer.
Seulement au click d'envoyer, il ne se passe rien.
Voici mon code :
Mon code n'est pas forcément génial puisque je m'en suis repartie de forums et tutos.
Merci d'avance pour votre aide.
Seulement au click d'envoyer, il ne se passe rien.
Voici mon code :
<?php
//connexion à la base de données
mysql_connect("localhost","root","");
//sélection de la base de données
mysql_select_db("SiteIntranet");
if(isset($_FILES['tf_nom']))
{
// params
unset($erreur);
$extensions_ok = array('doc', 'xls', 'pdf');
$taille_max = 100000;
$dest_dossier = '/C:/EasyPHP1-8/www/';
// vérifications
if( !in_array( substr(strchr($_FILES['tf_nom'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type doc, xls ou pdf !';
}
elseif( file_exists($_FILES['tf_nom'])
and filesize($_FILES['tf_taille']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 500Ko !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = SiteIntranet($_FILES['tf_nom']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['tf_nom'], $dest_dossier . $dest_fichier);
}
}
?>
<html>
<body>
<!-- Erreur ? -->
<?php
if(isset($erreur)){
echo '<p>', $erreur ,'</p>';
}
mysql_close();
?>
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
<form method="POST" action="30.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
<fieldset>
<legend>Envoi de fichiers</legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="photo">Document :</label><input type="file" name="photo" /></p>
<p><label for="photo_2">Document 2 :</label><input type="file" name="photo_2" /></p>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
</body>
</html>
Mon code n'est pas forcément génial puisque je m'en suis repartie de forums et tutos.
Merci d'avance pour votre aide.
A voir également:
- Problème avec un script d'upload en php
- Script vidéo youtube - Guide
- Upload video youtube - Télécharger - Diffusion
- Easy php - Télécharger - Divers Web & Internet
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
1 réponse
salut !!
bien je vais vous données le plus simple et le plus efficasse :
voila
la fonction upload tu enregistre ce fichier sous le nom upload.php par exple:
bien mainteant le formulaire fichier index.php par exple :
bien je vais vous données le plus simple et le plus efficasse :
voila
la fonction upload tu enregistre ce fichier sous le nom upload.php par exple:
<?
// Taille maximum
function upload($fname,$ftype,$fsize,$ftmp,$where)
{
$MAX_FILE_SIZE = 100000000;
// Dossier de destination du fichier
$folder = "images/".$where;
//echo $folder;
// Tableau array des différents types
//$allowed_types = array("image/gif","image/jpg","image/pjpeg","image/x-png","image/png","application/msword");
//echo "................".$ftype;
// Diverses test afin de savoir si :
// Le format de fichier correspond à notre tableau array
//if(!in_array($ftype, $allowed_types)){$error = 1;}
//else
//{
// La taille du fichier n'est pas dépassée
if($fsize > $MAX_FILE_SIZE){$error = 2;}
else
{
// Le fichier n'existe pas déjà
if(file_exists($folder."m_".$fname)){$error = 3;}
else
{
// Si tout va bien, c'est bien déroulé
if(copy($ftmp,''.$folder.''.$fname.'')) {$error = 0;}
}
}
//}
// Switch servant simplement à la gestion des erreures
switch($error){
case'0':
$erreur="";
break;
case'1':
$erreur="Format de fichier incorrecte.";
break;
case'2':
$erreur="Fichier trop volumineux.";
break;
case'3':
$erreur="Fichier déjà existant.";
break;
}
return $erreur;
}
?>
bien mainteant le formulaire fichier index.php par exple :
<?
// ici l'appel de la fonction d'appload voila comment faire
if($HTTP_POST_FILES['image']['name']!='')
{
/* uplod de l'image .....*/
$fname = $HTTP_POST_FILES['image']['name'];
$ftype = $HTTP_POST_FILES['image']['type'];
$fsize = $HTTP_POST_FILES['image']['size'];
$ftmp = $HTTP_POST_FILES['image']['tmp_name'];
// la tu va preciser le chemain d'enregistrement
$where="images/";
$erreur=upload($fname,$ftype,$fsize,$ftmp,$where);
}
?>
<form action="index.php" method="post" name="lis" enctype="multipart/form-data" >
<table>
<tr><td>Image</td><td><input type="file" name="image"></td></tr>
<tr><td colspan="2" align="right"><input type="submit" value="Enregistrer"></td></tr>
</table>