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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[eZ Publish] Actionhandler upload image


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Par défaut [eZ Publish] Actionhandler upload image
    Bonjour,

    Pour mon site je cherche au travers d'un formulaire à modifier une image dans mon objet EZ.

    J'ai cherché un peu partout sur le net et je n'ai trouvé aucune piste.

    Par moi même ce que j'ai pu réaliser :
    - le html pour récupérer les information nécessaires

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="hidden" name="MAX_FILE_SIZE" value="{$obj.contentobject.data_map.image.contentclass_attribute.data_int1|mul( 1024, 1024 )}" />
    <input type="file" name="monImage" class="box ezcc-user ezcca-user_image" id="monImage">

    - Un actionHandler qui récupère les informations pour mon image

    Maintenant que mettre dans mon actionHandler ? J'ai les informations dans $_FILES['monImage'], mais comment les utiliser efficacement via EZ ? Je pourrais bêtement uploader mon image dans un dossier var/monsiteaccess/storage et remplir un peu les champs de mon attribut. mais je suppose qu'il existe des fonctions EZ qui vont faire tout ça à ma place. Je ne veux pas recréer une roue ovale alors que je suis persuader qu'il en existe une carré déjà prête à l'enploie.

    J'ai un cherché dans le kernel, j'ai regardé notamment ezimagetype.php mais les autres fichiers l'appelant sont tellement générique que je n'arrive pas à m'y retrouver.

    Si une bonne ame peut m'éclairer ou me donner un peu de code pour m'en sortir j'en serai ravi .

    Bon début de semaine (ou fin de week end pour les couche tard )

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Par défaut
    Personne n'a de piste pour l'upload d'image ?

  3. #3
    Membre émérite Avatar de sboyer
    Homme Profil pro
    Développeur PHP chez OpenWide
    Inscrit en
    Février 2010
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur PHP chez OpenWide
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 348
    Par défaut
    Salut,
    Normalement l'upload d'image est natif dans eZ, il est disponible du moment où tu ajoutes un attribut de type "image"...

    Pourquoi veux-tu en développer un ?

  4. #4
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Salut,

    Il existe des handlers spécialement prévu pour les analyses d'images. Tu pourrais à ta guise les étendre/ajouter (je suppose que tu sais ce que tu fais).

    Regardes dans image.ini > AnalyzerSettings tu peux l'ajouter sous forme d'une extension.

  5. #5
    Membre habitué
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Par défaut
    En fait je créer un actionHandler pour gérer la modification d'un objet EZ sur un formulaire.

    Par exemple pour un attribut de type "ligne de texte" je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Signature
    $signature = $http->postVariable( 'signature' );
    $signatureAtt = $dataMap['signature'];
    $signatureAtt->setAttribute('data_text', $signature);
    $signatureAtt->sync();

    Je ne trouve juste pas comment faire pour l'attribut image tout simplement (enregistrer l'image comme il se doit, puis l'ajouter à l'attribut).

    J'ai du passer à coté d'un truc tout con, j'en suis sur, mais je ne le trouve pas .

  6. #6
    Membre éprouvé
    Homme Profil pro
    VP Community
    Inscrit en
    Septembre 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : VP Community
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 63
    Par défaut Un exemple qui marche
    Hello,

    Il semblerait qu'il faille donner pour valeur le chemin complet vers le fichier image. Tu trouveras un exemple entre les lignes 295 et 311 ici :
    http://pubsvn.ez.no/doxygen/trunk/ht...hp_source.html

    (Solution donnée sur le fil suivant : http://share.ez.no/forums/developer/...bject-with-php )

    Cheers,

  7. #7
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Tu peux également tester ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $imageattribut =  $dataMap['image'];
    $imagecontentattribut = $imageattribut->attribute( 'content' );
    $imagecontentattribut->initializeFromFile( $cheminComplet, $altText );
    jeanvoye

  8. #8
    Membre habitué
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Par défaut
    Merci pour ces réponses ça donne une partie de la solution.

    je testerai ce soir mais il manque tout de même la fonction qui va me permettre de mettre l'image sur le serveur non ? Vos solutions partent du postulat que l'image est déjà dans le var de EZ si j'ai bien compris. Ce qui n'est pas le cas (c'est ce point qui me manque essentiellement).

  9. #9
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Citation Envoyé par titzizou Voir le message
    Merci pour ces réponses ça donne une partie de la solution.

    je testerai ce soir mais il manque tout de même la fonction qui va me permettre de mettre l'image sur le serveur non ? Vos solutions partent du postulat que l'image est déjà dans le var de EZ si j'ai bien compris. Ce qui n'est pas le cas (c'est ce point qui me manque essentiellement).
    $imagecontentattribut->initializeFromFile( $cheminComplet, $altText ); fait la copie pour toi, si tes images sont accessible sur le web tu peux également utiliser $imagecontentattribut->initializeFromHTTPFile( $cheminHTTPComplet, $altText );

  10. #10
    Membre habitué
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Par défaut
    J'avais un doute sur l'utilité de cette ligne de code ce matin, ne pouvant tester j'avais préféré préciser au cas ou.

    C'est donc parfait. Je test ça ce soir et je passerai ce thread en résolu .

    Merci bien !

  11. #11
    Membre habitué
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Par défaut
    Voici le code utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $avatar = $_FILES['avatar'];
    $cheminComplet = $avatar["tmp_name"];
     
    $imageattribut =  $dataMap['image'];
    $imagecontentattribut = $imageattribut->attribute( 'content' );		
     
    $imagecontentattribut->initializeFromFile( $cheminComplet, false, basename( $cheminComplet ) );
    $imagecontentattribut->store();
    Merci de votre aide

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

Discussions similaires

  1. [Upload] Upload images php
    Par lls dans le forum Langage
    Réponses: 15
    Dernier message: 19/07/2007, 18h23
  2. [Upload] Script upload images
    Par Myriamrv dans le forum Langage
    Réponses: 14
    Dernier message: 07/12/2005, 18h24
  3. [MySQL] pb upload image et update table
    Par digger dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 12/11/2005, 14h09
  4. Réponses: 1
    Dernier message: 31/10/2005, 09h33
  5. [Upload] Probleme upload images
    Par yveslens dans le forum Langage
    Réponses: 6
    Dernier message: 22/08/2005, 09h42

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