IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

enregistrement d'une image copyrightée


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut enregistrement d'une image copyrightée
    Bonjour a tous.

    Voici mon soucis

    Je cree une image avec copyright comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    header ("Content-type: image/jpeg"); // L'image que l'on va cr�er est un jpeg
    //On recupere le nom de la photo demand�
    $imgAtraiter=$id_post=$_GET['image'];
    // On charge les images
    $source = imagecreatefrompng("tag7.png"); // Le logo est la source
    $destination = imagecreatefromjpeg($imgAtraiter); // La photo est la destination
     
    // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
    $largeur_source = imagesx($source);
    $hauteur_source = imagesy($source);
    $largeur_destination = imagesx($destination);
    $hauteur_destination = imagesy($destination);
     
    // On veut placer le logo en bas � droite, on calcule les coordonn�es o� on doit placer le logo sur la photo
    $destination_x = $largeur_destination - $largeur_source;
    $destination_y =  $hauteur_destination - $hauteur_source;
     
    // On met le logo (source) dans l'image de destination (la photo)
    imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 40);
     
    // On affiche l'image de destination qui a �t� fusionn�e avec le logo
    imagejpeg($destination);
    //<img src="copyrighter.php?image=piaf.jpg" hight=600px width=600px/>
    jusqu'a la pas de soucis.

    Mon probleme est que maintenant j'aimerais rendre possible de telecharger cette photo avec le copyright mais la sa plante.
    Je suis partis du principe que je ne pouvait peut etre pas uploader un fichier qui n'existe qu'a l'affichage (pas sur de moi sur ce coup la malgré tout.)
    Du coup je voudrais savoir si quelqun savait si on pouvait enregistrer cette image generé sur le disque le temps de l'upload sous forme .jpg et si oui comment.

    Merci d'avance

  2. #2
    Membre très actif
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Par défaut
    Salut,

    La fonction que tu utilises déjà, il lui faut le deuxième paramètre :

    http://php.net/manual/fr/function.imagejpeg.php

    En gros, le lien où tu l'enregistres ;-)

  3. #3
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Sais tu si il y a un moyen de télécharger l'image généré de cette façon sans l'enregistrer sur sur le serveur?
    Le but étant de faire le copyright sans toucher en fait a l'image d'origine tout en permettant le DL de l'image avec le copyright.

  4. #4
    Membre très actif
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Par défaut
    Avec un header pour télécharger l'image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $fichier = file_get_contents($lien_jpg);
    header('Content-Disposition: attachment; filename="'.$fichier.'"');
    ça passe un truc dans ce genre ?

  5. #5
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Au debut j'esperais le faire comme sa:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <?php
     
     $img = $_GET["photo"];
    //Cr�ation des headers, pour indiquer au navigateur qu'il s'agit d'un fichier a telecharger
      header('Content-Transfer-Encoding: binary'); //Transfert en binaire (fichier)
      header('Content-Disposition: attachment; filename="'.$img.'"'); //Nom du fichier
      //header('Content-Length: '.$bdd_infos['up_filesize']); //Taille du fichier
     
    //Envoi du fichier dont le chemin est pass� en param�tre
      //readfile("../container_uplad/".$img);
     
      readfile("../copyrighter.php?image=container_uplad/".$img);
     
    ?>
    Mais évidement comme sa sa me télécharge un fichier vide sniff.

  6. #6
    Membre très actif
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Par défaut
    Il te faut deux fichiers :

    - un qui génére le .jpg (donc avec un header pour afficher une image)
    - l'autre qui va télécharger cette image

    Dans ton fichier de téléchargement tu fais :


    $fichier = file_get_contents('mon_image.php');
    header('Content-Disposition: attachment; filename="'.$fichier.'"');

    Et logiquement ton image se téléchargera.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme d'enregistrement d'une image
    Par mimane_01 dans le forum MATLAB
    Réponses: 3
    Dernier message: 01/04/2007, 22h49
  2. Enregistrement d'une image avec Firefox
    Par Eusebius dans le forum Applications et environnements graphiques
    Réponses: 9
    Dernier message: 05/07/2006, 11h22
  3. [VB.NET]Enregistrement d'une image
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/06/2006, 08h03
  4. Empêcher l'enregistrement d'une image
    Par Patrick Seuret dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 23/09/2005, 19h13
  5. Enregistrement d'une image sur le serveur
    Par MHI dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2005, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo