Script hébergement d'image qui ne marche pas
Résolu
xMen71710
-
Zep3k!GnO Messages postés 2025 Date d'inscription Statut Membre Dernière intervention -
Zep3k!GnO Messages postés 2025 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai pris un script d'hebergement d'image, que j'ai modifié, j'ai rajouter les extensions: BMP et ICO, mais voila, ces deux extensions ne fonctionnent pas, voici mon script:
(je met que le PHP)
<?php
$poids_max = 5000000; // 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' && $_FILES['fichier']['type'] != 'image/ico') {
$erreur = 'Le fichier doit être au format *.jpeg, *.gif, *.png, *.bmp ou *.ico .';
}
// On vérifit le poids de l'image
elseif ($_FILES['fichier']['size'] > $poids_max)
{
$erreur = 'L\'image doit être inférieur à ' . $poids_max/5000 . '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 uploader
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 = '.jpeg'; }
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
if ($_FILES['fichier']['type'] == 'image/bmp') { $extention = '.bmp'; }
if ($_FILES['fichier']['type'] == 'image/ico') { $extention = '.ico'; }
$nom_fichier = time().$extention;
// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
{
$url = 'http://localhost/upload/'.$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"><br>Pour mettre l\'image sur un forum, utilisez: <input type="text" value="[img]' . $url . '/img" size="60"><br>Pour mettre votre image sur votre site, utilisez: <input type="text" value="<img scr=' . $url . '>" size="60">';
}
else
{
echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
}
}
}
else
{
?>
Merci
J'ai pris un script d'hebergement d'image, que j'ai modifié, j'ai rajouter les extensions: BMP et ICO, mais voila, ces deux extensions ne fonctionnent pas, voici mon script:
(je met que le PHP)
<?php
$poids_max = 5000000; // 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' && $_FILES['fichier']['type'] != 'image/ico') {
$erreur = 'Le fichier doit être au format *.jpeg, *.gif, *.png, *.bmp ou *.ico .';
}
// On vérifit le poids de l'image
elseif ($_FILES['fichier']['size'] > $poids_max)
{
$erreur = 'L\'image doit être inférieur à ' . $poids_max/5000 . '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 uploader
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 = '.jpeg'; }
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
if ($_FILES['fichier']['type'] == 'image/bmp') { $extention = '.bmp'; }
if ($_FILES['fichier']['type'] == 'image/ico') { $extention = '.ico'; }
$nom_fichier = time().$extention;
// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
{
$url = 'http://localhost/upload/'.$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"><br>Pour mettre l\'image sur un forum, utilisez: <input type="text" value="[img]' . $url . '/img" size="60"><br>Pour mettre votre image sur votre site, utilisez: <input type="text" value="<img scr=' . $url . '>" size="60">';
}
else
{
echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
}
}
}
else
{
?>
Merci
A voir également:
- Script hébergement d'image qui ne marche pas
- Script vidéo youtube - Guide
- Image iso - Guide
- Mas script - Accueil - Windows
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
5 réponses
quand tu upload, un .ico ou .bmp, t'as fais un echo "Type de fichier : ".$_FILES['fichier']['type']; ??
Ca peut p'tet venir de la...
Ca peut p'tet venir de la...
Désolé, mais je ne vois pas ce que tu veux dire par là.
Mais en fait, j'ai oublié de dire qqc, le message d'erreur qui vient c'est sa:
Le fichier doit être au format *.jpeg, *.gif, *.png, *.bmp ou *.ico .
Alors qu'il est ICO où BMP.
Mais je ne vois pas du tout d'où ca peux venir.
Mais en fait, j'ai oublié de dire qqc, le message d'erreur qui vient c'est sa:
Le fichier doit être au format *.jpeg, *.gif, *.png, *.bmp ou *.ico .
Alors qu'il est ICO où BMP.
Mais je ne vois pas du tout d'où ca peux venir.
Ouaip en fait ce que je veux c'est savoir ce que t'affiches PhP.
La en me disant ça, ça veut dire que ça en passe pas le test du type de fichier donc il y a un probleme avec la conditin que tu a rajoutée, pour débugger ça, remplace le bout de code
// 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' && $_FILES['fichier']['type'] != 'image/ico') {
$erreur = 'Le fichier doit être au format *.jpeg, *.gif, *.png, *.bmp ou *.ico .';
}
PAR
// 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' && $_FILES['fichier']['type'] != 'image/ico') {
$erreur = 'Le fichier doit être au format *.jpeg, *.gif, *.png, *.bmp ou *.ico . (on a reçu : '. $_FILES['fichier']['type'].')';
}
Et dis ce que ça affiches...
La en me disant ça, ça veut dire que ça en passe pas le test du type de fichier donc il y a un probleme avec la conditin que tu a rajoutée, pour débugger ça, remplace le bout de code
// 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' && $_FILES['fichier']['type'] != 'image/ico') {
$erreur = 'Le fichier doit être au format *.jpeg, *.gif, *.png, *.bmp ou *.ico .';
}
PAR
// 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' && $_FILES['fichier']['type'] != 'image/ico') {
$erreur = 'Le fichier doit être au format *.jpeg, *.gif, *.png, *.bmp ou *.ico . (on a reçu : '. $_FILES['fichier']['type'].')';
}
Et dis ce que ça affiches...
Pour les fichiers en .ico, cela m'affiche:
Le fichier doit �tre au format *.jpeg, *.gif, *.png, *.bmp ou *.ico . (on a re�u : image/x-icon)
Mais je crois savoir pourquoi cela met sa. En fait, les .ico, sa changera le favicon (par exemple le point d'interrogation blanc sur la bulle rouge a coté de l'adresse de https://www.commentcamarche.net/
Merci encore !
Le fichier doit �tre au format *.jpeg, *.gif, *.png, *.bmp ou *.ico . (on a re�u : image/x-icon)
Mais je crois savoir pourquoi cela met sa. En fait, les .ico, sa changera le favicon (par exemple le point d'interrogation blanc sur la bulle rouge a coté de l'adresse de https://www.commentcamarche.net/
Merci encore !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question