<¿ 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 ¿>

par artotal » 31 mai 2006, 23:34

moi non plus avant de le constater.
J'ai essayer pas mal de syntaxe sans résultat pour dotclear

Code : Tout sélectionner

$dest_dossier = "http://artotal.serveftp.net/dotclear/"; $dest_dossier = "\dotclear\""; $dest_dossier = "../dotclear/"; etc...
C'est pas grave, dumoment que sa fonctionne ailleurs.

par iclo » 31 mai 2006, 19:25

Je ne pense pas que sur un serveur web tu ais accès à tout le disque dur.
Tu dois définir les urls à partir de la racine du site.

par artotal » 31 mai 2006, 15:48

edit:: la taille max

C'est Dotclear qui n'aime pas sa, sous d'autre site sa fonctionne très bien, comme ici :
http://creatif-web.be/php_5/formulaire/fichier.php
Peut être faut il développé un plug in.
Pour que sa fonctionne, bah

par Ryle » 31 mai 2006, 13:20

Tu as changé le php.ini, mais dans le script tu as toujours

Code : Tout sélectionner

$taille_max = 1000000;
??

Tu dis qu'en local ça passe.. les chemins sont ils les même sur le serveur et en local ? as tu les droits suffisant pour écrire dans le fichier ? colle des echo un peu partout et essaye de trouver à quel endroit il passe et qu'est ce qui ne réagit pas correctement :)

par artotal » 31 mai 2006, 12:34

Je n'est pas de message d'erreur, les fichier ne cont pas télécharger.
En local sa passe.C'est peut être un problème de chemin dans :

Code : Tout sélectionner

$dest_dossier = 'C:\testeur';
Peut être faut-il exclusivement, placer dans un repertoire d'apache pour que sa fonctionne ?

par Cyrano » 31 mai 2006, 07:18

...Sa marche pas ...
Ça n'aide pas beaucoup à la compréhension du problème, tu ne crois pas ?

<¿ upload ¿>

par artotal » 31 mai 2006, 01:55

Bonjour,
Alors voilà j'ai copier le script du tuto 'upload des fichier avec php" de phpfrance, pour le mettre sous dotclear que j'héberge ici
http://artotal.serveftp.net/dotclear/index.php/
Sa marche pas
En théorie tous fichiers devraient fonctionner, comme le montre le code ci-dessous.
J'ai juste changé dans php.ini la longueur que j'ai mis à 20 mo
; Maximum size of POST data that PHP will accept.
post_max_size = 20M
Et le script est mis en include
Merci d'avance.
Ici le même script fonctionne :
http://creatif-web.be/php_5/formulaire/fichier.php
<?php
      if(isset($_FILES['photo']))
      {
      // params
      unset($erreur);
      $extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'txt', 'doc', 'odt', 'ods', 'html', 'htm', 'css', 'pdf', 'swf', 'fla');
      $taille_max = 2000000;
      $dest_dossier = 'C:\apachefriends\xampp\htdocs\dotclear';
      // utilisez également des slashes sous windows : $dest_dossier = 'd:/damien/photos/';
      // vérifications
      if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
      {
      $erreur = 'Veuillez sélectionner un fichier de type png, gif, jpg, txt, odt, doc, ods, html, css, pdf, swf ou fla !';
      }
      elseif( file_exists($_FILES['photo']['tmp_name'])
      and filesize($_FILES['photo']['tmp_name']) > $taille_max)
      {
      $erreur = 'Votre fichier doit faire moins de 20000Ko !';
      }
      // 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-9]+)/i', '_', $dest_fichier);
      // copie du fichier
      move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
      }
      }
      if(isset($erreur)){
      echo '<p>', $erreur ,'</p>';
      }
print "<form method=\"POST\" action=\"fichier.php\" enctype=\"multipart/form-data\">
      <!-- Limiter la taille des fichiers à 500Ko -->
      <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"2000000\" />
      <fieldset>
      <legend>Envoi de fichiers</legend>
      <!-- champs d'envoi de fichier, de type file -->
      <p><label for=\"photo\">Photo, document, script...etc :<br /><br /></label><input type=\"file\" name=\"photo\" /></p>
      <!-- bouton d'envoi -->
      <p><input type=\"submit\" name=\"envoi\" value=\"Envoyer les fichiers\" /></p>
      </legend>
      </fieldset>
      </form>";
echo "<p>ton ip est le <span class=\"red\">".$_SERVER["REMOTE_ADDR"]."</p>";
?>