Upload de photo sur son site
Fermé
audi68
Messages postés
571
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
5 août 2015
-
16 août 2009 à 22:07
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 - 18 août 2009 à 19:16
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 - 18 août 2009 à 19:16
A voir également:
- Upload de photo sur son site
- Site de telechargement - Accueil - Outils
- Site comme coco - Accueil - Réseaux sociaux
- Photo aérienne de ma maison - Guide
- Site de vente en ligne particulier - Guide
- Site partage photo - Guide
11 réponses
niconovice
Messages postés
954
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
3 mars 2014
86
16 août 2009 à 22:16
16 août 2009 à 22:16
tiens j'ai ça pour toi, ça vient du site du zero ça marche nickel mais désolé j'ai pas retrouvé la page en question ^^
<?php
$source = imagecreatefromjpeg("couchersoleil.jpg"); // La photo est la source
$destination = imagecreatetruecolor(200, 150); // On crée la miniature vide
// 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 crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
// On enregistre la miniature sous le nom "mini_couchersoleil.jpg"
imagejpeg($destination, 'mini_couchersoleil.jpg');
?>
<img src="mini_couchersoleil.jpg" alt="Coucher de soleil" />
<?php
$source = imagecreatefromjpeg("couchersoleil.jpg"); // La photo est la source
$destination = imagecreatetruecolor(200, 150); // On crée la miniature vide
// 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 crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
// On enregistre la miniature sous le nom "mini_couchersoleil.jpg"
imagejpeg($destination, 'mini_couchersoleil.jpg');
?>
<img src="mini_couchersoleil.jpg" alt="Coucher de soleil" />
audi68
Messages postés
571
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
5 août 2015
9
16 août 2009 à 22:25
16 août 2009 à 22:25
meri pour ta reponse aussi rapide je vais tester
mais j ai un petit souci avec le dossier ou ca l enregistre
quel nom dois je donner au dossier?
merci pour ton aide
mais j ai un petit souci avec le dossier ou ca l enregistre
quel nom dois je donner au dossier?
merci pour ton aide
niconovice
Messages postés
954
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
3 mars 2014
86
16 août 2009 à 22:28
16 août 2009 à 22:28
celui que tu veux mais en un mot c'est mieux =)
audi68
Messages postés
571
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
5 août 2015
9
16 août 2009 à 22:40
16 août 2009 à 22:40
ok
donc imagejpeg($destination, 'mini_couchersoleil.jpg');
avant destionation je met par exemple images
ce qui donne
imagejpeg(images/$destination, 'mini_couchersoleil.jpg');
donc imagejpeg($destination, 'mini_couchersoleil.jpg');
avant destionation je met par exemple images
ce qui donne
imagejpeg(images/$destination, 'mini_couchersoleil.jpg');
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
niconovice
Messages postés
954
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
3 mars 2014
86
16 août 2009 à 22:45
16 août 2009 à 22:45
evites "images j'ai cru voir que tu avais dejà un dossier de ce nom, essaye plutot quelque chose comme "PhotosRedim"
audi68
Messages postés
571
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
5 août 2015
9
16 août 2009 à 22:48
16 août 2009 à 22:48
ok alors je mai PhotosRedima la place de images
je vai tester
je vai tester
niconovice
Messages postés
954
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
3 mars 2014
86
16 août 2009 à 22:54
16 août 2009 à 22:54
j'ai essayé tout à l'heure et ça marchait impec, le seul hic est qu'il faut renommer à chaque fois ^^ et ça c'est pas terrible, je suis à moitié en train de chercher comment faire ça de manière plus vaste comme télécharger une centaine de photos direct, mais c'est pas du tout au point parce que je suis sur autre chose en même temps ^^
ha j'oubliais, si le code ne fonctionne pas, c'est peut être que ton hébergeur à désactiver la fonction (apparemment très gourmandes en ressources).
voilà espérons que ça marche nickel pour toi =)
ha j'oubliais, si le code ne fonctionne pas, c'est peut être que ton hébergeur à désactiver la fonction (apparemment très gourmandes en ressources).
voilà espérons que ça marche nickel pour toi =)
audi68
Messages postés
571
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
5 août 2015
9
16 août 2009 à 22:58
16 août 2009 à 22:58
non justement ca ne fonctionne pas
Je suis chez Ovh
Il me donne ca comme erreur
Warning: imagecreatefromjpeg(finish.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /homez.232/../www/admin/insert.php on line 39
Warning: imagesx(): supplied argument is not a valid Image resource in /homez.232/.../www/admin/insert.php on line 43
Warning: imagesy(): supplied argument is not a valid Image resource in /homez.232/.../www/admin/insert.php on line 44
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /homez.232/.../www/admin/insert.php on line 49
Warning: imagejpeg(): supplied argument is not a valid Image resource in /homez.232/..../www/admin/insert.php on line 52
Je suis chez Ovh
Il me donne ca comme erreur
Warning: imagecreatefromjpeg(finish.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /homez.232/../www/admin/insert.php on line 39
Warning: imagesx(): supplied argument is not a valid Image resource in /homez.232/.../www/admin/insert.php on line 43
Warning: imagesy(): supplied argument is not a valid Image resource in /homez.232/.../www/admin/insert.php on line 44
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /homez.232/.../www/admin/insert.php on line 49
Warning: imagejpeg(): supplied argument is not a valid Image resource in /homez.232/..../www/admin/insert.php on line 52
niconovice
Messages postés
954
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
3 mars 2014
86
16 août 2009 à 22:59
16 août 2009 à 22:59
Perso le code tel que je l'ai testé tout à l'heure avec wamp, marchait impec et quand à l'hebergeur t'es au top là ;)
audi68
Messages postés
571
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
5 août 2015
9
16 août 2009 à 23:18
16 août 2009 à 23:18
ok je vais regarder ca de plus pres deamon
merci pour ton aide a++
merci pour ton aide a++
audi68
Messages postés
571
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
5 août 2015
9
18 août 2009 à 19:16
18 août 2009 à 19:16
J ai un peu bidouiller et j ai reussi a ca
<?php
function rewrite($c)
{
$c = strtr($c,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$c = preg_replace('`([^[:alnum:]]+)`', '_', $c);
return strtolower($c);
}
if( !empty($_FILES['photo']) )
{
$extensionValide = array( 'jpg' , 'jpeg' , 'gif' , 'png' , 'bmp' );
$maxSize = 2097152;
$dirUpload = './upload/';
$nbImg = count($_FILES['photo']['name']);
$arrImg = array(); // Sert à stocker les infos que l'on veut garder des images et les messages
// Vérification des images et upload si ok
for( $i=0; $i<$nbImg; $i++ )
{
if( !empty($_FILES['photo']['name'][$i]) ) // && is_uploaded_file($_FILES['photo']['name'][$i]) )
{
// Traitement des erreurs
if( !$_FILES['photo']['error'][$i] )
$arrImg[$i]['upload'] = true;
else
{
$arrImg[$i]['upload'] = false;
if( $_FILES['photo']['error'][$i] == 1 )
$arrImg[$i]['message'] = 'L\'image ' . $_FILES['photo']['name'][$i] . ' excède la taille maximale autorisée qui est de ' . floor(2097152/1024) . ' ko';
else
$arrImg[$i]['message'] = 'L\'image ' . $_FILES['photo']['name'][$i] . ' n\'a pu être transférée sur le serveur';
}
// Vérification des extensions
if( $arrImg[$i]['upload'] && !array($ext = strtolower(pathinfo($_FILES['photo']['name'][$i], PATHINFO_EXTENSION)), $extensionValide) )
{
$arrImg[$i]['upload'] = false;
$arrImg[$i]['message'] = 'L\'extension de l\'image ' . $_FILES['photo']['name'][$i] . ' n\'est pas de type autorisé';
}
elseif( $arrImg[$i]['upload'] )
{
$arrImg[$i]['ext'] = $ext;
$arrImg[$i]['nom'] = rewrite(substr($_FILES['photo']['name'][$i], 0, -(strlen($ext)+1)));
}
// Vérification du mime
if( $arrImg[$i]['upload'] && !($mime = @getimagesize($_FILES['photo']['tmp_name'][$i])) )
{
$arrImg[$i]['upload'] = false;
$arrImg[$i]['message'] = 'Le fichier ' . $_FILES['photo']['name'][$i] . ' n\'est pas une image';
}
// Vérification de la taille
if( $arrImg[$i]['upload'] && filesize($_FILES['photo']['tmp_name'][$i]) > $maxSize )
{
$arrImg[$i]['upload'] = false;
$arrImg[$i]['message'] = 'L\'image ' . $_FILES['photo']['name'][$i] . ' dépasse ' . floor(2097152/1024) . 'ko';
}
//
// Creation d'un identifiant
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($f=0;$f<$taille;$f++)
{
$id.=substr($lettres,(rand()%(strlen($lettres))),1);
}
//
// Upload si tout est ok
if( $arrImg[$i]['upload'] )
{
$upload = move_uploaded_file($_FILES['photo']['tmp_name'][$i], $dirUpload . uniqid(rand()) . $arrImg[$i]['nom'] . '.' . $arrImg[$i]['ext']);
//
mysql_connect ('mysd', 'ddd', ddd);
mysql_select_db ('gdddddt');
mysql_query('INSERT INTO dddd (id, photo, url) VALUES ( "'.$id.'", "'.$_FILES['photo']['name'][$i].'", "'.$dirUpload.uniqid(rand()).$arrImg[$i]['nom'].'.'.$arrImg[$i]['ext'].'")');
//
if( $upload )
$arrImg[$i]['message'] = 'L\'image ' . $_FILES['photo']['name'][$i] . ' a été transférée avec succès';
else
$arrImg[$i]['message'] = 'Un problème est survenu dans la tentative de transfert de l\'image ' . $_FILES['photo']['name'][$i];
}
}
}
// Résultat de l'upload
echo "<h2>Résultat du transfert</h2>\n";
echo "<ul>\n";
if( !empty($arrImg) )
{
foreach( $arrImg as $k => $arr )
echo '<li>' . htmlspecialchars($arrImg[$k]['message']) . "</li>\n";
}
else
echo "<li>Aucune image n'a été envoyée</li>";
echo "</ul>\n";
}
else
{
?>
<form name="form1" enctype="multipart/form-data" method="post" action="">
<input type="hidden" name="MAX_FILE_SIZE" value="2097152" />
<label>
<input name="photo[]" type="file" id="photo1">
</label>
<p>
<label>
<input name="photo[]" type="file" id="photo2">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo3">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo4">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo5">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo6">
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="Envoyer">
</label>
</p>
</form>
<?php
}
?>
</body>
</html>
J aimerais rajouter plusieurs photos dans une base de donnée ce qui vas mais sont a chaque fois creer dans une nouve ligne
J aimerais que dans mon tableau il y a photos 1 puis photos2 ......
Quelq un a une idee?
merci de votre aide
<?php
function rewrite($c)
{
$c = strtr($c,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$c = preg_replace('`([^[:alnum:]]+)`', '_', $c);
return strtolower($c);
}
if( !empty($_FILES['photo']) )
{
$extensionValide = array( 'jpg' , 'jpeg' , 'gif' , 'png' , 'bmp' );
$maxSize = 2097152;
$dirUpload = './upload/';
$nbImg = count($_FILES['photo']['name']);
$arrImg = array(); // Sert à stocker les infos que l'on veut garder des images et les messages
// Vérification des images et upload si ok
for( $i=0; $i<$nbImg; $i++ )
{
if( !empty($_FILES['photo']['name'][$i]) ) // && is_uploaded_file($_FILES['photo']['name'][$i]) )
{
// Traitement des erreurs
if( !$_FILES['photo']['error'][$i] )
$arrImg[$i]['upload'] = true;
else
{
$arrImg[$i]['upload'] = false;
if( $_FILES['photo']['error'][$i] == 1 )
$arrImg[$i]['message'] = 'L\'image ' . $_FILES['photo']['name'][$i] . ' excède la taille maximale autorisée qui est de ' . floor(2097152/1024) . ' ko';
else
$arrImg[$i]['message'] = 'L\'image ' . $_FILES['photo']['name'][$i] . ' n\'a pu être transférée sur le serveur';
}
// Vérification des extensions
if( $arrImg[$i]['upload'] && !array($ext = strtolower(pathinfo($_FILES['photo']['name'][$i], PATHINFO_EXTENSION)), $extensionValide) )
{
$arrImg[$i]['upload'] = false;
$arrImg[$i]['message'] = 'L\'extension de l\'image ' . $_FILES['photo']['name'][$i] . ' n\'est pas de type autorisé';
}
elseif( $arrImg[$i]['upload'] )
{
$arrImg[$i]['ext'] = $ext;
$arrImg[$i]['nom'] = rewrite(substr($_FILES['photo']['name'][$i], 0, -(strlen($ext)+1)));
}
// Vérification du mime
if( $arrImg[$i]['upload'] && !($mime = @getimagesize($_FILES['photo']['tmp_name'][$i])) )
{
$arrImg[$i]['upload'] = false;
$arrImg[$i]['message'] = 'Le fichier ' . $_FILES['photo']['name'][$i] . ' n\'est pas une image';
}
// Vérification de la taille
if( $arrImg[$i]['upload'] && filesize($_FILES['photo']['tmp_name'][$i]) > $maxSize )
{
$arrImg[$i]['upload'] = false;
$arrImg[$i]['message'] = 'L\'image ' . $_FILES['photo']['name'][$i] . ' dépasse ' . floor(2097152/1024) . 'ko';
}
//
// Creation d'un identifiant
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($f=0;$f<$taille;$f++)
{
$id.=substr($lettres,(rand()%(strlen($lettres))),1);
}
//
// Upload si tout est ok
if( $arrImg[$i]['upload'] )
{
$upload = move_uploaded_file($_FILES['photo']['tmp_name'][$i], $dirUpload . uniqid(rand()) . $arrImg[$i]['nom'] . '.' . $arrImg[$i]['ext']);
//
mysql_connect ('mysd', 'ddd', ddd);
mysql_select_db ('gdddddt');
mysql_query('INSERT INTO dddd (id, photo, url) VALUES ( "'.$id.'", "'.$_FILES['photo']['name'][$i].'", "'.$dirUpload.uniqid(rand()).$arrImg[$i]['nom'].'.'.$arrImg[$i]['ext'].'")');
//
if( $upload )
$arrImg[$i]['message'] = 'L\'image ' . $_FILES['photo']['name'][$i] . ' a été transférée avec succès';
else
$arrImg[$i]['message'] = 'Un problème est survenu dans la tentative de transfert de l\'image ' . $_FILES['photo']['name'][$i];
}
}
}
// Résultat de l'upload
echo "<h2>Résultat du transfert</h2>\n";
echo "<ul>\n";
if( !empty($arrImg) )
{
foreach( $arrImg as $k => $arr )
echo '<li>' . htmlspecialchars($arrImg[$k]['message']) . "</li>\n";
}
else
echo "<li>Aucune image n'a été envoyée</li>";
echo "</ul>\n";
}
else
{
?>
<form name="form1" enctype="multipart/form-data" method="post" action="">
<input type="hidden" name="MAX_FILE_SIZE" value="2097152" />
<label>
<input name="photo[]" type="file" id="photo1">
</label>
<p>
<label>
<input name="photo[]" type="file" id="photo2">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo3">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo4">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo5">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo6">
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="Envoyer">
</label>
</p>
</form>
<?php
}
?>
</body>
</html>
J aimerais rajouter plusieurs photos dans une base de donnée ce qui vas mais sont a chaque fois creer dans une nouve ligne
J aimerais que dans mon tableau il y a photos 1 puis photos2 ......
Quelq un a une idee?
merci de votre aide