jphilippev
Messages postés253Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention 5 décembre 2008
-
31 déc. 2007 à 16:50
jphilippev
Messages postés253Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention 5 décembre 2008
-
2 janv. 2008 à 17:17
bonjour,
je voudrais savoir comment récuperer directement une image envoyée en php sur le serveur
j'ai chercher une source mais je n'ai pas trouver si vous en avez une je suis preneur...
// Extensions images autorisé (pour le moment, que du jpeg)
$extensions_ok = array('jpg', 'jpeg');
// MimeType autorisé/* 1 GIF, 2 JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF (Ordre des octets Intel), 8 = TIFF (Ordre des octets Motorola), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF */
$typeimages_ok = array(2);
$photo='0';
$taille_ko = 1024; // Taille en kilo octect (ko)
$taille_max = $taille_ko*1024; // En octects
$dest_dossier = 'images/'; // Creez ce dossier et chmoodez le !
//print_r($_FILES['photo']);
if(isset($_FILES['photo'])) // Formulaire envoyé
{
// Les erreurs que PHP renvoi
if($_FILES['photo']['error'] !== "0") {
switch ($_FILES['photo']['error']) {
case 1:
$erreurs[] = "Votre image doit faire moins de $taille_ko Ko !";
break;
case 2:
$erreurs[] = "Votre image doit faire moins de $taille_ko Ko !";
break;
case 3:
$erreurs[] = "L'image n'a été que partiellement téléchargé.";
break;
case 4:
$erreurs[] = "Aucun fichier n'a été téléchargé.";
break; // Pas de 5, ne pas demander pourquoi ^^ (voir doc PHP)
case 6:
$erreur[] = "Un dossier temporaire est manquant.";
break;
case 7:
$erreurs[] = "Échec de l'écriture du fichier sur le disque.";
break;
}
}
// getimagesize arrive à traiter le fichier ?
if(!$getimagesize = getimagesize($_FILES['photo']['tmp_name'])) {
$erreurs[] = "Le fichier n'est pas une image valide.";
}
// on vérifie le type de l'image
if( (!in_array( get_extension($_FILES['photo']['name']), $extensions_ok ))
or (!in_array($getimagesize[2], $typeimages_ok )))
{
foreach($extensions_ok as $text) { $extensions_string .= $text.', '; }
$erreurs[] = 'Veuillez sélectionner un fichier de type '.substr($extensions_string, 0, -2).' !';
}
// on vérifie le poids de l'image
if( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_max)
{
$erreurs[] = "Votre fichier doit faire moins de $taille_ko Ko !";
}
// copie du fichier si aucune erreur !
if(!isset($erreurs) or empty($erreurs))
{
$dest_fichier = basename($_FILES['photo']['name']);
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// un chtit regex pour remplacer tous ce qui n'est ni chiffre ni lettre par "_"
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
// pour ne pas ecraser un fichier existant
while(file_exists($dest_dossier . $dest_fichier)) {
$dest_fichier = rand().$dest_fichier;
}
// copie du fichier
if(move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier)) {
$valid[] = "Image uploadé avec succés (Voir)";
$av=$dest_dossier.$dest_fichier;
echo $av;
} else {
$erreurs[] = "Impossible d'uploader le fichier.
Veuillez vérifier que le dossier ".$dest_dossier." existe avec un chmod 755 (ou 777).";
}
}
}
malik7934
Messages postés1154Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention15 août 200917 31 déc. 2007 à 17:26
je suis pas sûr d'avoir tout compris à ta question, ceci dit, pour ma part j'utilise un input en hidden dans lequel je mets via Javascript le nom de la photo, ainsi tu récupères sans autre avec le post le nom de l'image
jphilippev
Messages postés253Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention 5 décembre 20081 31 déc. 2007 à 17:24
merci malik mais j'ai compris cette source elle envoie les fichiers dans un repertoire (upload)...
malalam en fait je voudrais envoyer le nom de la photo mais sans recharger la page principale
vu que c'est pour faire une inscription et que si la personne rempli les champs avant de chargé la photo je ne voudrais pas
qu'elle doive tout retaper... (dedans c'est la
jphilippev
Messages postés253Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention 5 décembre 20081 31 déc. 2007 à 17:36
il y a une page inscription qui ouvre une page avatar (page que j'ai mise plus haut) danc je voudrait que la page avatar envoi le chemin de l'image téléchargée (variable $av)
si c'est comme malik je vais voir vers les code javascript... parce que contrairement a ce que dis malik j'essaie de comprendre pour ne plus reposer les memes questions enfin je pensait qu'un forum servait a poser des questions quand on savait pas...