Aide - Recherche - Membres - Calendrier
Version complète : PB D'UPLOAD
Forum Développeur - Administration serveur, programmation et base de données > Programmation > PHP
prodiris
Bonjour,

J'ai page suivante nommée "chargement.php". C'est un script récupéré et adapté du site PHP France.

Php
<?php
 
if(isset($_FILES['photo']))
{
 // params
 unset($erreur);
 $extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
 $taille_max = 100000;
 $dest_dossier = 'actu/';
 // 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-1]+)/i', '_', $dest_fichier);
   // copie du fichier
   move_uploaded_file($HTTP_POST_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
 

echo $dest_dossier;
echo $dest_fichier;
 }
}
 
?>
<html>
<body>
<!-- Erreur ? -->
<?php
if(isset($erreur)){
 echo '<p>', $erreur ,'</p>';
}
?>
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le  enctype="multipart/form-data" -->
<form method="POST" action="chargement.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
<fieldset>
<legend>Envoi de fichiers</legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="photo">Photo :</label><input type="file" name="photo" /></p>
<!-- bouton d'
envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
</body>
</html>



Quand je le lance dans IE, j'obtiens les messages d'erreurs suivants :

Warning: move_uploaded_file(actu/innov.gif): failed to open stream: Permission denied in /home/.sites/58/site43/web/pages4/adm/chargement.php on line 30

Warning: move_uploaded_file(): Unable to move '/home/tmp/phpF3qNNG' to 'actu/innov.gif' in /home/.sites/58/site43/web/pages4/adm/chargement.php on line 30

Pas très calé en PHP, quelqu'un pourait-il m'aider ?
Par avance merci

Al'
passicon
sans doute un problème de chomd essaye de mettre le chomd a 777 dans tes fichiers icon_biggrin.gif
prodiris
c'est ce que j'ai fait à l'aide de WS_FTP ! moi aussi, j'ai pensé à ce pb mais tout est à 777 icon_confused.gif
prodiris
effectivement, ce doit être un pb de ce style, car j'ai téléchargé ce script sur un autre serveur et sur lequel ça fonctionne !

comment vais-je m'en sortir ? icon_question.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.