Page 1 sur 2
fonction filemtime
Posté : 18 août 2005, 20:34
par Cypher_PHP
salut
j'aimerais savoir où est le problème.
en fait, je voulais faire apparaître les dernières modifications de date de chaque fichier.
voici le message d'erreur:
Fatal error: Cannot redeclare filemtime() in /var/www/free.fr/d/f/0540gbqu/xxx/info.php on line 2
voici le code php:
<?
function FilemTime( $filename )
{
return date('d/F/Y', filemtime( $filename ));
}
?>
<?php
FilemTime( 'include/admin' );
FilemTime( 'include/admin/config.fonc.php' );
FilemTime( 'include/admin/dotnet.css' );
?>
Cordialement
Cypher_PHP
Posté : 18 août 2005, 20:44
par graal
Les noms de fonctions n'ont pas de sensibilité à la casse.
Donc :
filemtime == FileMtime == FiLEmTIMe
Fais plutot
<?php
function _filemtime( $filename )
{
return date('d/F/Y', filemtime( $filename ));
}
?>
Posté : 18 août 2005, 21:33
par Cypher_PHP
ah oui
je comprends mieux
aie, un petit truc: je n'arrivais pas à faire afficher le nom du fichier.
il m'affichait seulement la date.
je voulais ça" include/admin: 15/August/200515"
<?
echo _FilemTime( 'include/admin/config.fonc.php' );
?>
Cordialement
Cypher_PHP
Posté : 18 août 2005, 22:27
par Cypher_PHP
un petit coup d'aide???
Cordialement
Cypher_PHP
Posté : 18 août 2005, 22:29
par Cyrano
Je comprends pas ce que tu veux au juste : un minimum de clarté et de précision dans les question, ça fait du bien des fois...
Posté : 18 août 2005, 22:39
par Cypher_PHP
ah d'ac
je voulais dire que j'aimerais ajouter le chemin absolu du fichier comme "include/admin/config.php"
pour faire afficher ce chemin, je met en echo $filename mais avec la fonction ca aurait déja été fait car $filename est dans la fonction.
j'espere vous avir bien expliqué car c'est pas mon point fort. ma particularité dans ce forum (je l'espère): je suis sourd.
Cordialement
Cypher_PHP
Posté : 18 août 2005, 22:43
par Cyrano
Alors construis ton affichage:
<?php
$fichier = "include/admin/config.fonc.php";
$date_modif = _FilemTime($fichier);
echo("<p>". $fichier ." : ". $date_modif ."</p>");
?>
Posté : 18 août 2005, 22:58
par Cypher_PHP
oui ca marche
mais la fonction aurait été simple non?
bon je vais réfléchir à ça
Cordialemnt
Cypher_PHP
Posté : 18 août 2005, 23:01
par Cyrano
Alors fais ta construction dans la fonction et retourne la construction à la place.
Posté : 19 août 2005, 14:18
par Cypher_PHP
un tout petit problème à régler et après j'espere que cete fois c'est le bon
je n'arrivais pas à faire afficher le chemin $filename et la date $date_modif....
<?
function _FilemTime( $filename )
{
return date('H:i:s - d F Y', filemtime( $filename ));
}
$date_modif = _FilemTime( $filename );
function _arrayfilemtime()
{
echo '<tr>';
echo '<td>' . $filename . '/</td>';
echo '<td>';
echo $date_modif ;
echo '</td>';
echo '</tr>';
}
?>
<?php
_arrayfilemtime( 'include/admin' );
_arrayfilemtime( 'include/admin/config.fonc.php' );
_arrayfilemtime( 'include/admin/config.req.php' );
_arrayfilemtime( 'include/admin/config.pass.php' );
_arrayfilemtime( 'include/admin/dotnet.css' );
?>
le mauvais résultat:
Cordialement
Cypher_PHP
Posté : 19 août 2005, 18:23
par Cyrano
essaye donc comme ça :
<?
function _FilemTime( $filename )
{
return date('H:i:s - d F Y', filemtime( $filename ));
}
function _arrayfilemtime($dm, $fichier)
{
echo ' <tr>';
echo ' <td>' . $fichier . '/</td>';
echo ' <td>'. $dm .'</td>';
echo ' </tr>';
}
$date_modif = _FilemTime( $filename );
$affichage = _arrayfilemtime($date_modif, $filename);
?>
<table summary="liste des fichiers modifiés">
<?php
echo($affichage);
?>
</table>
Posté : 19 août 2005, 19:15
par Xenon_54
Bonjour,
Afficher du HTML à partir d'une fonction? Ça ne m'inspire pas trop...
Surtout question réutilisation et modularité...
Posté : 19 août 2005, 20:29
par Cypher_PHP
Cyrano,
franchement je ne comprends plus rien
Cordialement
Cypher
Posté : 19 août 2005, 20:58
par Cypher_PHP
bon, j'essaie d'expliquer clairement.
j'aimerais que ma fonction de dernière modification se ressemble au code suivant car ce code permet ensuite d'afficher plsu simplement une liste de fichiers modifiés.
donc si on remplace ces varibales par la fonction filemtime, ca marcherait ?
que penses tu?
<?
function writableCell( $folder ) {
echo '<tr>';
echo '<td class="item">' . $folder . '/</td>';
echo '<td align="left">';
echo is_writable( "$folder" ) ? '<b><font color="green">Writeable</font></b>' : '<b><font color="red">Unwriteable</font></b>' . '</td>';
echo '</tr>';
}
<?php
writableCell( '../include/admin' );
writableCell( 'config.fonc.php' );
writableCell( 'config.req.php' );
writableCell( 'config.pass.php' );
writableCell( 'dotnet.css' );
?>
résultat:
Code : Tout sélectionner
../include/admin : Unwriteable
config.fonc.php : Writeable
config.req.php : Writeable
config.pass.php : Writeable
dotnet.css : Writeable
Posté : 19 août 2005, 21:21
par Xenon_54
Bonjour,
Tu nous expliques avant ton dernier message que tu voulais afficher le chemin absolu vers le fichier (include/admin). Maintenant, dans ton dernier message, tu expliques que tu veux afficher seulement le nom du fichier.
Il faudrait que tu te branches... Dans les deux cas, voici quelques fonctions intéressantes:
http://www.php.net/manual/fr/function.dirname.php
http://www.php.net/manual/fr/function.basename.php