par
pacphil » 25 déc. 2013, 20:07
bonjour, j'ai repris une base de script trouver sur internet, j'ai rajouter une fonction épuration et code aléatoire.
mais j'ai une Erreur dont je trouve pas la solution
Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in C:\Program Files\EasyPHP-5.3.8.1\annonce5\tel_im.php on line 65
quand j'ai cette extension d'un photo Maison_belle_lol_moi.jpg j'ai une erreur
<?php
include_once("require/config1.php");
function epure($var)
{
$var=strtr($var,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËéèêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ","AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn");
$var=strtolower($var);
$var=str_replace("'","_",$var);
$var=str_replace("\"","_",$var);
$var=str_replace(" ","_",$var);
$var=str_replace("__","_",$var);
$var=str_replace("__","_",$var);
/* $var= @eregi_replace("[^a-z0-9\_\-\.]","",$var);*/
$var = preg_replace('/[^a-z0-9\_\-\.]+$/','',$var);
$var = rtrim($var,'_');
$var = ltrim($var,'_');
return $var;
}
// Génère un code aléatoire de 5 caractères pour charques images
function code_aleatoire()
{
$alphabet = 'abcdefghijklmnopqrstuvwxyz';
$alphabet .= '1234567890';
$chaine = '';
for($i=0;$i < 5;$i++)
{
$chaine .= substr($alphabet,rand()%(strlen($alphabet)),1);
}
return $chaine;
}
// Constantes
define('TARGET', '/image_annonce/'); // Repertoire cible
define('MAX_SIZE', 100000); // Taille max en octets du fichier
define('WIDTH_MAX', 800); // Largeur max de l'image en pixels
define('HEIGHT_MAX', 800); // Hauteur max de l'image en pixels
// Tableaux de donnees
$tabExt = array('jpg','gif','png','jpeg'); // Extensions autorisees
$infosImg = array();
// Variables
$extension = '';
$message = '';
$nomImage = '';
/************************************************************
* Creation du repertoire cible si inexistant
*************************************************************/
if( !is_dir(TARGET) ) {
if( !mkdir(TARGET, 0755) ) {
exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
}
}
/************************************************************
* Script d'upload
*************************************************************/
if(!empty($_POST))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo(epure($_FILES['fichier']['name']), PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = GetImageSize($_FILES['fichier']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier']['error'])
&& UPLOAD_ERR_OK === $_FILES['fichier']['error'])
{
// On renomme le fichier
$nomImage = code_aleatoire(uniqid()) .'.'. $extension;
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage))
{
$in_annonce=array(':id_gal'=> $idXX,
':gal'=> $nomImage,
':entre'=> date("Y-m-d"));
$values_info= join(', ',array_keys($in_annonce));
$req_in_annonce =$connection->prepare( 'INSERT INTO in_annonce ('.str_replace(':','',$values_info).') VALUES('.$values_info.')' );
$req_in_annonce->execute($in_annonce);
$message = 'Upload réussi !';
}
else
{
// Sinon on affiche une erreur systeme
$message = 'Problème lors de l\'upload !';
}
}
else
{
$message = 'Une erreur interne a empêché l\'uplaod de l\'image';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message = 'Erreur dans les dimensions de l\'image !';
}
}
else
{
// Sinon erreur sur le type de l'image
$message = 'Le fichier à uploader n\'est pas une image !';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = 'L\'extension du fichier est incorrecte !';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message = 'Veuillez remplir le formulaire svp !';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Upload d'une image sur le serveur !</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
if( !empty($message) )
{
echo '<p>',"\n";
echo "\t\t<strong>", htmlspecialchars($message) ,"</strong>\n";
echo "\t</p>\n\n";
}
?>
<!-- Debut du formulaire -->
<form enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<fieldset>
<legend>Formulaire</legend>
<p>
<label for="fichier_a_uploader" title="Recherchez le fichier à uploader !">Envoyer le fichier :</label>
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo MAX_SIZE; ?>" />
<input type="hidden" name="id_gal" value="<?php echo $_SESSION['id_im']; ?>" readonly="readonly" />
<input name="fichier" type="file" id="fichier_a_uploader" />
<input type="submit" name="submit" value="Uploader" />
</p>
</fieldset>
</form>
<!-- Fin du formulaire -->
</body>
</html>
bonjour, j'ai repris une base de script trouver sur internet, j'ai rajouter une fonction épuration et code aléatoire.
mais j'ai une Erreur dont je trouve pas la solution
[quote]Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in C:\Program Files\EasyPHP-5.3.8.1\annonce5\tel_im.php on line 65[/quote]
quand j'ai cette extension d'un photo Maison_belle_lol_moi.jpg j'ai une erreur
[php]<?php
include_once("require/config1.php");
function epure($var)
{
$var=strtr($var,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËéèêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ","AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn");
$var=strtolower($var);
$var=str_replace("'","_",$var);
$var=str_replace("\"","_",$var);
$var=str_replace(" ","_",$var);
$var=str_replace("__","_",$var);
$var=str_replace("__","_",$var);
/* $var= @eregi_replace("[^a-z0-9\_\-\.]","",$var);*/
$var = preg_replace('/[^a-z0-9\_\-\.]+$/','',$var);
$var = rtrim($var,'_');
$var = ltrim($var,'_');
return $var;
}
// Génère un code aléatoire de 5 caractères pour charques images
function code_aleatoire()
{
$alphabet = 'abcdefghijklmnopqrstuvwxyz';
$alphabet .= '1234567890';
$chaine = '';
for($i=0;$i < 5;$i++)
{
$chaine .= substr($alphabet,rand()%(strlen($alphabet)),1);
}
return $chaine;
}
// Constantes
define('TARGET', '/image_annonce/'); // Repertoire cible
define('MAX_SIZE', 100000); // Taille max en octets du fichier
define('WIDTH_MAX', 800); // Largeur max de l'image en pixels
define('HEIGHT_MAX', 800); // Hauteur max de l'image en pixels
// Tableaux de donnees
$tabExt = array('jpg','gif','png','jpeg'); // Extensions autorisees
$infosImg = array();
// Variables
$extension = '';
$message = '';
$nomImage = '';
/************************************************************
* Creation du repertoire cible si inexistant
*************************************************************/
if( !is_dir(TARGET) ) {
if( !mkdir(TARGET, 0755) ) {
exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
}
}
/************************************************************
* Script d'upload
*************************************************************/
if(!empty($_POST))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo(epure($_FILES['fichier']['name']), PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = GetImageSize($_FILES['fichier']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier']['error'])
&& UPLOAD_ERR_OK === $_FILES['fichier']['error'])
{
// On renomme le fichier
$nomImage = code_aleatoire(uniqid()) .'.'. $extension;
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage))
{
$in_annonce=array(':id_gal'=> $idXX,
':gal'=> $nomImage,
':entre'=> date("Y-m-d"));
$values_info= join(', ',array_keys($in_annonce));
$req_in_annonce =$connection->prepare( 'INSERT INTO in_annonce ('.str_replace(':','',$values_info).') VALUES('.$values_info.')' );
$req_in_annonce->execute($in_annonce);
$message = 'Upload réussi !';
}
else
{
// Sinon on affiche une erreur systeme
$message = 'Problème lors de l\'upload !';
}
}
else
{
$message = 'Une erreur interne a empêché l\'uplaod de l\'image';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message = 'Erreur dans les dimensions de l\'image !';
}
}
else
{
// Sinon erreur sur le type de l'image
$message = 'Le fichier à uploader n\'est pas une image !';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = 'L\'extension du fichier est incorrecte !';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message = 'Veuillez remplir le formulaire svp !';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Upload d'une image sur le serveur !</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
if( !empty($message) )
{
echo '<p>',"\n";
echo "\t\t<strong>", htmlspecialchars($message) ,"</strong>\n";
echo "\t</p>\n\n";
}
?>
<!-- Debut du formulaire -->
<form enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<fieldset>
<legend>Formulaire</legend>
<p>
<label for="fichier_a_uploader" title="Recherchez le fichier à uploader !">Envoyer le fichier :</label>
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo MAX_SIZE; ?>" />
<input type="hidden" name="id_gal" value="<?php echo $_SESSION['id_im']; ?>" readonly="readonly" />
<input name="fichier" type="file" id="fichier_a_uploader" />
<input type="submit" name="submit" value="Uploader" />
</p>
</fieldset>
</form>
<!-- Fin du formulaire -->
</body>
</html>[/php]