no save
Assistance
Achat
News

Forum | webmastering
Upload image php + ajout dans l'image GD
Angels-Sunshine, le jeu. 08 mai 2008 à 19:12:13
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.htmlConfiguration: Windows Vista
Firefox 2.0.0.14


karando
mai 08
Suivant
REPONSES
karando
mai 08
Angels-Sunshine
mai 08
matisse1
juil. 08
Version Web
Réalisé par RedShift
no save