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 :

imagecopyresampled() expects parameter 1 to be resource, string given


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut imagecopyresampled() expects parameter 1 to be resource, string given
    Bonjour

    je n'écris pas souvent sur les forums car je trouve d'habitude les solutions mais cette fois incapable de trouver une solution a mon problème.

    J'ai un script qui lit tous les images d'un répertoire et j'essaie d'en faire une copie dans un autre répertoire.

    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
     
    $Pourcent = 0.1;
    $dossier = '../../images/joueurs/photos/';
    $dossierMini = '../../images/joueurs/photos/mini/';
     
     
     
    if ($handle = opendir('../../images/joueurs/photos')) {
        while (false !== ($Source = readdir($handle))) {
            if ($Source != "." && $Source != "..") {				
    				$Imagesource = $dossier . $Source;
    				$destination = $dossierMini . $Source;
    				list($Largeur, $Hauteur) = getimagesize($Imagesource);
    				$LargeurNew = $Largeur * $Pourcent;
    				$HauteurNew = $Hauteur * $Pourcent;
     
    				imagecreatetruecolor($Largeur, $Hauteur);
    				$Imagesource = imagecreatefrompng ($Imagesource);
    				imagecopyresampled ($destination, $Imagesource, 0, 0, 0, 0, $LargeurNew, $HauteurNew, $Largeur, $Hauteur);
     
            }
        }
        closedir($handle);
    }
    tous fonctionne a part la fonction imagecopyresampled.

    Avez vous une solutions ?

    Ema

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le premier argument de imagecopyresampled() c'est une ressource image, pas un chemin.
    http://php.net/manual/fr/function.im...yresampled.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Si je comprend bien

    Le fait d'utilisé la fonction imagecopyresampled permet de copier une image a partir d'une autre images et la nouvelle image se retrouve dans le meme répertoire que la photo source ?

    ai-je bien compris ?

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Solution
    Je crois que j'ai fini par comprendre

    Mon erreur était de pensé que la fonction imagecopyresampled était pour créer une image. Cette fonction ne fait que créer un objet image en mémoire avec les spécificité voulus. Aussitot ceci compris j'ai pus corrigé mon code pour qu'il puisse faire ce que je voulais.

    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
     
     
    $Pourcent = 0.1;
    $dossier = '../../images/joueurs/photos/';
    $dossierMini = '../../images/joueurs/photos/mini/';
     
    if ($handle = opendir('../../images/joueurs/photos')) {
        while (false !== ($Source = readdir($handle))) {
            if ($Source != "." && $Source != "..") {				
     
    				// Trouver l'image
    				$Imagesource = $dossier . $Source;
     
    				//Trouver les information de l'image 
    				list($Largeur, $Hauteur) = getimagesize($Imagesource);
    				$LargeurNew = $Largeur * $Pourcent;
    				$HauteurNew = $Hauteur * $Pourcent;
    				$Imagesource2 = imagecreatefrompng ($Imagesource);
     
    				// Creer la nouvelle image 
    				$new = imagecreatetruecolor($Largeur, $Hauteur);
     
    				// redimentionné l'image 
    				imagecopyresampled ($new, $Imagesource2, 0, 0, 0, 0, $LargeurNew, $HauteurNew, $Largeur, $Hauteur);
     
    				// copier l'image dans la nouvelle destination
    				$destination = $dossierMini . $Source;
    				imagepng($new, $destination);           
            }
        }
     
        closedir($handle);
    }
    Et voila ca fonctionne parfaitement

Discussions similaires

  1. [MySQL] mysql_fetch_array() expects parameter 1 to be resource, boolean given in
    Par kader53 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/09/2015, 17h44
  2. [MySQL] Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in
    Par Sarah sh dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/12/2013, 18h12
  3. Réponses: 5
    Dernier message: 14/12/2011, 07h38
  4. Réponses: 4
    Dernier message: 12/04/2010, 22h14

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