Problème avec un upload qui fonctionne... parfois

Signaler
Messages postés
23
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
10 février 2011
-
Messages postés
23
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
10 février 2011
-
Bonjour,

mon script de upload fonctionne... parfois, et je suis incapable de trouver pourquoi. La seule chose que j'arrive à récupérer est le résultat de la fonction move_uploaded_file mais ca ne m'éclaire pas (False ou True).
Je travail sur un serveur Win 2000(j'ai que ça), voici mon script :

$client=$_POST['client'];
$vendeur=$_POST['vendeur'];
$vendeur="$vendeur\";
$sep='-';
$dossier = '\\\monadresseIP\Pieces-jointes\\VENDEURS\\';
$dossier = $dossier .$vendeur;
$fichier = basename($_FILES['chargement']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['chargement']['tmp_name']);
$extensions = array('.xls', '.XLS');
$extension = strrchr($_FILES['chargement']['name'], '.');

//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$msg = 'Vous ne pouvez charger que des fichiers de type : .xls ';
}
if($taille>$taille_maxi)
{
$msg = 'le fichier est trop gros ...';
}
if(!isset($msg)) // si pas d'erreur la fonction renvoie TRUE.
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
$completfichier=$client.$sep.$fichier;
if(move_uploaded_file($_FILES['chargement']['tmp_name'], $dossier .$client .$sep .$fichier))
{
include("erlaubt.inc");
$connection = mysql_connect($host, $user, $password) or die ("connection impossible au serveur");
$db = mysql_select_db($database, $connection) or die ("la base de données ne peut être sélectionnée");
$query = "insert into pj (idc, nom ) values ('$client', '$completfichier' ) ";
$result = mysql_query($query) or die (" Insertion dans la table pj impossible");

$msg=0;
}
else // sinon la fonction renvoie FALSE.
{
$msg = "Impossible de copier dans le répertoire '$dossier' ";
}
}

Je suis preneur de toute idée

2 réponses

Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
salut

tu en fais quoi de $msg ?
il faudrait peut etre mieux l'initialiser à rien juste avant
//Début des vérifications de sécurité...


$msg='';
//Début des vérifications de sécurité...
Messages postés
23
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
10 février 2011

$msg est uniquement le message qui s'affichera en cas d'erreur.