Comment télécharger un fichier php sans l'exécuter?
je travaille sur un système de gestion de contenu pour ce que j'ai à télécharger un fichier php à l'aide du code php sans l'exécuter. quelqu'un peut m'aider sur ce
c'est quelque chose comme le ftp. j'ai ajouté les options télécharger, modifier et télécharger un fichier. il fonctionne très bien. mais lors du téléchargement d'un fichier php, il est exécuté à la place de de téléchargement...
Ce que j'ai essayé est:
<?php
$file = $_REQUEST['file_name'];
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
include_once($file);
exit;
}
?>
source d'informationauteur Jagadeesan
Vous devez vous connecter pour publier un commentaire.
Vous devez charger les fichiers de contenu, écrire le contenu à la demande et de définir les en-têtes de sorte qu'il est analysé comme force de les télécharger ou de flux d'octets.
Par exemple:
http://server.com/download.php?name=test.php
Contenu de download.php:
Ce code fonctionne sans aucune modification. Bien qu'il a besoin de validation et de certains éléments de sécurité.
Le serveur en quelque sorte identifie les fichiers qui doivent être exécutées à la place de téléchargé. Vous devez exclure le .php fichier que vous souhaitez télécharger à partir de cette manipulation. Le plus simple est probablement de renommer le fichier .php.txt.
Sinon, vous devriez être en mesure de configurer le serveur de ne pas traiter ce fichier en particulier, ou le chemin d'accès ont été il est situé. Comment tu fais ça dépend sur quel serveur vous êtes en cours d'exécution.
Si un tel fichier php est situé sur le même serveur/site web, puis il suffit de l'ouvrir comme un fichier normal, par exemple,
$fileContents = file_get_contents($filename);
Si le fichier est sur un autre serveur, vous avez quelques possible options:
1) Accès via FTP (si vous avez les détails de connexion et d'accès)
2) spécial règle de Réécriture d'URL sur le serveur qui ordonnera serveur web pour envoyer le fichier en tant que texte brut au lieu de l'exécuter (par exemple,
somefile.php.txt
)3) script spécial sur ce serveur et en passant un nom de fichier comme paramètre, il sera de retour le contenu de ce fichier (par exemple,
http://example.com/showfile.php?file=somefile.php
)Vous pouvez lire beaucoup de choses sur elle sur php.net/headermais pour forcer un téléchargement, vous pouvez utiliser une force de téléchargement d'en-tête. Ce commentaire est incroyablecheck it out! 🙂
C'est comment faire pour télécharger un fichier php au lieu de l'exécuter.
Confiance en moi, ça marche!!! ..télécharger le fichier php avec des risques 🙂
Espère que cela vous aide bro 🙂