Bonjour à tous,
J’ai actuellement une page php qui est comme ceci :
<?
require("protec/passe/conf.php3");
$db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
// SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
$requete=mysql_db_query($sql_bdd,"select * from membre where id=\"$id\"",$db_link);
// SI L'ID N'EXISTE PAS
if(mysql_num_rows($requete)==0)
{
header("Location:$url_erreur");
}
?>
</head>
<body>
<div id="menu_principal">
<div id="menu_conteneur"> </div>
</div>
<div id="general">
<div id="general_conteneur">
<div id="gauche"> </div>
<div id="droite">
</div>
<div id="centre">
<?php
$path = basename($_SERVER['SCRIPT_NAME'],".php3");
{
echo '<h2>Bienvenue '.str_replace ('_', ' ', $path).' sur votre espace personnel</h2>';
}
?>
</p>
<table width="100%" border="0">
<tr>
<td><div align="center">
<p> </p>
<p>
</p>
</div></td>
</tr>
</table>
<p> </p>
<p align="left">Vos factures sont classées de la plus récente à la plus ancienne. Elles sont au format PDF. Si vous ne disposez pas d'Adobe Acrobat Reader pour les ouvrir et les imprimer, vous pouvez le télécharger gratuitement <a href="http://www.adobe.com/fr/products/acrobat/readstep2.html" target="_blank">ici</a>.</p>
<p align="left" class="important"> </p>
<p align="left" class="important"> </p>
<p align="left" class="important"> </p>
<table cellpadding="3" cellspacing="1" class="particuliers">
<tr>
<th scope="col">Vos factures<br /></th>
<th scope="col">Date de mise en ligne<br />
<th scope="col">Taille du fichier<br /></th>
</tr>
<?php
//Guillaume ROBERT pour le site Zerobug
//http://www.zerobug.fr
//Script permettant de lister tous les fichiers PDF d'un répertoire
//dans un tableau et créant automatiquement des liens de
//téléchargement. Le fichier PDF ne s'ouvre donc pas par défaut
//dans le navigateur mais l'utilisateur aura le choix entre l'ouvrir
//et le télécharger sur son disque dur
function listing($dir)
{
$pdf_files = array();
$dh = opendir($dir);
while (false !== ($filename = readdir($dh)))
{
if(strtolower(strrchr($filename, '.')) == '.pdf')
$pdf_files[] = $filename;
elseif(strtolower(strrchr($filename, '.')) == '.zip')
$pdf_files[] = $filename;
}
rsort($pdf_files);
$sommepoids = "";
foreach($pdf_files as $pdf_file)
{
/* à partir de là, on créé le lien forçant le
//téléchargement du fichier PDF
//Pour cela, il vous faudra créer dans chaque répertoire à lister
//un fichier php (ici nommé down.php) composé comme ceci :
//<?
//header("Content-type: application/pdf");
//header("Content-Disposition: attachment; filename=$pdf");
//readfile($pdf);
//?> */
$poidsdufichier = round(filesize($dir."/".$pdf_file)/1024,2);
$sommepoids += $poidsdufichier;
echo '<tr>
<td><p align="center"><a href="'.rawurlencode($dir).'/down.php?pdf='.rawurlencode(str_replace ('/', '', $pdf_file)).'">'.$pdf_file.'</a></p></td>
<td><p align="center">'.date ("d/m/Y", filectime($dir."/".$pdf_file)).'</p></td><td><p align="center">'.round(filesize($dir."/".$pdf_file)/1024,2) .'Ko</p></td>
</tr>';
}
echo '<p>'.count($pdf_files).' fichier(s) disponible(s) pour un poids total de '.$sommepoids.' Ko</p>';
}
listing($path);
$urlComplete= rawurlencode(str_replace ('/', '', $value));
?>
</table>
</div>
</div>
</div>
</body>
</html>
Chaque client a sa propre page du type prenom_nom.php3. Chaque page est identique, seul son nom change car grâce au nom du fichier php3, je liste les fichiers qui sont dans le dossier prenom_nom ( $path = basename($_SERVER[‘SCRIPT_NAME’],".php3");).
Je souhaiterai remodifier ça afin de n’avoir plus q’une seule page php3 qui se serve du login du client ($pseudo) pour lister le fichier. J’ai essayé, mais pas assez doué en php pour y arriver.
Est-ce que quelqu’un pourrait me donner un coup de main pour y arriver ?
Edité le 24/01/2009 à 18:59