Uploader des images vers un site
Fermé
diabolo67
Messages postés
9
Date d'inscription
jeudi 30 juin 2005
Statut
Membre
Dernière intervention
21 janvier 2007
-
12 août 2005 à 15:40
siskozed - 2 août 2008 à 22:38
siskozed - 2 août 2008 à 22:38
A voir également:
- Uploader des images vers un site
- Site de telechargement - Guide
- Site pour vendre des objets d'occasion - Guide
- Site inaccessible - Guide
- Windows 7 vers windows 10 - Guide
- Site partage photo - Guide
10 réponses
dedale82
Messages postés
403
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
28 octobre 2008
282
12 août 2005 à 23:27
12 août 2005 à 23:27
Soit le repertoire n'existe pas, soit tu n'as pas de permissions en ecriture dessus.
Bonne soiree
Bonne soiree
dedale82
Messages postés
403
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
28 octobre 2008
282
12 août 2005 à 15:42
12 août 2005 à 15:42
Salut,
l'upload de fichier peut se faire en php, jette un coup d'oeil la, c'est bien expliqué :
http://www.phpfrance.com/tutoriaux/index.php/2005/04/26/30-lupload-de-fichiers
a plus
l'upload de fichier peut se faire en php, jette un coup d'oeil la, c'est bien expliqué :
http://www.phpfrance.com/tutoriaux/index.php/2005/04/26/30-lupload-de-fichiers
a plus
diabolo67
Messages postés
9
Date d'inscription
jeudi 30 juin 2005
Statut
Membre
Dernière intervention
21 janvier 2007
12 août 2005 à 19:55
12 août 2005 à 19:55
Merci pour vos réponses,
J'ai commencé par utilisé le script de php france. Mais j'ai déja un petit soucis.
Voici les deux warnings que m'adresse php :
Et voici le code tel que je l'ai trouvé sur le post indiqué par dedale82
J'ai commencé par utilisé le script de php france. Mais j'ai déja un petit soucis.
Voici les deux warnings que m'adresse php :
Warning: move_uploaded_file(/brice/photos/ebay1.jpg): failed to open stream: No such file or directory in /home/diapason/www/brice/upload.php on line 33 Warning: move_uploaded_file(): Unable to move '/tmp/phpSoYyAf' to '/brice/photos/ebay1.jpg' in /home/diapason/www/brice/upload.php on line 33
Et voici le code tel que je l'ai trouvé sur le post indiqué par dedale82
<?php if(isset($_FILES['photo'])) { // params unset($erreur); $extensions_ok = array('png', 'gif', 'jpg', 'jpeg'); $taille_max = 100000; $dest_dossier = '/brice/photos/'; // utilisez également des slashes sous windows : $dest_dossier = 'd:/damien/photos/'; // vérifications if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) ) { $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !'; } elseif( file_exists($_FILES['photo']['tmp_name']) and filesize($_FILES['photo']['tmp_name']) > $taille_max) { $erreur = 'Votre fichier doit faire moins de 500Ko !'; } // copie du fichier if(!isset($erreur)) { $dest_fichier = basename($_FILES['photo']['name']); // formatage nom fichier // enlever les accents $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); // remplacer les caracteres autres que lettres, chiffres et point par _ $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier); // copie du fichier move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier); } } ?> Désolé s'il est un peu long. Merci pour votre aide. diabolo67
diabolo67
Messages postés
9
Date d'inscription
jeudi 30 juin 2005
Statut
Membre
Dernière intervention
21 janvier 2007
15 août 2005 à 12:20
15 août 2005 à 12:20
Bonjour,
J'ai pas très bien compris le fonctionnement du code.
Par exemple
Indique bien l'adresse du dossier qui va recevoir les images ?
Ce dossier existe bien. Comment vérifier que j'ai bien les droits en écritures dessus ?
Et que signifie exactement cette alerte :
On dirai une erreur en local ? Pourtant je fais le test depuis le site ?
Merci pour vos réponses
diabolo
J'ai pas très bien compris le fonctionnement du code.
Par exemple
$dest_dossier = '/brice/photos/';
Indique bien l'adresse du dossier qui va recevoir les images ?
Ce dossier existe bien. Comment vérifier que j'ai bien les droits en écritures dessus ?
Et que signifie exactement cette alerte :
Warning: move_uploaded_file(/brice/photos/ebay1.jpg): failed to open stream: No such file or directory in /home/diapason/www/brice/upload.php on line 33
On dirai une erreur en local ? Pourtant je fais le test depuis le site ?
Merci pour vos réponses
diabolo
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
diabolo67
Messages postés
9
Date d'inscription
jeudi 30 juin 2005
Statut
Membre
Dernière intervention
21 janvier 2007
15 août 2005 à 12:28
15 août 2005 à 12:28
En utilisant le code de StreM
Voila les erreurs qui s'affichent
diabolo
Voila les erreurs qui s'affichent
Warning: move_uploaded_file(brice/photos/ebay1.jpg): failed to open stream: No such file or directory in /home/diapason/www/brice/trait_parent.php on line 8 Warning: move_uploaded_file(): Unable to move '/tmp/phpeZrSB8' to 'brice/photos/ebay1.jpg' in /home/diapason/www/brice/trait_parent.php on line 8
diabolo
diabolo67
Messages postés
9
Date d'inscription
jeudi 30 juin 2005
Statut
Membre
Dernière intervention
21 janvier 2007
16 août 2005 à 12:23
16 août 2005 à 12:23
Bonjour ,
J'ai réglé le probleme mon fichier doit avoir l'adresse suivante ../brice/photos.
Je continue sur ma lancé .
Pour permettre à l'administrateur du site de télécharger des photos, d'écrire son texte et de rajouter une mention de prix j'ai crée une page avec un formulaire pour l'ensemble.
Les photos sont uploader dans un dossier et le reste dans ma base.
Voici le code php :
Code:
<?php
if(isset($_FILES['photo']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 100000;
$dest_dossier = '../brice/photos/';
// utilisez également des slashes sous windows : $dest_dossier = 'c:/brice/photos/';
// vérifications
if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
}
elseif( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 500Ko !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['photo']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['photo']['tmp_name'],
$dest_dossier . $dest_fichier);
}
$host = "***";
$user = "****";
$pass = "*****";
$bdd = "*****";
// connection base de données
@mysql_connect($host, $user, $pass) or die ("Impossible de se connecter à la base de donnée");
//selection de la base
@mysql_select_db($bdd) or die ("Impossible de se connecter à la base");
// Requête modifiée (problème de syntaxe)
$sql=mysql_query("INSERT INTO brice VALUES ('' , '$text', '$prix', )") or die ("Erreur dans la requête ".$sql."<br />".mysql_error());
header("location: confirmationupload.php");
}
?>
J'ai une erreur sql ligne 1 et je vois pas ce que sa peux être.
Merci pour votre aide
diabolo
J'ai réglé le probleme mon fichier doit avoir l'adresse suivante ../brice/photos.
Je continue sur ma lancé .
Pour permettre à l'administrateur du site de télécharger des photos, d'écrire son texte et de rajouter une mention de prix j'ai crée une page avec un formulaire pour l'ensemble.
Les photos sont uploader dans un dossier et le reste dans ma base.
Voici le code php :
Code:
<?php
if(isset($_FILES['photo']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 100000;
$dest_dossier = '../brice/photos/';
// utilisez également des slashes sous windows : $dest_dossier = 'c:/brice/photos/';
// vérifications
if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
}
elseif( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 500Ko !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['photo']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['photo']['tmp_name'],
$dest_dossier . $dest_fichier);
}
$host = "***";
$user = "****";
$pass = "*****";
$bdd = "*****";
// connection base de données
@mysql_connect($host, $user, $pass) or die ("Impossible de se connecter à la base de donnée");
//selection de la base
@mysql_select_db($bdd) or die ("Impossible de se connecter à la base");
// Requête modifiée (problème de syntaxe)
$sql=mysql_query("INSERT INTO brice VALUES ('' , '$text', '$prix', )") or die ("Erreur dans la requête ".$sql."<br />".mysql_error());
header("location: confirmationupload.php");
}
?>
J'ai une erreur sql ligne 1 et je vois pas ce que sa peux être.
Merci pour votre aide
diabolo
diabolo67
Messages postés
9
Date d'inscription
jeudi 30 juin 2005
Statut
Membre
Dernière intervention
21 janvier 2007
16 août 2005 à 17:27
16 août 2005 à 17:27
J'en suis toujours au même point personne n'a une petite idée ?
diabolo
diabolo
StreM
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
124
23 août 2005 à 16:40
23 août 2005 à 16:40
Tu n'arrives pas a te connecter a ta BDD ?
ligne1, tu n'as pas de SQL, tu as que du PHP, alors je comprends pas ton erreur...
ligne1, tu n'as pas de SQL, tu as que du PHP, alors je comprends pas ton erreur...
si ca arrive à quelqu'un un jour, il sera content de savoir d'ou ca vient :
En fait, il ne créé pas le dossier automatiquement. Il faut le créer manuellement. Avec la fonction
mkdir('./repertoire parent/'.$id.'/', 0777);
mkdir ( 'répertoire', droits ) pour les droits c'est comme sous linux avec le chmod (777 accès total)
voilà apres, ca coule tout seul !!
En fait, il ne créé pas le dossier automatiquement. Il faut le créer manuellement. Avec la fonction
mkdir('./repertoire parent/'.$id.'/', 0777);
mkdir ( 'répertoire', droits ) pour les droits c'est comme sous linux avec le chmod (777 accès total)
voilà apres, ca coule tout seul !!
StreM
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
124
12 août 2005 à 15:46
12 août 2005 à 15:46
$uploaddir = 'photos/'; $uploadfile = $uploaddir . basename($_FILES['Fichier']['name']); if (isset ($_FILES['Fichier']['tmp_name']) && $_FILES['Fichier']['tmp_name'] != "none") { if (!file_exists($uploadfile)) { if (move_uploaded_file($_FILES['Fichier']['tmp_name'], $uploadfile)) { //creation mini $src_img = imagecreatefromjpeg($uploadfile); $size = GetImageSize($uploadfile); $dst_img = imagecreatetruecolor($cote_mini,$cote_mini); imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $cote_mini, $cote_mini, $size[0], $size[1]); imagejpeg($dst_img, $uploaddir."thumbs/".basename($_FILES['Fichier']['name']), 75); imagedestroy($src_img); imagedestroy($dst_img); //redimensionnement image $haut = "500"; $larg = $size[0]*$haut/$size[1]; $src_img = imagecreatefromjpeg($uploadfile); $size = GetImageSize($uploadfile); $dst_img = imagecreatetruecolor($larg,$haut); imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $larg, $haut, $size[0], $size[1]); imagejpeg($dst_img, $uploadfile, 75); imagedestroy($src_img); imagedestroy($dst_img); echo "Fichier envoyé !</body>"; } } else {echo "<font color=red>Un fichier portant le même nom existe déja.</font>";} }
Avec un formulaire comme ca :
<FORM ENCTYPE="multipart/form-data" ACTION="trait_parent.php" METHOD="POST"> <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="2097152" class=input> Titre de la photo : <INPUT NAME="titre_tof" TYPE="text" class=input><br> Fichier : <INPUT NAME="Fichier" TYPE="file" class=input> (max : 2Mo) <br><br> <INPUT TYPE="submit" VALUE="Envoyer" name=bouton onClick="this.form.submit();this.disabled=true;this.value=\'Envoi en cours...\'" class=input> </center> </FORM>