Bonjour,
Je m'explique je voudrais que les liens afficher dans le contenu des messages de mon forum phpbb soit ciblé pour afficher la taille du fichier linké,sans passer par les fichiers joint.
sachant que les fichiers ciblés sont hébergé sur le même serveur que le forum.
J'ai créer un fichier dir.php qui affiche tous le contenu du dossier sur lequel il ce trouve avec la taille la date le type. A chaque fois que ce fichier est appelé il renvoie dans la base de données le contenu du dossier dans le quel il ce trouve (nom, taille, type,)
que voici :
<?php
$dir = opendir ("./" );
include "*****/config.php";
$db_link = mysql_connect($dbhost, $dbuser, $dbpasswd);
if (!$db_link)
{
die('Connexion impossible : ' . mysql_error());
}
if (!mysql_select_db($dbname, $db_link))
{
echo 'Sélection de base de données impossible';
exit;
}
function drago_sql_request($sql)
{
global $db_link;
$result = mysql_query($sql, $db_link);
if (!$result)
{
echo "Erreur DB, impossible d'effectuer une requête\n";
echo 'Erreur MySQL : ' . mysql_error();
exit;
}
return $result;
mysql_free_result($result);
}
$sql = "SELECT file_name FROM `****_links_info`";
$result = drago_sql_request($sql);
$files_array = array();
while($row = mysql_fetch_array($result))
{
$files_array[] = $row['file_name'];
}
while (($file = readdir($dir)) != false)
{
if ($file != "." && $file != "..")
{
$taille = filesize($file);
$extension = substr($file, strlen($file)-4, 4);
echo "Nom de Fichier : $file <br />";
if ($taille < 1024 )
{
echo "Taille : $taille octets <br />";
}
else if ($taille > 1024 && $taille < 1048576 )
{
$koo = $taille /1024 ;
echo round($koo, 2);
echo " Ko <br />";
}
else if ($taille > 1048576 && $taille < 1073741824 )
{
$koo = $taille / 1048576 ;
echo round($koo, 2) ;
echo " Mo <br />";
}
else if ($taille > 1073741824 && $taille < 1099511627776)
{
$koo = $taille / 1073741824;
echo round($koo, 2);
echo " Go <br />";
}
echo "Type : $extension <br />";
echo "<br />";
}
if(!in_array($file, $files_array))
{
$sql2 = "INSERT INTO `****_links_info` (file_name, file_type, file_size) VALUES ('".$file."', '".$extension."', '".$taille."')";
@drago_sql_request($sql2);
}
}
closedir($dir);
?>
Mon problème c'est que à chaque fois que je réactualise le fichier dir il réécrit de nouvelles entrées dans la base de données qui existe déjà mon deuxième problème L'id commence à zéro mais à la première actualisation mais une fois les entrèes éffacé il repart de l'id sur le quel il c'était arrété !!
J'espère avoir été assez clair !!
Merci