Uploder des photos
audi68
Messages postés
626
Statut
Membre
-
audi68 Messages postés 626 Statut Membre -
audi68 Messages postés 626 Statut Membre -
Bonjour,
J aimerais rajouter des photos sur mon serveur grace a la partie admin
J arrive a les charger et les renomer
Puis je veux less inserer dans la base mysql et ca va aussi
Le probleme est qu il me met a chaque fois le nom de la photo suivante dans la ligne suivante
Moi j aimerais arriver a un tableau du genre id photo1 url1 photo2 url2 et ainsi de suite
Est ce que cela est possible?
Voici mon code
<?php
session_start();
if (!isset($_SESSION['email'])) {
header ('Location: index.php');
exit();
}
// On récupère le contenu de $_GET dans l'adresse, soit ce qu'il y a après page.php?id=
$idd=$_GET['id'];
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
//
$num =$dirUpload . uniqid(rand()) . $arrImg[$i]['nom'] . '.' . $arrImg[$i]['ext'];
// Upload si tout est ok
if( $arrImg[$i]['upload'] )
{
$upload = move_uploaded_file($_FILES['photo']['tmp_name'][$i], $num );
//
mysql_connect ( );
mysql_select_db (' ');
mysql_query('INSERT INTO photos2 (idd, photo, url) VALUES ( "'.$idd.'", "'.$_FILES['photo']['name'][$i].'", "'.$num.'" )');
//
//
$file = ''.$num.''; # L'emplacement de l'image à redimensionner. L'image peut être de type jpeg, gif ou png
$x = 125;
$y = 75; # Taille en pixel de l'image redimensionnée
$size = getimagesize($file);
if ( $size) {
echo 'Image en cours de redimensionnement...
';
if ($size['mime']=='image/jpeg' ) {
$img_big = imagecreatefromjpeg($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagejpeg($img_mini,$file );
}
elseif ($size['mime']=='image/png' ) {
$img_big = imagecreatefrompng($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagepng($img_mini,$file );
}
elseif ($size['mime']=='image/gif' ) {
$img_big = imagecreatefromgif($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagegif($img_mini,$file );
}
echo 'Image redimensionnée !
'; ///
}
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 name="photo[]" type="file" id="photo7">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo8">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo9">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo10">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo11">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo12">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo13">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo14">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo15">
</label>
</p> <p>
<label>
<input name="photo[]" type="file" id="photo16">
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="Envoyer">
</label>
</p>
</form>
<?php
}
?>
</body>
</html>
merci de votre aide
J aimerais rajouter des photos sur mon serveur grace a la partie admin
J arrive a les charger et les renomer
Puis je veux less inserer dans la base mysql et ca va aussi
Le probleme est qu il me met a chaque fois le nom de la photo suivante dans la ligne suivante
Moi j aimerais arriver a un tableau du genre id photo1 url1 photo2 url2 et ainsi de suite
Est ce que cela est possible?
Voici mon code
<?php
session_start();
if (!isset($_SESSION['email'])) {
header ('Location: index.php');
exit();
}
// On récupère le contenu de $_GET dans l'adresse, soit ce qu'il y a après page.php?id=
$idd=$_GET['id'];
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
//
$num =$dirUpload . uniqid(rand()) . $arrImg[$i]['nom'] . '.' . $arrImg[$i]['ext'];
// Upload si tout est ok
if( $arrImg[$i]['upload'] )
{
$upload = move_uploaded_file($_FILES['photo']['tmp_name'][$i], $num );
//
mysql_connect ( );
mysql_select_db (' ');
mysql_query('INSERT INTO photos2 (idd, photo, url) VALUES ( "'.$idd.'", "'.$_FILES['photo']['name'][$i].'", "'.$num.'" )');
//
//
$file = ''.$num.''; # L'emplacement de l'image à redimensionner. L'image peut être de type jpeg, gif ou png
$x = 125;
$y = 75; # Taille en pixel de l'image redimensionnée
$size = getimagesize($file);
if ( $size) {
echo 'Image en cours de redimensionnement...
';
if ($size['mime']=='image/jpeg' ) {
$img_big = imagecreatefromjpeg($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagejpeg($img_mini,$file );
}
elseif ($size['mime']=='image/png' ) {
$img_big = imagecreatefrompng($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagepng($img_mini,$file );
}
elseif ($size['mime']=='image/gif' ) {
$img_big = imagecreatefromgif($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagegif($img_mini,$file );
}
echo 'Image redimensionnée !
'; ///
}
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 name="photo[]" type="file" id="photo7">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo8">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo9">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo10">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo11">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo12">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo13">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo14">
</label>
</p>
<p>
<label>
<input name="photo[]" type="file" id="photo15">
</label>
</p> <p>
<label>
<input name="photo[]" type="file" id="photo16">
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="Envoyer">
</label>
</p>
</form>
<?php
}
?>
</body>
</html>
merci de votre aide
A voir également:
- Uploder des photos
- Partager des photos - Guide
- Toutes mes photos - Guide
- Google photos - Télécharger - Albums photo
- Doublons photos - Guide
- Comment faire une vidéo avec des photos - Guide
27 réponses
j ai ajouter une taille fixe en hauteur mais ca ne cahge rien au contraire c es pire
Ok mais je ne vois vraiment pas comment utiliser ton code
Je recupere les photos sous quel forme?
plus comme ca ?
<?php echo $data['url']; ??
Ok mais je ne vois vraiment pas comment utiliser ton code
Je recupere les photos sous quel forme?
plus comme ca ?
<?php echo $data['url']; ??
Si la façon de récupérer tes images est la même.
$i = 0;
while($data = mysql_fecth_assoc()){
echo $data['url']; //tu affiches tout ce dont tu as besoin
$i++
if($i == 2 OR $i == 5 OR $i == 8){ echo '<br />'; }
}
Pour le css ce n'est pas la hauteur qu'il faut fixer mais bel et bien la largeur...
$i = 0;
while($data = mysql_fecth_assoc()){
echo $data['url']; //tu affiches tout ce dont tu as besoin
$i++
if($i == 2 OR $i == 5 OR $i == 8){ echo '<br />'; }
}
Pour le css ce n'est pas la hauteur qu'il faut fixer mais bel et bien la largeur...
<?php
require "connect.php";
// On récupere le contenu de $_GET dans l'adresse, soit ce qu'il y a apres page.php3?maison=
$voit=$_GET['voiture'];
$reponse = mysql_query("SELECT * FROM photo2 WHERE idd ='$voit'")or die(mysql_error()); // Requete SQL
$i = 0;
while ($data = mysql_fetch_assoc($reponse) )
{
echo $data['url']; //tu affiches tout ce dont tu as besoin
$i++
if($i == 2 OR $i == 5 OR $i == 8){ echo '<br />'; }
}
?>
<div id="gallery">
<em id="thumbs"><a href="#nogo"></a><a href="#nogo"></a>
<a href="#nogo">
<img src="admin/<?php echo $data['url']; ?>" alt="1" title="photo_simple.css" /></a></em> </div><?php } ?>
<a href="#nogo"></a><a href="#nogo"></a>
</body>
</html>
ca ne vas pas il me dit qu il y a une erreur a cette ligne if($i == 2 OR $i == 5 OR $i == 8){ echo '<br />'; }
Pour le css j ai une largueur a mon fixe
require "connect.php";
// On récupere le contenu de $_GET dans l'adresse, soit ce qu'il y a apres page.php3?maison=
$voit=$_GET['voiture'];
$reponse = mysql_query("SELECT * FROM photo2 WHERE idd ='$voit'")or die(mysql_error()); // Requete SQL
$i = 0;
while ($data = mysql_fetch_assoc($reponse) )
{
echo $data['url']; //tu affiches tout ce dont tu as besoin
$i++
if($i == 2 OR $i == 5 OR $i == 8){ echo '<br />'; }
}
?>
<div id="gallery">
<em id="thumbs"><a href="#nogo"></a><a href="#nogo"></a>
<a href="#nogo">
<img src="admin/<?php echo $data['url']; ?>" alt="1" title="photo_simple.css" /></a></em> </div><?php } ?>
<a href="#nogo"></a><a href="#nogo"></a>
</body>
</html>
ca ne vas pas il me dit qu il y a une erreur a cette ligne if($i == 2 OR $i == 5 OR $i == 8){ echo '<br />'; }
Pour le css j ai une largueur a mon fixe
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question