Bonjour,
Mon upload fonctionne très bien, sauf avec des fichiers en CMJN, les photos ne s'affiche pas !
Est-ce qu'il y a un moyen d'afficher les images qui ont ce format ?
Code : Tout sélectionner
<?php
$filePath = '/path/to/your/file.jpg';
$i = new Imagick($filePath);
$cs = $i->getImageColorspace();
if ($cs == Imagick::COLORSPACE_CMYK) {
print "Image is CMYK<br/>n";
?>
CMYK Image:<br/>
<img src="<?=$filePath ?>"/>
<br/><br/>
<?php
$i->setImageColorspace(Imagick::COLORSPACE_SRGB);
$i->setImageFormat('jpeg');
$cs = $i->getImageColorspace();
if ($cs != Imagick::COLORSPACE_CMYK) {
print "Image is no longer CMYK<br/>n";
// write it to a temp file
$filePath = '/path/to/temp/file.jpg';
$i->writeImage($filePath);
}
} else {
print "Image is not CMYK<br/>n";
}
if ($cs == Imagick::COLORSPACE_SRGB ||
$cs == Imagick::COLORSPACE_RGB){
print "Image is RGB<br/>n";
}
?>
RGB Image:<br/>
<img src="<?=$filePath ?>"/>
<?php
$i->clear();
$i->destroy();
$i = null;
?>
Un bon maître a ce souci constant : enseigner à se passer de lui.
<?php
// On commence par récupérer les champs
if(isset($_POST['pays'])) $id_pays=$_POST['pays'];
else $id_pays="";
if(isset($_POST['titre_image'])) $titre_image=$_POST['titre_image'];
else $titre_image="";
if(isset($_POST['ville'])) $ville=$_POST['ville'];
else $ville="";
if(isset($_POST['critere'])) $id_critere=$_POST['critere'];
else $id_critere="";
if(isset($_POST['auteur'])) $auteur=$_POST['auteur'];
else $auteur="";
if(isset($_POST['copyright'])) $copyright=$_POST['copyright'];
else $copyright="";
if(isset($_POST['site_web'])) $site_web=$_POST['site_web'];
else $site_web="";
#Enregistrement de la date et heure
$date = date("ymd");
$heure = date("His");
#Ajout de la date et l'heure au nom de fichier
$nom= $date."-".$heure;
echo '<div class="nbr_photo">';
echo "Référence de votre image : $nom";
echo '<br />';
if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = '../upload/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'png') && !strstr($type_file, 'gif') )
{
exit("L'extension de votre fichier n'est pas acceptée !");
}
$nom .= ".".pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
if( !move_uploaded_file($tmp_file, $content_dir . $nom) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo '<div class="nbr_photo">';
echo 'Votre fichier a été transféré avec succès';
echo '</div>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('vol',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql
$sql = "INSERT INTO photo (id_photo,id_pays,ville,image,titre_image,id_critere,auteur,copyright,site_web) VALUES ('".mysql_real_escape_string('')."','".mysql_real_escape_string($id_pays)."','".mysql_real_escape_string($ville)."','".mysql_real_escape_string($nom)."','".mysql_real_escape_string($titre_image)."','".mysql_real_escape_string($id_critere)."','".mysql_real_escape_string($auteur)."','".mysql_real_escape_string($copyright)."','".mysql_real_escape_string($site_web)."')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
mysql_close(); // on ferme la connexion
?>
Le code il faut l'insérer où ?Un fichier d'extension JPG ou JPEG peut être au format CMJN (ou CMYK pour les anglais).En web, on utilise les formats jpg, gif et png. Tout le reste aura de larges chances d'être considéré comme un fichier à télécharger.
Un bon maître a ce souci constant : enseigner à se passer de lui. if( !strstr($filePath, 'CMJN) )
{
exit("L'extension de votre fichier n'est pas acceptée !");
}
$nom .= ".".pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);
Ouaip, j'ai répondu un peu vite. Ca ne dépend que du colorspace.Un fichier d'extension JPG ou JPEG peut être au format CMJN (ou CMYK pour les anglais).En web, on utilise les formats jpg, gif et png. Tout le reste aura de larges chances d'être considéré comme un fichier à télécharger.