Page 1 sur 1

besoins d'aide au sujet $mime_type

Posté : 04 janv. 2015, 21:53
par pacphil
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>

Re: besoins d'aide au sujet $mime_type

Posté : 05 janv. 2015, 01:20
par @rthur
Bonjour,

Qu'essayes-tu de faire exactement car je ne comprends pas ta question...
Qu'as-tu essayé et où bloques-tu ?

Re: besoins d'aide au sujet $mime_type

Posté : 05 janv. 2015, 13:10
par sirakawa
j'ai juste regardé le début:
<!-- Head plus classique
Purquoi ne pas mettre les styles dans un fichier externe ?
<html> 
<head>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
	<meta name='statut' content='final' />
	<meta name='description' content='Gestion des instances' />
	<link rel="stylesheet" type="text/css" href="../styles.css" media="screen" />
		
	<title></title>	

 </head>
-->
<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
/* tel que c'est écrit, s'il n'y a pas de session existante, le script continue avec une session vide
Il faudrait arrêter le script et prévenir : ca veut dire que ce script n'a pas été appelé par la méthode
prévue par toi. Or tu te sers des valeurs de session...

if(!isset($_SESSION))
{
	print "accès anormal";
	exit;
}
else
{
	extract ($_SESSION); //et tu as les variables du nom qu'elles ont dans le formulaire précédent
}
*/
if(!isset($_SESSION))
{
	session_start();
}