Aller au contenu

Sujets conseillés

Posté

Posté le : Mer Juin 16, 2004 13:45 Sujet du message: HelpPhp

--------------------------------------------------------------------------------

j'ai un script qui me permet d'uploader mes fichiers sur un ftp mais je ne comprends pas pourquoi, il me dis que ca a été envoyé mais il n'envoie rien :/

je vous montre le code :

<? 
if ($file_name == "none")
{
print "Spécifier un fichier à envoyer.";
}

else
{
/* indiquer $dest_file qui correspond au répertoire de destination */
$dest_file="../fichiers";

/* enlève un "\" */
$source_file=stripslashes($file_name);

/* copie du fichier */
$res_copy=copy($source_file , $dest_file);

print "votre fichier a bien été envoyé, pour le consuloter il vous suffit d'aller a cette adresse : http://gandalf28.free.fr/sqlexa/fichiers";
}
?>

Il n'y pas d erreur lors de l'exécution, si quelqu'un voit pourquoi ca marche pas :/

Posté

La fonction copy permet de copier des fichiers du serveur vers un autre répertoire/nom du même serveur, pas de faire un upload de fichiers.

Si tu veux faire un upload de fichiers en php, il te faudra utiliser un formulaire, par exemple:

<form enctype="multipart/form-data" action="_URL_" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Envoyez ce fichier : <input name="userfile" type="file" />
<input type="submit" value="Envoyer le fichier" />
</form>

Une fois le téléchargement effectué, tu trouveras toutes les infos sur les fichiers téléchargés dans la variable $HTTP_POST_FILES :

Le fichier téléchargé sera stocké temporairement dans le dossier temporaire du système, à moins qu'un autre dossier soit fourni avec la directive upload_tmp_dir du php.ini

Il faudra donc le déplacer avec:

bool  move_uploaded_file ( string   filename , string   destination )

  • 1 month later...
Posté

Salut,

Je dirais même plus, au lieu d'utiliser $_HTTP_POST_FILES, tu peux te simplifier la vie en ayant :

$_FILES['photo']['name'];

nom du fichier (le champ de formulaire était "photo")

et toutes tes variables du formulaire seront :

$_POST['nom_du_champ']

Par contre je déconseille totalement l'input caché pour envoyer la taille maximale de fichier : ne jamais faire confiance aux données envoyées par les formulaires, même si c'est une fois sur 100000 qu'il y'a quelque chose qui arrive, ça peut-être fatal. (enfin dans ce cas, pas tellement, au pire ça fera planter le script ou ça prendra beaucoup de place).

Ah oui, si tu patauges dans la semoule et que la configuration de ton serveur est standard, le fichier "source" sera $_FILES['photo']['tmp_name'] .

Voila, bonne chance !

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...