Faire telecharger un fichier .exe
Résolu
                    
        
     
             
                    nocilex
    
        
    
                    Messages postés
            
                
     
             
            43
        
            
                                    Statut
            Membre
                    
                -
                                     
yg_be Messages postés 24281 Statut Contributeur -
        yg_be Messages postés 24281 Statut Contributeur -
        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
- 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
            
                
     
             
            43
        
            
                                    Statut
            Membre
                    
    
    
    exactement pareil
    
    
                        
                            
                    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>
    