Page 1 sur 1

Script 30.php complet (suite)

Posté : 27 mars 2006, 16:59
par Debuts88
Voici le script au complet (précédent courrier)

-----------------------------------
<?php

if(isset($_FILES['photo']))
{
  // params
  unset($erreur);
  $extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
  $taille_max = 100000;
  $dest_dossier = '/home/monsite/photos/';
  // 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($_FILES['photo']['tmp_name'], $dest_dossier . $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="30.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>
<p><label for="photo_2">Photo 2 :</label> <input type="file" name="photo_2" /></p>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
</body>
</html>

Posté : 27 mars 2006, 17:49
par jpaul
Ton message d'erreur me semble clair :
not allowed to access /home
Il faut que tu modifies la ligne :
 $dest_dossier = '/home/monsite/photos/'; 
A ta place je tenterais un truc comme :
 $dest_dossier = './photos/'; 
et je créerais le répertoire photos avec ftp.

Il n'y a pas un 'lisez_moi' ou un 'read_me' avec ton script ?

Autrement, pourquoi faire 2 posts tu aurais pu utiliser répondre pour compléter le premier...
Mieux inscrit toi, c'est gratuit et tu pourras editer ton message pour le modifier.
Dernière chose quand tu met du codes utilises le petit bouton PHP avant et après ça génère des balises qui font que ton code est plus lisible...

Script 30.php

Posté : 29 mars 2006, 11:22
par Debuts88
Bonjour,
Merci. J'avais réfléchis après à retirer le chemin de trop. :P