protéger l'accès à un fichier csv

Eléphanteau du PHP | 45 Messages

04 janv. 2007, 15:43

Bonjour,
J'espère que ceci est la dernière question avec laquelle je dois vous déranger.
J'ai donc réussi à faire le fichier csv dont il était question dans mon dernier post. Le but est que je puisse le récupérer et le traiter avec excel par la suite. Seulement voilà:
1. lorsque je rentre son url, le fichier apparaît direcement dans le navigateur (comme un fichier txt ou css) alors que j'aimerai qu'il puisse être téléchargé (petite boîte de dialogue qui s'ouvre),
2. est-ce que je peux protégé l'accès à ce document par un mot de passe (emplacement genre: www.monsite.ch/admin/*.csv) sans pour autant en bloquer l'accès à mon script php.
Merci,
jr

ViPHP
fab
ViPHP | 2657 Messages

04 janv. 2007, 15:48

en php tu peux forcer le téléchargement d'un fichier via l'envoie de header
exemple pour une image :
<?php 
// infos du fichier 
$fichier = 'mes_fichiers/monimage.jpg'; 
$nom_fichier = 'monimage.jgp'; 
     
// téléchargement du fichier 
header('Content-disposition: attachment; filename='.$nom_fichier); 
header('Content-Type: application/force-download'); 
header('Content-Transfer-Encoding: fichier');  
header('Content-Length: '.filesize($fichier)); 
header('Pragma: no-cache'); 
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); 
header('Expires: 0'); 
readfile($fichier); 
?>  

De plus, avant le téléchargement tu peux inserer un systeme d'identification :)
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphanteau du PHP | 45 Messages

04 janv. 2007, 15:55

Merci bcp, qq ptites questions si j'ose:

1. Est-ce que celà marche aussi pour un fichier en format.csv?
2. Comment insérer des headers dans un fichier créé par fwrite?
3. Je sais pas faire un système d'identification (je commence une recherche sur le net)?
4. Est-tu sûr que le fait de mettre un mot de passe ne va pas bloquer l'accès au fichier csv par le script fwrite?

Merci.

Eléphanteau du PHP | 45 Messages

04 janv. 2007, 16:05

J'ai fait un test, j'avais pas tout de suite compris qu'il fallait créer ce fichier php et que c'est en l'invoquant que le fichier sera ensuite téléchargé.
Joli morceau de programmation. Merci.
plus qu'à trouver comment forcer l'identification, et c'est bon.
Merci encore,
jr

ViPHP
fab
ViPHP | 2657 Messages

04 janv. 2007, 16:08

Je crois qu'avant d'aller plus loin il serait vraiment bien pour toi d'apprendre les bases de php histoire de au moins comprendre comment ça marche du moins un minimum.
Si tu as généré un fichier csv maintenant il est généré il existe le fwrite on s'en fou :)
Oui le systeme de forcer un téléchargement marche avec les .csv meme avec n'importe quel type de fichier!
Pour le systeme d'identification fais une recherche ou cherche un tutorial c'est peut etre le mieux
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphanteau du PHP | 45 Messages

04 janv. 2007, 17:23

Salut Fab,
C'est vrai que j'ai pas de suberbes notions en php, ça fait trois jours que je programme et je commence petit à petit à comprendre.
Ceci dit, le message poster direct derrière celui posant les 4 questions voulait dire: "ok, j'ai capté que la création du fichier .csv est indépendant de la façon dont on l'acquiert".
Ceci dit, j'ai beau googler "php système d'identification" et consorts, je trouve pas de tutoriel. Si qq en connais un...