Faire telecharger un fichier .exe
Résolu
nocilex
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour. Depuis quelque temps je galère a faire une page web avec mon de passe pour faire telecharger un fichier .exe .
Tous est bon sauf au téléchargement. Quand je le fais sa télécharge en txt et donc sa ne marche pas. Donc je voudrais savoir si des gens si connaisse et qui si il peuvent me dire quoi changer dans se script :
Ou si il savent comment faire pour que sa lance le téléchargement par un lien : par exemple http://trucatelecharger.com/
Tous est bon sauf au téléchargement. Quand je le fais sa télécharge en txt et donc sa ne marche pas. Donc je voudrais savoir si des gens si connaisse et qui si il peuvent me dire quoi changer dans se script :
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename='Own-Life.exe'");
echo $your_text;
Ou si il savent comment faire pour que sa lance le téléchargement par un lien : par exemple http://trucatelecharger.com/
A voir également:
- Faire telecharger un fichier .exe
- Fichier bin - Guide
- Télécharger clavier arabe - Télécharger - Divers Web & Internet
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
2 réponses
Bonjour,
Une piste :
Toi tu as mis :
DOnc... c'est logique qu'il te le fasse en mode texte...
Tu veux pour une application..
donc sûrement un truc du genre
Une piste :
Toi tu as mis :
header("Content-type: text/plain");
DOnc... c'est logique qu'il te le fasse en mode texte...
Tu veux pour une application..
donc sûrement un truc du genre
header('Content-Type: application/octet-stream');
nocilex
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
exactement pareil
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
La façon habituelle de faire télécharger un fichier est que le navigateur demande le fichier, en envoyant au serveur web un url comme:
Dans ce cas-là, pas de code php impliqué, c'est le serveur web qui va renvoyer le fichier.
Je pense que tu essaies de faire autrement : tu veux que ton code php envoie le contenu du fichier au navigateur, mais tu lui envoies le nom du fichier, pas son contenu. Le navigateur ne peut rien faire avec ce nom.
<a href="http://download.httpwatch.com/httpwatch.exe" rel="nofollow noopener noreferrer" target="_blank">Download</a>
Dans ce cas-là, pas de code php impliqué, c'est le serveur web qui va renvoyer le fichier.
Je pense que tu essaies de faire autrement : tu veux que ton code php envoie le contenu du fichier au navigateur, mais tu lui envoies le nom du fichier, pas son contenu. Le navigateur ne peut rien faire avec ce nom.
Si tu veux faire comme tu as choisi, ton code php doit lire le fichier et en envoyer le contenu.
Il me semble que la technique est décrite ici :
https://ryansechrest.com/2012/07/send-and-receive-binary-files-using-php-and-curl/
Regarde le code PHP sous "Give the file back to the user".
Il me semble que la technique est décrite ici :
https://ryansechrest.com/2012/07/send-and-receive-binary-files-using-php-and-curl/
Regarde le code PHP sous "Give the file back to the user".
Plus simple:
https://www.php.net/manual/en/function.readfile.php
https://www.php.net/manual/en/function.readfile.php
<?php $file = 'monkey.gif'; if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.basename($file).'"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); readfile($file); exit; } ?>
Sa ne marche pas. Je t'envoie les code pour que tu comprenne mon probléme
Le fichier que je veux installer est Own-Life.exe
Le fichier que je veux installer est Own-Life.exe
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Codes d'accès au serveur central de la NASA</title> </head> <body> <?php if (isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] == "ownpass") // Si le mot de passe est bon { // On affiche les codes <?php $file = 'Own-Life.exe'; if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.basename($file).'"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); readfile($file); exit; } ?> } else // Sinon, on affiche un message d'erreur { echo '<p>Mot de passe incorrect</p>'; } ?> </body> </html>