upload

Eléphant du PHP | 124 Messages

15 avr. 2006, 11:20

slt
suis nouveau dans la programation php
je cré un site avec des galeries photo sur different themes
je voudrai que les visiteurs puisse metre leur photo sur le site, je supose donc que c'est bien ce scripte a ajouté a mon site
seulement quand je le fait fonctionné ça me repond
veuillez selectionner un repertoir valide
$destination_dir = ('http://monsite.ifrance.com/temp/');

qlq1 a une idée
merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 avr. 2006, 11:22

modération : pas de question dans la FAQ ;)
Je déplace le sujet dans un forum plus approprié
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 124 Messages

15 avr. 2006, 11:35

oui mais ou
merci

Eléphanteau du PHP | 22 Messages

15 avr. 2006, 12:35

Tu es sûr que le chemin vers le répertoire est correct ? Sinon ça peut être un problème de droit d'écriture.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 avr. 2006, 13:21

essaie avec un chemin relatif:
$destination_dir = ('temp'); 
en respectant l'arborescence des dossiers

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 124 Messages

15 avr. 2006, 13:21

oui il est correct
pour le droit en ecriture c'est fait aussi
j'ai mi 777 sur les dossier concerné avec ftp expert

Eléphant du PHP | 124 Messages

15 avr. 2006, 13:23

j'ai essayé aussi mais rien n'y fait

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 avr. 2006, 13:28

effectu un test avec le répertoire courant:
$destination_dir = ('.');
et si ça ne marche toujours pas montre un peu les lignes de code

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 124 Messages

15 avr. 2006, 13:31

je poste mon scripte peut ça ira mieu
<?php

if(isset($_FILES['photo']))
{
  // params
  unset($erreur);
  $extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
  $taille_max = 100000;
  $dest_dossier = 'http://monsite/photo';
 
// [b][color=brown]ici ça doit etre le repertoire de destination sur le site[/color][/b]


 // 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']['temp']) 
          and filesize($_FILES['photo']['temp']) > $taille_max)
  {
// [b][color=brown]ici le repertoire temporaire que j'ai crée sur le serveur du site[/color][/b]
    $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']['temp'], $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>
voila si qlq1 peut peut m'aider
merci