upload

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : upload

re upload

par tilillois » 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

par Truc » 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

re

par tilillois » 15 avr. 2006, 13:23

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

re

par tilillois » 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

par Truc » 15 avr. 2006, 13:21

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

par Spartakis » 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.

re

par tilillois » 15 avr. 2006, 11:35

oui mais ou
merci

par zeus » 15 avr. 2006, 11:22

modération : pas de question dans la FAQ ;)
Je déplace le sujet dans un forum plus approprié

upload

par tilillois » 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