2010-12-06 5 views
0

Je ne suis pas très habitué à php, mais j'ai fait une page index.php pour mettre dans n'importe quel dossier de mon serveur web privé, afin de me permettre de télécharger rapidement quelques docs. Cela fonctionne bien, sauf que j'ai essayé d'ajouter la taille du fichier. Cette partie du code affiche simplement "filesize" au lieu de la taille elle-même. Quelqu'un peut-il aider à résoudre ce problème?Liste de fichiers php simple - filesize ne fonctionne pas

<h1>My tools</h1> 
<?php 
$dirname = "."; 
$dir = opendir($dirname); 

while(false != ($file = readdir($dir))) 
    { 
    if(($file != ".") and ($file != "..") and ($file != "index.php")) 
     { 
     echo("<a href='$file'>$file</a> filesize($file) <br />"); 
     } 
    } 
?> 
+1

readdir() est une ancienne méthode de création de fichier. Consultez DirectoryIterator http://php.net/directoryiterator – raspi

+0

@raspi: Merci! –

Répondre

2
echo("<a href='$file'>$file</a> ".filesize($file)." <br />"); 

Vous ne pouvez pas intégrer quelque chose comme ça. Dans votre cas, PHP n'a aucun moyen de savoir si vous voulez appeler la fonction filesize ou vous voulez simplement que le texte soit imprimé afin qu'il soit conçu pour interpréter votre format comme du texte au lieu d'un appel de fonction, c'est l'option sûre.

Voir ici pour ce que vous êtes autorisé à mettre des chaînes à l'intérieur deux cotés: http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing

2

écrit juste « taille du fichier » dans une chaîne ne sera pas exécuter la fonction filesize. Vous devez l'appeler en dehors d'un littéral de chaîne:

echo("<a href='$file'>$file</a> " . filesize($file) . "<br />"); 
Questions connexes