Problème tuto upload de fichiers
Posté : 06 juil. 2005, 23:35
Bonsoir je suis nouveau^^
J'ai lu et testé le tuto sur les upload de fichiers, mais ce sujet est vérouillé alors je demande de l'aide ici
.
J'ai déjà essayé de résoudre mon problème sur un autre forum (attendez avant de me mitrailler lol
) mais on a pas trouvé la solution, alors j'ai prévenu que je demanderai ici. (j'ai vu dans le règlement que poser une question sur plusieurs forums été interdit alors je le précise)
(pour ceux que ca intéressent: http://www.phportail.net/forum/viewtopi ... 2618#p2618)
Bon en gros je voudrai, à partir d'une partie admin, ajouter des images dans un repertoire, je spécifie plusieurs erreurs (qui fonctionne très bien quand elle le doit). Mais lorsque l'image est bonne, elle ne se rajoute pas non plus :s ...
Quand je tente d'envoyer une image, $erreur = L'image a été uploadée avec succes, mais n'a pas pu être copiée.
Ca fait plusieurs jours que je cherche, si ca se trouve c'est une petite connerie, mais franchement si quelqu'un pouvait m'aider ca serait bien sympa! (plz
)
J'ai lu et testé le tuto sur les upload de fichiers, mais ce sujet est vérouillé alors je demande de l'aide ici
J'ai déjà essayé de résoudre mon problème sur un autre forum (attendez avant de me mitrailler lol
(pour ceux que ca intéressent: http://www.phportail.net/forum/viewtopi ... 2618#p2618)
Bon en gros je voudrai, à partir d'une partie admin, ajouter des images dans un repertoire, je spécifie plusieurs erreurs (qui fonctionne très bien quand elle le doit). Mais lorsque l'image est bonne, elle ne se rajoute pas non plus :s ...
<?php
if(isset($_FILES['image']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'JPG');
$taille_max = 200000;
$dest_dossier = '../images/dessins/pics/';
// utilisez également des slashes sous windows : $dest_dossier = 'd:/damien/photos/';
$taille = $_FILES['image']['size'];
// vérifications
if( !in_array( substr(strrchr($_FILES['image']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner une image de type png, gif, jpg, jpeg ou JPG ;)';
}
elseif (!is_dir($dest_dossier)) {
$erreur = 'Veuillez indiquer un répertoire destination correct !';
}
elseif (!is_writeable($dest_dossier)) {
$erreur = 'Veuillez spécifier des droits en écriture pour le répertoire destination !';
}
elseif ($taille > $taille_max) {
$erreur = 'Veuillez sélectionner une image de taille inférieure à 200Ko !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['image']['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 et verification
if (is_uploaded_file($_FILES['image']['tmp_name'])) {
$erreur = 'L\'image a été uploadée avec succes, mais n\'a pas pu être copiée.';
move_uploaded_file($_FILES['image']['tmp_name'], $dest_dossier . $dest_fichier);
if (is_uploaded_file($dest_dossier . $dest_fichier)){
$reussi = 'yeah! Enfin!!!!';
}
}
elseif (!is_uploaded_file($_FILES['image']['tmp_name'])) {
$erreur = 'L\'image n\'a pas été uploadée';
}
}
}
?>
<!-- Erreur ? -->
<div class="en-tete"><div class="img_en-tete"></div>
<?php
if(isset($erreur)){
echo $erreur ;
}
elseif(isset($reussi)){
echo $reussi ;
}
else{
?>
Avant d'ajouter une image, tenez compte des conditions suivantes :<br />
- Le nom de l'image, et le nom de la miniature doivent être identiques, ainsi que leurs extensions (attention aux majuscules).<br />
- L'image peut être en portrait ou paysage, peut être de n'importe quelle taille, mais DOIT être inférieure à 200ko.<br />
- La miniature DOIT être en paysage (plus jolie), peut-etre de n'importe quelle taille (elle sera automatiquement générée à la bonne taille), et DOIT être inférieure à 200ko.<br />
<br />
ps: Si l'image est en paysage, alors vous pouvez la rajouter en tant que miniature ;)
<?php } ?>
</div><br />
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
<form method="POST" action="index.php?page=ajout_image" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 200Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="200000" />
<fieldset>
<legend>Envoi d'une image et de sa miniature^^</legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="image">Image :</label><input type="file" name="image" /></p>
<p><label for="miniature">Miniature :</label><input type="file" name="miniature" /></p>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
le chmod est en 777(s'il n'y a pas de droit d'écriture il me le dirait), le dossier de destination existe (si pas il me l'affichait aussi), et mon hébergeur (nuxit) est on pour files_upload.Quand je tente d'envoyer une image, $erreur = L'image a été uploadée avec succes, mais n'a pas pu être copiée.
Ca fait plusieurs jours que je cherche, si ca se trouve c'est une petite connerie, mais franchement si quelqu'un pouvait m'aider ca serait bien sympa! (plz