2009-08-07 8 views
0

J'essaie de créer une page de téléchargement de fichier. Cette page, lorsqu'elle est demandée, doit inviter l'utilisateur à télécharger un fichier. Voici le code source de la page:télécharger le fichier avec php (travaillant sur apache sous localhost)

<?php 
header('Content-disposition: attachment; filename=zip.zip') 

header('Content-type: application/zip'); 

readfile('zip.zip'); 

?> 

Cela fonctionne bien.

Les problèmes commencent quand je veux déplacer le fichier zip.zip du dossier dans lequel ce script est. J'ai essayé d'utiliser des URL relatives et absolues, mais je reçois toujours des résultats étranges, le navigateur demande encore pour le fichier téléchargement, mais en quelque sorte, il est juste un nom de fichier converti impair de l'URI I fourni somthing comme ".._.._files_zip.zip au lieu de ../../files/zip.zip

Toute suggestion pourquoi cela se produit Merci

+2

Publier un exemple d'élément qui ne fonctionne pas – MitMaro

+0

même en essayant de récupérer le fichier du même endroit en utilisant l'URL relative comme le code affiché dans ce commentaire cela ne fonctionne pas en téléchargeant le fichier nommé "_zip.zip" qui n'existe pas vraiment merci pour l'intrest –

Répondre

1

Utilisez basename pour obtenir juste le nom du fichier.?

$file = '../../files/zip.zip'; 
header('Content-Disposition: attachment; filename='.basename($file)); 
header('Content-Type: application/zip'); 
readfile($file); 
+0

merci pour cela :) cela a fonctionné hautement apprécier l'aide –

Questions connexes