Posez votre question Signaler

Upload image php + ajout dans l'image GD [Résolu]

Angels-Sunshine - Dernière réponse le 5 mars 2012 à 15:23
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
Lire la suite 

Upload image php + ajout dans l'image GD »

4 réponses
Réponse
+3
moins plus
Salut donc moi j'ai fait :
http://localhost/traitement_screen.php?url=./screen/nomfichier.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.
sios - 26 avril 2010 à 18:18
tres bien j'espere que je te connais de plus ton ami firas
Ajouter un commentaire
Réponse
+1
moins plus
Salut, je pense que ce petit tuto devrait répondre à ton problème !

http://webinfobazar.com/upload-dune-image-sur-un-ftp-php-sql/

j'en ai d'autre de prévu, si vous avez des questions, n'hésitez pas ! ;)

Cordialement, Scienti
Ajouter un commentaire
Réponse
+0
moins plus
Wouauuuuuuuuuuuu !! Gagné =D
Merci beaucoup de ton aide.

Pourrais tu me detailler mon erreur ? ;)
D'avance, merci.
Ajouter un commentaire
Ce document intitulé « Upload image php + ajout dans l'image GD » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?