c'est possible en PHP ? sinon comment faire ? - PHP - Programmation
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
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é !!!
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
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;
}
}
?>
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 ?