c'est possible en PHP ? sinon comment faire ?

c'est possible en PHP ? sinon comment faire ? - PHP - Programmation

Marsh Posté le 10-04-2002 à 14:30:25    

salut. J'aimerais faire un script permettant a l'utilisateur d'uploader sur le serveur un fichier qu'il a en local.
 
je pense donc utiliser ca:
<input type="file" name="monFichier" size="20">
 
mais je crois que PHP n'est pa doté de fonction qui permettent de copier des fichiers provenant du client... Je me trompe ?
si je me trompe pas, comment faire ?

Reply

Marsh Posté le 10-04-2002 à 14:30:25   

Reply

Marsh Posté le 10-04-2002 à 14:35:44    

tu peux regarde sur la doc y a l'explication sur l'upload.
 
http://www.php.net/manual/fi/featu [...] ost-method


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 10-04-2002 à 14:51:03    

merci, je V regarder ^_^
 
donc C possible en php :)

Reply

Marsh Posté le 10-04-2002 à 15:27:38    

jerem38 a écrit a écrit :

merci, je V regarder ^_^
 
donc C possible en php :)  




 
oui c'est possible mais certain hebergeur gratuit voir meme tous desactive la fonction upload pour éviter les pb de sécurité !!!


---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Marsh Posté le 11-04-2002 à 09:29:49    

ARF!
j'avais peur qu'il y ait un coup foireux... :(
de toute facon, j'arrive meme pa a le faire marcher... je susi avec easyPHP, je fais du copier/coller de l'exemple, et il ne veut pas me copier ce fichier !
 
voila le probleme en détail :
la page HTML
<form enctype="multipart/form-data" action="test.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
 
la page test.php
<?php  
// In PHP 4.1.0 or later, $_FILES should be used instead of $HTTP_POST_FILES.
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
    copy($HTTP_POST_FILES['userfile']['tmp_name'], "/upload" );
} else {
    echo "Possible file upload attack. Filename: " . $HTTP_POST_FILES['userfile']['name'];
}
/* ...or... */
//move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "/place/to/put/uploaded/file" );
?>
 
dans le rep ou se trouve test.php, il y a bien un sous rep upload. Je suppose qu'il faut mettre un path relatif, hein ?
si j'essaye de copier au meme endroit que le script, en mettant "/" comme path, j'ai une erreur :
Warning: Unable to create '/': No such file or directory in c:\outils\easyphp\easy php\www\test.php on line 4
 
snif...
 
help plz...
sinon, si vous pouez me conseiller d'autres techniques pour upload, sans passer par le php qui est désactivé, elles sont les bienvenues :)
 :hello:

Reply

Marsh Posté le 11-04-2002 à 10:44:56    

Voila ce que j'utilise moi et ca va aussi bien sur mon serveur que sur mon serveur teste que j'au sur ma machien win 2k
 
le script d'upload a des fonction de test et de renomage de fichier pour pouvoir mettre dans une db et avoir un nom qui correspond a la news ...
 
<?
echo "<FORM METHOD='POST' NAME='news' ENCTYPE=\"multipart/form-data\">";
.
.
.
.
echo "Image :<BR><INPUT ACCEPT='image/gif,image/jpeg' NAME='userfile' TYPE='File' SIZE='30' MAXLENGTH='99' VALUE='$save'>";
.
.
.
.
echo "<INPUT NAME='submit' TYPE=Submit VALUE='Envoyer'>";
echo "</FORM>";
}
?>
 
<?
if ($SCRIPT_NAME == "/php4/php.exe" ) {
  $destination="d:\\wwwserver\\www\\news\\";
}
else  
{
  $destination="/home/....../web/news/";
}
 
$taille=25600;
$fichier=$userfile;
if ($userfile_size!=0)  
{
  $taille_ko=$userfile_size/1024;
}
else
{
  $taille_ko=0;
}
 
if ($userfile_size>$taille)  
{
  if($taille!=0)  
  {
    $taille_max_ko=$taille/1024;
  }
  $erreur=1;
}
 
if ($userfile!="none" && $userfile_size<$taille && userfile_size!=0)
{
  $ext=explode(".", $userfile_name);
  if ($counterimg==0 || $image == "" )
  {
    $filename = $now . "." . $ext[1];
  }
  else
  {
    $image = explode(".",$image);
    $filename = $image[0] . "." . $ext[1];
  }
 
  if (!copy($userfile, "$destination".$filename))
  {
    $erreur=1;
  }
  else
  {
    $erreur=0;
  }
}
?>


---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Sujets relatifs:

Leave a Replay

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