Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[téléchargement .php] Mettre en oeuvre.


Messages recommandés

Posté(e)

Bonjour tous le monde,

 

Je développe dans mon coin un petit (très petit) client FTP en PHP pour mon CMS (toujours le même pour ceux qui suivent), et je bute sur un point.

 

En effet, c'est simple de faire télécharger, une image, un .zip ou un .mp3 (quand ont connais la solution évidement).

 

Mais je souhaite pouvoir télécharger un .php, .html, et autre extension de langage...

 

J'ai bien essayer le clic droit (au cas ou) mais le fichier n'est jamais complet ou vide...

 

Je me suis dit, bha pourquoi pas créer un zip a la volé avec ziplib, mais comme il s'agit de module redistribuable, tous le monde n'a pas le pouvoir de rajouter des lib...

 

Donc je reste coincé.

 

Si quelqu'un connais la solution, je le remercie d'avance.

 

PS: je récupère le lien du fichier avec $file .

 

A bientôt ^^

Posté(e)

pas tout compris s'il s'agit de download ou d'upload mais sinon tu peux toujours utiliser la fonction header pour renvoyer le fichier lu en plain text

<?php
$filename=$_GET['file'];
header("Content-Type: text/plain");
header("Content-Disposition: attachment; filename=$filename");

$handle=  fopen($filename,"r");
if ($handle) {
while (!feof($handle)) {
	$buffer = fgets($handle);
	echo $buffer;
}
fclose($handle);
}
?>

 

bon là il prend l'adresse du fichier via la variable passée par GET mais vu que tu as ça par $_FILES, y'a qu'à changer.

Le client récupère le contenu du fichier en attachement (tu peux le mettre en inline si tu veux)

Posté(e)
pas tout compris s'il s'agit de download ou d'upload mais sinon tu peux toujours utiliser la fonction header pour renvoyer le fichier lu en plain text

<?php
$filename=$_GET['file'];
header("Content-Type: text/plain");
header("Content-Disposition: attachment; filename=$filename");

$handle=  fopen($filename,"r");
if ($handle) {
while (!feof($handle)) {
	$buffer = fgets($handle);
	echo $buffer;
}
fclose($handle);
}
?>

 

bon là il prend l'adresse du fichier via la variable passée par GET mais vu que tu as ça par $_FILES, y'a qu'à changer.

Le client récupère le contenu du fichier en attachement (tu peux le mettre en inline si tu veux)

 

 

Salut Greywolf,

 

J'ai tester ton script, mais c'est identique, il l'ouvre mais ne le télécharge pas ...

 

Une autre idée peut être ? (il s'agit bien de télécharger un fichier.php ou .txt)

Posté(e)

Essaie de dire à ton navigateur que c'est du "application/octet-stream" et pas du "text/plain" (qu'il sait ouvrir), peut-être qu'à ce moment-là il acceptera de le télécharger au lieu de l'ouvrir...

Posté(e)

Salut Kewlcat,

 

Idem, je vient d'essayer, ainsi qu'avec : application/force-download ça me l'ouvre toujours ... impossible de le télécharger ...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...