Rechercher : dans
Par :

Upload image php + ajout dans l'image GD

Dernière réponse le 14 jui 2008 à 10:49:55 Angels-Sunshine, le 8 mai 2008 à 19:12:13 
 Signaler ce message aux modérateurs

Bonjouuuuuur ! -Bonsoir-
J'ai un tit problème php, et ayant essayé de posté sur le sdz mais personne peut m'aider.
Donc voici mon script, comment il marche etc ...
J'ai index.php, je peux upload des fichiers vers /screen/ (Variable : $url = chemin de l'image et $nom_fichier = nom image)
J'ai traitement_screen.php où j'utilise $url pour ajouter logosdz.png a l'image uploader.
J'envoie des variables comme sous le shéma ci-desssous.
Iindex.php ==Upload de l'image ==========ENVOIE DES VARIABLES $url et $nom_fichier====>traitement_screen .php

Voici mes codes, respectivement index.php et traitement_screen.php
///////////////////////////
/// INDEX.PHP
///////////////////////////
<?php

$poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets)
$repertoire = 'screen/'; // Repertoire d'upload

if (isset($_FILES['fichier']))
{

// On vérifit le type du fichier
if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif')
{
$erreur = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .';
}

// On vérifit le poids de l'image
elseif ($_FILES['fichier']['size'] > $poids_max)
{
$erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
}

// On vérifit si le répertoire d'upload existe
elseif (!file_exists($repertoire))
{
$erreur = 'Erreur, le dossier d\'upload n\'existe pas.';
}

# // Si il y a une erreur on l'affiche sinon on peut uploader
if(isset($erreur))
{
echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>';
}
else
{

// On définit l'extention du fichier puis on le nomme par le timestamp actuel
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
$nom_fichier = time().$extention;


// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
{
$url = './'.$repertoire.''.$nom_fichier.'';
echo 'Votre image à été uploadée sur le serveur avec succes!<br>Voici le lien: <input type="text" value="' . $url . '" size="60"><br />
';
}
else
{
echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
}

}

}
else
{
?>
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $poids_max; ?>">
<input type="file" name="fichier">
<input type="submit" value="Envoyer">

</form>

<?php
}
?>


///////////////////////////
//// traitement_screen.php
/////////////////////////
<?php

// load variable $url
$url = $_GET['url'];
// On charge d'abord les images
$source = imagecreatefrompng("logosdz.png"); // Le logo est la source
$destination = imagecreatefromjpeg("$url"); // 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, 60);

// On affiche l'image de destination qui a été fusionnée avec le logo
imagejpeg($destination);
?>

////////////////////
voilà mes codes comme vous pouvez le voir ;)
Voici l'erreur :
Warning: imagecreatefromjpeg(screen1210156284.png) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in C:\wamp\www\screen\traitement_screen.php on line 7

Warning: imagesx(): supplied argument is not a valid Image resource in C:\wamp\www\screen\traitement_screen.php on line 12

Warning: imagesy(): supplied argument is not a valid Image resource in C:\wamp\www\screen\traitement_screen.php on line 13

Warning: imagecopymerge(): supplied argument is not a valid Image resource in C:\wamp\www\screen\traitement_screen.php on line 20

Warning: imagejpeg(): supplied argument is not a valid Image resource in C:\wamp\www\screen\traitement_screen.php on line 23

//// Ce code d'erreur vient si mon adresse est : http://localhost/screen/traitement_screen.php?url=screen1210156284.png
//// Si je déclare pas l'url dans ma barre de navigation, je n'ai pas Warning: imagecreatefromjpeg(screen1210156284.png) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in C:\wamp\www\screen\traitement_screen.php on line 7
resource in C:\wamp\www\screen\traitement_screen.php on line 23
////////////////////////
///////////////////////

Voilà Voilà :) Merci beaucoup d'avance.


Ps : J'ai wamp 5 en local. La libraire GD est activé ;) // Le topic sur le siteduzero : http://www.siteduzero.com/forum-83-272409-p1-probleme-d-upload.html

Configuration: Windows Vista
Firefox 2.0.0.14

Meilleures réponses pour « Upload image php + ajout dans l'image GD » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
Insérer une image dans un mail Gmail en cours de composition VoirVoici une excellente méthode pour insérer des images dans vos e-mails Gmail. Résultat garanti ! Vu que vous avez un compte Gmail (puisque vous vous posez cette question) vous avez nécessairement accès à Google Documents. C'est le même compte...
PHP - Génération d'images VoirPrérequis PHP permet de créer des images au format GIF à l'aide d'une librairie de fonctions prévue à cet effet. La librairie permettant de créer et manipuler des fichiers graphiques se nomme GD, ainsi, pour pouvoir utiliser ces fonctions il faut...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

karando, le 9 mai 2008 à 10:31:02

Salut donc moi j'ai fait :
http://localhost/traitement_screen.php?url=./screen/nomfichi­er.jpg

et dans ta page traitement_screen.php j'ai modifié :
$source = imagecreatefrompng("./screen/logosdz.png"); // Le logo est la source

Voila si cela a pu t'aider.

Karando.

Répondre à karando

2

Angels-Sunshine, le 9 mai 2008 à 17:25:41

Wouauuuuuuuuuuuu !! Gagné =D
Merci beaucoup de ton aide.

Pourrais tu me detailler mon erreur ? ;)
D'avance, merci.

Répondre à Angels-Sunshine

3

 matisse1, le 14 jui 2008 à 10:49:55
  • +1

Insert une image dans base de donnée mysql avec une langage php

Répondre à matisse1