> Tous les forumsForum des Webmasters

 upload d'imageSujet résolu
Statut du sujet : RESOLU Imprimer
 tirikou
  Posté le 15/01/2008 @ 15:34  
 Petit astucien


928 Messages

Bonjour,

J'ai trouvé un script d'upload que voici ci-après.

Je voudrai également pouvoir dans ce scipt limiter la taille en largeur et hauteur de l'image à uploader.

Largeur 400px, hauteur 300px.

Que dois je employer et où ?

Dois je aussi rajouter un champs hidden dans le formulaire ?

Voici le script :

<?php
$poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets)
$repertoire = 'uploads/'; // 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 définir l'extentions du fichier et son nom
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 = '.jpg'; }
elseif ($_FILES['fichier']['type'] == 'image/jpg') { $extention = '.jpg'; }
$nom_fichier = time().$extention;
else {$erreur = 'Erreur, votre image n\\'a pas une extension jpg ou jpeg.';}

// 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 upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
{
$url = 'www.monsite.com/'.$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">';
}
else
{
echo 'L\\'image n\\'a pas pu être uploadée sur le serveur.';
}

}

}
else
{
?>
<form action="<? echo $PHP_SELF; ?>" 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
}
?>

Merci de votre aide.

 Afficher le profil de tirikouEnvoyer un message privé à tirikou
 
 
Publicité
 Malcolm  Posté le 15/01/2008 à 18:55  
  Astucien


7264 Messages
Hello, hélas non tu n'auras aucun contrôle là dessus (quoique, peut-être en javascript, et encore, c'est pas forcément sûr ...). Par contre, tu peux recréer via la librairie GD l'image, une fois uploadée, en dimensions maximales souhaitées, tu peux également accéder aux dimensions une fois l'image uploadée, mais je ne crois pas que tu puisses faire de préselection via le coté HTML seulement. Regarde par là : http://mtodorovic.developpez.com/php/gd/?page=page_3#LIII-3.2.3
Afficher le profil de Malcolm Voir la configuration de MalcolmEnvoyer un message privé à Malcolm
  Revenir en haut de la page
 tirikou  Posté le 15/01/2008 à 19:15  
Petit astucien


928 Messages

Merci,

Au fait t'en dis quoi de ce script ?

Ca à l'air de fonctionner ?

Afficher le profil de tirikouEnvoyer un message privé à tirikou
 Revenir en haut de la page
 tirikou  Posté le 15/01/2008 à 23:30  
Petit astucien


928 Messages

Bon j'ai trouvé qu'il "serait" possible de vérifier la taille d'un fichier uploadé avec ceci :

$infos = getimagesize($_FILES['fichier']['tmp_name']);
if(($infos[0] <= $largeur_maximal) && ($infos[1] <= $hauteur_maximal)) // que les dimmensions sont respectées,

Mais je comprends pas comment cela fonctionne.

Pouvez vous m'expliquer ?

Et surtout comment puis incorporer cela dans mon script ?

Afficher le profil de tirikouEnvoyer un message privé à tirikou
 Revenir en haut de la page
 tirikou  Posté le 17/01/2008 à 22:10  
Petit astucien


928 Messages

Aller, un p'tit up en espérant qu'un grand maître astucien ou une grande prêtresse atsucienne ne me dise où je peux me le mettre ni bof !

Mais si mais si ils ont osé !!!!

voir ici tout en bas

En tout cas moi je pédale dur dans la semoule avec cet upload.

Et SAS Malcolm Linge ? Est en mission à l'étranger ?

Aller quoi un bon geste ... Getimagesizé moi ce petit scritp

En attendant bonne nuit

Afficher le profil de tirikouEnvoyer un message privé à tirikou
 Revenir en haut de la page
 tirikou  Posté le 18/01/2008 à 21:38  
Petit astucien


928 Messages

Bonjour,

Voilà je crois avoir trouvé en tout cas j'ai trouvé quelque chose qu'il me semble comprendre et je vais pouvoir travailler.

En fait j'ai pas trouvé tout seul c'est un zero du sdz qui m'a filé le tuyau.

Mais c'est exactement ce que je cherchais alors combiné avec ce que j'ai déjà je vais pouvoir m'en sortir.

Pour ceux que cela intéresse ou pour éviter de secher si une même question revenait sur pca je joints les deux liens qui complètent mon script d'origine.

upload 1

upload 2

Voili voilou reste plus qu'à bosser.

Euh si je sèche je reviens. Promis !



Modifié par tirikou le 18/01/2008 21:39
Afficher le profil de tirikouEnvoyer un message privé à tirikou
 Revenir en haut de la page
 Malcolm  Posté le 18/01/2008 à 22:39  
  Astucien


7264 Messages

Re,

ces 2 liens ont le mérite d'être explicatifs ... Seulement j'y vois un manque de rigueur ...

Si je crrée un fichier texte (extension .txt) et que je le renomme en .mp3, ces 2 liens vont le prendre pour un MP3, juste en se basant sur l'extension ...

Afficher le profil de Malcolm Voir la configuration de MalcolmEnvoyer un message privé à Malcolm
  Revenir en haut de la page
 tirikou  Posté le 19/01/2008 à 15:05  
Petit astucien


928 Messages

T'es devin ou quoi ?

En fait j'ai aussi vu "de ci de la" qu'une image au format gif par exemple renommée en jpg pouvait être refusé car gardé en mémoire (?) au format gif ou l'inverse.

Je comptais tester cela mais puisque tu soulèves le problème, que penses tu que je doives faire pour remédier à cela ?

tant qu'on y est autant que je fasse tout d'un coup . Ca m'évitera des nuits blanches ...

Afficher le profil de tirikouEnvoyer un message privé à tirikou
 Revenir en haut de la page
 Malcolm  Posté le 19/01/2008 à 16:11  
  Astucien


7264 Messages
au lieu de se fier à un test sur l'extension, il faudrait regarder le type mime du fichier. $_FILES['nom']['type']donne cette info (où nom est le name du formulaire)
Afficher le profil de Malcolm Voir la configuration de MalcolmEnvoyer un message privé à Malcolm
  Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page