par
muriel » 11 sept. 2005, 17:55
bonjour à tous,
de retour parmis vous, je ne vous quitte plus....
j'ai un code pour uploader les images que j'ai trouvé ici et qui marche tres bien, mais j'ai un probleme, c'est que quand je n'ai pas d'image à uploader il me met le message d'erreur suivant:
Code : Tout sélectionner
Notice: Undefined variable: dest_fichier in d:\easyphp\www\mabase\enregistrer.php on line 82
la ligne 82 etant la ligne ou j'insere ma requete: ($dest_fichier), je vous mets le code:
<?
include("_connexion.php");
//upload images
if(isset($_FILES['Image1']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'JPG');
$taille_max = 200000;
$dest_dossier = 'd:/easyphp/www/mabase/images_upload/';
// utilisez également des slashes sous windows : $dest_dossier = 'd:/damien/photos/';
$taille = $_FILES['Image1']['size'];
// vérifications
if( !in_array( substr(strrchr($_FILES['Image1']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner une image de type png, gif, jpg, jpeg ou JPG ';
include("erreur.php");
}
elseif (!is_dir($dest_dossier)) {
$erreur = 'Veuillez indiquer un répertoire destination correct !';
include("erreur.php");
}
elseif (!is_writeable($dest_dossier)) {
$erreur = 'Veuillez spécifier des droits en écriture pour le répertoire destination !';
include("erreur.php");
}
elseif ($taille > $taille_max) {
$erreur = 'Veuillez sélectionner une image de taille inférieure à 200Ko !';
include("erreur.php");
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['Image1']['name']);
// 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-9]+)/i', '_', $dest_fichier);
// copie du fichier et verification
if (is_uploaded_file($_FILES['Image1']['tmp_name'])) {
$erreur = 'L\'image a été uploadée avec succes, mais n\'a pas pu être copiée.';
move_uploaded_file($_FILES['Image1']['tmp_name'], $dest_dossier . $dest_fichier);
if (is_uploaded_file($dest_dossier . $dest_fichier)){
$reussi = 'yeah! Enfin!!!!';
}
}
elseif (!is_uploaded_file($_FILES['Image1']['tmp_name'])) {
$erreur = 'L\'image n\'a pas été uploadée';
include("erreur.php");
}
}
}
?>
<!-- Erreur ? -->
<div class="en-tete"><div class="img_en-tete"></div>
<?php
if(isset($erreur)){
echo $erreur ;
}
elseif(isset($reussi)){
echo $reussi ;
}
else{ }
mysql_query ("INSERT INTO commande VALUES('', '". ($_POST['nom']) ."', '". ($dest_fichier)."')");
?>
etant donné que l'upload d'image n'est pas une obligation, c'est un peu ennuyeux comme message d'erreur, en esperant trouver une personne qui aura encore envie de m'aider, d'avance merci de vos reponses.
bonjour à tous,
de retour parmis vous, je ne vous quitte plus....
j'ai un code pour uploader les images que j'ai trouvé ici et qui marche tres bien, mais j'ai un probleme, c'est que quand je n'ai pas d'image à uploader il me met le message d'erreur suivant:
[code]Notice: Undefined variable: dest_fichier in d:\easyphp\www\mabase\enregistrer.php on line 82
[/code]
la ligne 82 etant la ligne ou j'insere ma requete: ($dest_fichier), je vous mets le code:
[php]
<?
include("_connexion.php");
//upload images
if(isset($_FILES['Image1']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'JPG');
$taille_max = 200000;
$dest_dossier = 'd:/easyphp/www/mabase/images_upload/';
// utilisez également des slashes sous windows : $dest_dossier = 'd:/damien/photos/';
$taille = $_FILES['Image1']['size'];
// vérifications
if( !in_array( substr(strrchr($_FILES['Image1']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner une image de type png, gif, jpg, jpeg ou JPG ';
include("erreur.php");
}
elseif (!is_dir($dest_dossier)) {
$erreur = 'Veuillez indiquer un répertoire destination correct !';
include("erreur.php");
}
elseif (!is_writeable($dest_dossier)) {
$erreur = 'Veuillez spécifier des droits en écriture pour le répertoire destination !';
include("erreur.php");
}
elseif ($taille > $taille_max) {
$erreur = 'Veuillez sélectionner une image de taille inférieure à 200Ko !';
include("erreur.php");
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['Image1']['name']);
// 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-9]+)/i', '_', $dest_fichier);
// copie du fichier et verification
if (is_uploaded_file($_FILES['Image1']['tmp_name'])) {
$erreur = 'L\'image a été uploadée avec succes, mais n\'a pas pu être copiée.';
move_uploaded_file($_FILES['Image1']['tmp_name'], $dest_dossier . $dest_fichier);
if (is_uploaded_file($dest_dossier . $dest_fichier)){
$reussi = 'yeah! Enfin!!!!';
}
}
elseif (!is_uploaded_file($_FILES['Image1']['tmp_name'])) {
$erreur = 'L\'image n\'a pas été uploadée';
include("erreur.php");
}
}
}
?>
<!-- Erreur ? -->
<div class="en-tete"><div class="img_en-tete"></div>
<?php
if(isset($erreur)){
echo $erreur ;
}
elseif(isset($reussi)){
echo $reussi ;
}
else{ }
mysql_query ("INSERT INTO commande VALUES('', '". ($_POST['nom']) ."', '". ($dest_fichier)."')");
?>
[/php]
etant donné que l'upload d'image n'est pas une obligation, c'est un peu ennuyeux comme message d'erreur, en esperant trouver une personne qui aura encore envie de m'aider, d'avance merci de vos reponses.