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 :

Modifier, puis remplacer fichier en ligne


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 54
    Points
    54
    Par défaut Modifier, puis remplacer fichier en ligne
    Bonjour à tous,

    Mon problème est celui-ci:

    J'ai un grand nombre de photo en ligne... sur la majorité, j'ai placé un filigrane...
    Malheureusement, je me suis rendu compte que certaines n'ont pas ce filigrane...
    Alors, je voudrais créer un petit script qui me permettrait de modifier la photo, directement sur le serveur, en y ajoutant le filigrane...

    J'ai fait ceci sur base de différents script trouvé sur le net. Ca affiche ma photo avec le filigrane au centre, mais impossible de l'enregistrer sur le serveur, a la place de l'ancienne.

    J'ai bien essayé de placer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!imagejpeg($destination, $CheminComplet)){
    Mais cela ne marche pas non plus...

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
     
     
    //On definit l'endroit ou se situe l'image à modifier
    $CheminComplet	= "../../Photos/".$RepertoirePhoto."/".$NomDeFichier;
     
     
    list($width, $height, $type, $attr) = getimagesize($CheminComplet); 
    header("Content-type: image/png");
     
    $source = imagecreatefromgif("../../Pictures/Filigrane.gif"); 
    $destination = imagecreatefromjpeg($CheminComplet);
     
    $details_src = getimagesize("../../Pictures/Filigrane.gif"); 
     
    $y = imagesy($destination)-imagesy($source);
    $larg_cop=imagesx($source);
    $long_cop=imagesy($source); 
     
    $dimension = getimagesize($CheminComplet);
     
            $x=(($dimension[0]/2)-($larg_cop/2)); 
            $y=(($dimension[1]/2)-($long_cop/2)); 
     
    imagecopymerge($destination,$source, $x, $y, 0, 0, $larg_cop, $long_cop, 40); 
     
    if(!imagejpeg($destination)){
     
    	echo "Erreur";
    }
     
    imagedestroy($destination);
    imagedestroy($source);
     
    //On définit la page ou on renvoie après la modification
     
    header('Localhost: '.$PageToGo);
    Si quelqu'un pouvait guider un pauvre petit gars.... snif... A votre bon coeur m'sieur dame...

  2. #2
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    ton image source est un jpeg, tu mets un header avec png et ton filigrane est un gif...
    avec imagecopymerge() je ne crois pas que tu peux fusionner deux images de type différent...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    merci pour ta réponse...

    En effet, j'ai modifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Content-type: image/jpg");
    Mais la fusion du fichier jpg et gif fonctionne bel et bien, et aucun changement suite à cette modification...
    L'image fusionnée s'affiche bel et bien dans le navigateur, mais impossible de l'enregistrer sur le serveur à la place de l'image non fusionnée...

  4. #4
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    dans ce cas reste plus qu'a l'enregistrer dans le répertoire de destination :
    imagejpeg ( resource $image [, string $filename [, int $quality ]] )

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    ... et c'est évidement là que le bas blesse...

    Comme je l'ai mis plus haut, cela ne fonctionne pas...

    Si je ne met pas de destination, l'image s'affiche dans le navigateur...
    Si je place une destination, l'image n'apparait plus, mais ne s'enregistre pas non plus... Que je mette la qualité ou pas d'ailleurs...

    Vraiment, comme à chaque fois, il doit y avoir une poussière dans l'engrenage, mais à force d'avoir le nez dessus, je ne vois vraiment pas

  6. #6
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    et avec un nom différent dans le chemin complet, ça donne quoi ?
    je veux dire au moment de l'enregistrer...

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Essaies de mettre le chemin complet de destination par rapport au serveur avec
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $adresse_racine = (substr($_SERVER['DOCUMENT_ROOT'],-1) == '/')? $_SERVER['DOCUMENT_ROOT'] : $_SERVER['DOCUMENT_ROOT'].'/' ;
    $CheminComplet	= $adresse_racine."Photos/".$RepertoirePhoto."/".$NomDeFichier;

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 54
    Points
    54
    Par défaut
    Désolé pour le retard, mais un autre travail est venu me prendre tout mon temps... Je reviens donc sur le sujet, qui n'a pas avancé d'un chouilla!

    Bref, merci pour ta proposition ABCIWEB, mais ca non plus, ca ne marche pas...

    Je ne comprends pas d'ou peut venir le problème...

Discussions similaires

  1. modifier un champs d'un ligne selectionner dans une fichier texte
    Par darkman13130 dans le forum C++Builder
    Réponses: 8
    Dernier message: 26/06/2008, 12h00
  2. [FTP] modifier la source de ses fichiers en ligne
    Par Shadow Spy dans le forum Langage
    Réponses: 3
    Dernier message: 05/04/2008, 11h49
  3. Réponses: 4
    Dernier message: 26/07/2007, 11h35
  4. Réponses: 11
    Dernier message: 02/11/2006, 16h50
  5. Remplacer la 1° ligne d'un fichier
    Par orafrance dans le forum Linux
    Réponses: 5
    Dernier message: 09/09/2005, 14h51

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