par
pacphil » 04 janv. 2015, 21:53
Bonjour beaucoup de personnes mon dis que cela n'était pas génial, je recherche une aide pour remplacer le $mime type svp mon script fonction super-bien mais j'aimerais l'améliorer merci d'avance de votre aide
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
.delelte {
background-image:url(design/corbeille.gif);
position:relative;
border:none;
width: 18px; /* largeur à spécifier */
height: 18px; /* longueur à spécifier */
cursor: pointer;
right:20px;
top:-5px;
}
</style>
</head>
<body>
<?PHP
if(!isset($_SESSION)){
session_start();
}
include_once("require/config1.php");
include_once("function.php");
$compteur = 1;
$requete_nombre_im = $connection->prepare('SELECT COUNT(*) idg FROM im_annonce WHERE id_gal=:id_gal');
if($requete_nombre_im->execute(array(':id_gal'=> $_SESSION['ref'])))
{
$compteur = $requete_nombre_im->fetchColumn();
}
if (isset($compteur) && $compteur <4){
?>
<fieldset>
<legend>Téléchargement de vos images</legend>
<form enctype='multipart/form-data' name='frmupload' action='' method='POST'>
<input type="hidden" name="MAX_FILE_SIZE" value="524288" />
<input name='filename' type='file'>
<input type='submit' value='Submit' name='submit'>
</form>
</fieldset>
<?PHP
}else{
$message = 'Vos 5 images son télécharger.' ;
}
// Génère un code aléatoire de 5 caractères pour charques images
$chaine= code_aleatoire();
function code_aleatoire()
{
$alphabet = 'abcdefghijklmnopqrstuvwxyz';
$alphabet .= '1234567890';
$chaine = '';
for($i=0;$i < 5;$i++)
{
$chaine.= substr($alphabet,rand()%(strlen($alphabet)),1);
}
return $chaine;
}
define('TARGET', './image_annonce/');
if(isset($_POST['submit'])){
if(is_uploaded_file($_FILES['filename']['tmp_name'])){
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 !');
}
}
$maxsize=$_POST['MAX_FILE_SIZE'];
$size=$_FILES['filename']['size'];
$imgdetails = getimagesize($_FILES['filename']['tmp_name']);
$mime_type = $imgdetails['mime'];
if(($mime_type=='image/jpeg')||($mime_type=='image/png')){
if($size<$maxsize){
$filename=$_FILES['filename']['name'];
// On renomme le fichier majuscule et minuscule
$filename = strtolower($filename);
//Insert le code aléatoire pour éviter les doublons
$filename = $chaine."_".$filename;
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['filename']['tmp_name'], TARGET.$filename)){
//Controle des doublons dans la base de donnée
$controle_im = $connection->prepare('SELECT gal FROM im_annonce WHERE gal=:gal');
$controle_im->execute(array('gal'=> $filename));
$nb_resultats_recherche_im=$controle_im->fetch();
/*si il n'y a pas de resultat*/
if(!$nb_resultats_recherche_im){
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$im_annonce=array(':id_gal'=> $_SESSION['ref'],
':gal'=> $filename);
$values_info= join(', ',array_keys($im_annonce));
$req_im_annonce =$connection->prepare( 'INSERT INTO im_annonce ('.str_replace(':','',$values_info).') VALUES('.$values_info.')' );
$req_im_annonce->execute($im_annonce);
}else{
$message ="L'image est en doublons veulliez renomé l'image!!";
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}else{
$message ="L'image à télécharger est trop grand .. Erreur Télécharger l'image!!";
}
}else{
$message ="Un fichier image valide! S'il vous plaît télécharger jpeg ou png.";
}
}else{
switch($_FILES['filename']['error']){
case 0:
$message ="Il y avait un problème avec votre téléchargement.";
break;
case 1:
$message = "Le fichier que vous essayez de télécharger est trop grand.";
break;
case 2:
$message = "Le fichier que vous essayez de télécharger est trop grand.";
break;
case 3:
$message ="Le fichier que vous essayez téléchargement a été que partiellement téléchargé.";
break;
case 4:
$message ="Vous devez sélectionner une image pour le téléchargement.";
break;
default:
$message ="Il y a un problème avec votre téléchargement.";
break;
}
}
}
if( !empty($message) )
{
echo '<p>',"\n";
echo "\t\t<strong><font style='color:#F00'>", htmlspecialchars($message) ,"</font></strong>\n";
echo "\t</p>\n\n";
}
echo'<p>';
///////////////////////////////////////////////////////////////////////////////////////////////////////////
if(!empty($_POST['DELETE_IM'])){
$photos = $connection->prepare('SELECT * FROM im_annonce WHERE idg=:idg');
$photos->execute(array('idg'=> $_POST['DELETE_IM']));
while($results = $photos->fetch(PDO::FETCH_OBJ))
$DEL = $results->gal;
if(@!unlink("image_annonce/".$DEL) || @!unlink("MINIimage_annonce/".$DEL));else{
$photo_im = $connection->prepare('DELETE FROM im_annonce WHERE gal=:gal');
$photo_im->execute(array('gal'=> $DEL));
$photo_im->execute();
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
$photo = $connection->prepare('SELECT * FROM im_annonce WHERE id_gal=:id_gal');
$photo->execute(array('id_gal'=> $_SESSION['ref'] ));
while($result = $photo->fetch(PDO::FETCH_OBJ))
// On test si la variable $result, au cas
// ou elle serait vide.
if($result){
vignette('image_annonce/'.$result->gal.'',100, 75);
echo'<FORM method="POST" action="'.$_SERVER['PHP_SELF'].'"><img src="MINIimage_annonce/'.$result->gal.'" alt="" border="0" />
<input type="hidden" name="DELETE_IM" value="'.$result->idg.'" />
<input type="submit" class="delelte" value=""/>
</FROM>';
}
// La requète n'a pas retournée de résultat
else {
header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/erreur.php.php");
die();
}
echo'</p>';
$connection=null;
?>
</body>
</html>
Bonjour beaucoup de personnes mon dis que cela n'était pas génial, je recherche une aide pour remplacer le $mime type svp mon script fonction super-bien mais j'aimerais l'améliorer merci d'avance de votre aide
[php]<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
.delelte {
background-image:url(design/corbeille.gif);
position:relative;
border:none;
width: 18px; /* largeur à spécifier */
height: 18px; /* longueur à spécifier */
cursor: pointer;
right:20px;
top:-5px;
}
</style>
</head>
<body>
<?PHP
if(!isset($_SESSION)){
session_start();
}
include_once("require/config1.php");
include_once("function.php");
$compteur = 1;
$requete_nombre_im = $connection->prepare('SELECT COUNT(*) idg FROM im_annonce WHERE id_gal=:id_gal');
if($requete_nombre_im->execute(array(':id_gal'=> $_SESSION['ref'])))
{
$compteur = $requete_nombre_im->fetchColumn();
}
if (isset($compteur) && $compteur <4){
?>
<fieldset>
<legend>Téléchargement de vos images</legend>
<form enctype='multipart/form-data' name='frmupload' action='' method='POST'>
<input type="hidden" name="MAX_FILE_SIZE" value="524288" />
<input name='filename' type='file'>
<input type='submit' value='Submit' name='submit'>
</form>
</fieldset>
<?PHP
}else{
$message = 'Vos 5 images son télécharger.' ;
}
// Génère un code aléatoire de 5 caractères pour charques images
$chaine= code_aleatoire();
function code_aleatoire()
{
$alphabet = 'abcdefghijklmnopqrstuvwxyz';
$alphabet .= '1234567890';
$chaine = '';
for($i=0;$i < 5;$i++)
{
$chaine.= substr($alphabet,rand()%(strlen($alphabet)),1);
}
return $chaine;
}
define('TARGET', './image_annonce/');
if(isset($_POST['submit'])){
if(is_uploaded_file($_FILES['filename']['tmp_name'])){
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 !');
}
}
$maxsize=$_POST['MAX_FILE_SIZE'];
$size=$_FILES['filename']['size'];
$imgdetails = getimagesize($_FILES['filename']['tmp_name']);
$mime_type = $imgdetails['mime'];
if(($mime_type=='image/jpeg')||($mime_type=='image/png')){
if($size<$maxsize){
$filename=$_FILES['filename']['name'];
// On renomme le fichier majuscule et minuscule
$filename = strtolower($filename);
//Insert le code aléatoire pour éviter les doublons
$filename = $chaine."_".$filename;
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['filename']['tmp_name'], TARGET.$filename)){
//Controle des doublons dans la base de donnée
$controle_im = $connection->prepare('SELECT gal FROM im_annonce WHERE gal=:gal');
$controle_im->execute(array('gal'=> $filename));
$nb_resultats_recherche_im=$controle_im->fetch();
/*si il n'y a pas de resultat*/
if(!$nb_resultats_recherche_im){
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$im_annonce=array(':id_gal'=> $_SESSION['ref'],
':gal'=> $filename);
$values_info= join(', ',array_keys($im_annonce));
$req_im_annonce =$connection->prepare( 'INSERT INTO im_annonce ('.str_replace(':','',$values_info).') VALUES('.$values_info.')' );
$req_im_annonce->execute($im_annonce);
}else{
$message ="L'image est en doublons veulliez renomé l'image!!";
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}else{
$message ="L'image à télécharger est trop grand .. Erreur Télécharger l'image!!";
}
}else{
$message ="Un fichier image valide! S'il vous plaît télécharger jpeg ou png.";
}
}else{
switch($_FILES['filename']['error']){
case 0:
$message ="Il y avait un problème avec votre téléchargement.";
break;
case 1:
$message = "Le fichier que vous essayez de télécharger est trop grand.";
break;
case 2:
$message = "Le fichier que vous essayez de télécharger est trop grand.";
break;
case 3:
$message ="Le fichier que vous essayez téléchargement a été que partiellement téléchargé.";
break;
case 4:
$message ="Vous devez sélectionner une image pour le téléchargement.";
break;
default:
$message ="Il y a un problème avec votre téléchargement.";
break;
}
}
}
if( !empty($message) )
{
echo '<p>',"\n";
echo "\t\t<strong><font style='color:#F00'>", htmlspecialchars($message) ,"</font></strong>\n";
echo "\t</p>\n\n";
}
echo'<p>';
///////////////////////////////////////////////////////////////////////////////////////////////////////////
if(!empty($_POST['DELETE_IM'])){
$photos = $connection->prepare('SELECT * FROM im_annonce WHERE idg=:idg');
$photos->execute(array('idg'=> $_POST['DELETE_IM']));
while($results = $photos->fetch(PDO::FETCH_OBJ))
$DEL = $results->gal;
if(@!unlink("image_annonce/".$DEL) || @!unlink("MINIimage_annonce/".$DEL));else{
$photo_im = $connection->prepare('DELETE FROM im_annonce WHERE gal=:gal');
$photo_im->execute(array('gal'=> $DEL));
$photo_im->execute();
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
$photo = $connection->prepare('SELECT * FROM im_annonce WHERE id_gal=:id_gal');
$photo->execute(array('id_gal'=> $_SESSION['ref'] ));
while($result = $photo->fetch(PDO::FETCH_OBJ))
// On test si la variable $result, au cas
// ou elle serait vide.
if($result){
vignette('image_annonce/'.$result->gal.'',100, 75);
echo'<FORM method="POST" action="'.$_SERVER['PHP_SELF'].'"><img src="MINIimage_annonce/'.$result->gal.'" alt="" border="0" />
<input type="hidden" name="DELETE_IM" value="'.$result->idg.'" />
<input type="submit" class="delelte" value=""/>
</FROM>';
}
// La requète n'a pas retournée de résultat
else {
header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/erreur.php.php");
die();
}
echo'</p>';
$connection=null;
?>
</body>
</html>[/php]