nouvelle extension pour script upload file

nouvelle extension pour script upload file - PHP - Programmation

Marsh Posté le 03-04-2011 à 17:22:40    

.
 
 
Bonjour a tous,
 
 
J'utilise un script pour une page permettant de charger des fichiers vers mon hebergement, qui fonctionne tres bien avec l'extension actuelle,
mais je voudrais les remplacer par l'extension de fichiers sgf (fichier texte au format smart game pour jeux de reflexion),
 
mon probleme est que il refuse l'extension, j'ai tout essaye, en vain.
 
1- J'ai essaye de remplace la premier ligne image/jpg par text/sgf, il me dit invalid file
2- j'ai garde la premier ligne et rajouté un fermer parenthèse, et supprimé les ligne 3 et 4, n'ayant pas besoin des extensions jpeg et pjeg, ll me dit invalid file  
3- j'ai essaye de remplacer les trois lignes par text/sgf, pareil, meme probleme.....
(bon comme vous vous en etes apercu, je n'y connais rien malheureusement...)
 
voici mon script php :
 

Code :
  1. <?php
  2. if ((($_FILES["file"]["type"] == "image/jpg" )
  3. || ($_FILES["file"]["type"] == "image/jpeg" )
  4. || ($_FILES["file"]["type"] == "image/pjpeg" ))
  5. && ($_FILES["file"]["size"] < 2000000))
  6. {
  7. if ($_FILES["file"]["error"] > 0)
  8. {
  9.  echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
  10. }
  11. else
  12. {
  13.  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  14.  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  15.  if (file_exists("upload/" . $_FILES["file"]["name"]))
  16.  {
  17.   echo $_FILES["file"]["name"] . " already exists. ";
  18.  }
  19.  else
  20.  {
  21.   move_uploaded_file($_FILES["file"]["tmp_name"],
  22.   "upload/" . $_FILES["file"]["name"]);
  23.   echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
  24.  }
  25. }
  26. }
  27. else
  28. {
  29. echo "Invalid file";
  30. }
  31. ?>


 
 
Quelqu'un pourrait il m'aider ?
Merci vraiment beaucoup d'avance.....
:)
 
 
 
.

Reply

Marsh Posté le 03-04-2011 à 17:22:40   

Reply

Marsh Posté le 04-04-2011 à 01:46:54    

.
 
 
Après des recherches, il y a un problème apparemment sur le MIME type....
 
J'ai changé la dernier ligne de mon code en :
echo "Invalid file [".$_FILES["file"]["type"]."]";
 
et j'obtiens un :
Invalid file [application/octet-stream]
 
 
Si je me réfère a la documentation de référence de ce genre de fichiers pour le problème de MIME type ici :
http://gobase.org/software/sgfform [...] f_mimetype
 
le MIME type serait :
application/x-go-sgf
 
Si je me réfère au seul qui actuellement est arrivé a mettre en ligne une page upload pour ce type de fichiers ici :
http://eidogo.com/upload
 
Sa note de travail justement sur le problème des MIME type de ces fichiers ici :
http://code.google.com/p/eidogo/issues/detail?id=10
http://code.google.com/p/eidogo/is [...] 3414c7da31
 
Il précise le MIME type adéquat a utiliser :
- text/plain
- application/x-go-sgf
 
 
J'ai mis ces 2 MIME types de cette manière :
 
if ((($_FILES["file"]["type"] == "text/plain" )
 || ($_FILES["file"]["type"] == "application/x-go-sgf" )
 || ($_FILES["file"]["type"] == "image/jpeg" )
 || ($_FILES["file"]["type"] == "image/pjpeg" ))
 && ($_FILES["file"]["size"] < 2000000))
 
 même message d'erreur :
Invalid file [application/octet-stream]
 
 
Quelqu'un a t'il une idée ? Ou je me suis trompé quelque part peut-être dans mon bout de code....
:(
 
 
.

Reply

Marsh Posté le 04-04-2011 à 03:03:35    

Le MIME est une information plus ou moins arbitraire. Si Firefox (ou ton navigateur web) ne connaît pas l'extension, il utilisera le type MIME correspondant à un fichier binaire inconnu, à savoir application/octet-stream.
 
Ton seul moyen de vérifier la validité du fichier, c'est de vérifier l'extension du fichier + éventuellement son contenu si tu sais le parser


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 04-04-2011 à 03:11:03    

non je sais pas faire....
 
quelqu'un m'a dit que cela serait préférable en fait de changer mon code carrément, et de n'avoir justement pas la notion de type fichier,
mais je sais pas comment faire (suis nul en php huhu...).
 
 
J'ai trouve ce code originel sur un tuto, ici :
http://www.w3schools.com/php/php_file_upload.asp
 
 
Et j'ai trouve un tuto francais mais différent, justement plutôt sur les caractères extensions et non pas les noms de type :
http://www.phpfacile.com/creer_un_ [...] ier_1.php5
 
 
Mais impossible de le faire fonctionner celui la,
A chaque fois il me met le message d'erreur du code (Le fichier n'a pas l'extension attendue) même si je charge une extension répertoriée  
dans le code comme jpg, de plus je sais pas ou changer le nom du répertoire, contrairement au premier script qui est plus clair a mon niveau.
(mais bon, je sais pas si le deuxième script résoudra mon problème de fichier sgf par contre...).
 
 
.


Message édité par LDL le 04-04-2011 à 03:19:39
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed