fonction filemtime

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : fonction filemtime

par Cypher_PHP » 22 août 2005, 22:01

salut

merci pour ta proposition...
je ne pense pas que cela me sera utile...

merci qd mm

je me débrouille pour la suite....

par Xenon_54 » 21 août 2005, 21:35

Bonjour,

tu peux procéder ainsi:
<?php
function Afilemtime( $files ) {
	$return = array();
	if (TRUE === is_array($files)) {
		foreach ($files as $file) {
			if (FALSE === file_exists($file)) continue;
			$return[$file] = filemtime($file);
		}
	} else {
		$return[$files] = filemtime($files);
	}
	return $return;
}

$arrayOfFiles = array(
	'phpinfo.php',
	'inconnu.php', // Fichier inexistant
	'perrow.php',
	'hostname.php'
);
print_r( Afilemtime($arrayOfFiles) );

$string = 'hostname.php';
print_r( Afilemtime($string) );
?>
Résultats:

Code : Tout sélectionner

Array ( [phpinfo.php] => 1120952348 [perrow.php] => 1124073265 [hostname.php] => 1124068339 ) Array ( [hostname.php] => 1124068339 )
Reste plus qu'à générer le tableau à partir des données.

Quoi qu'il serait préférable de ne faire qu'une seule boucle pour générer le tableau et récupérer la date de modification des fichiers. (question optimisation) Mais question réutilisation du code, c'est nul.

par Cypher_PHP » 21 août 2005, 21:19

salut

je suis allé voir et c'est interessant.

dans ces liens, il y a d'exemples de codes.

je les trouve interessant...

merci

comme je ne trouve pas une fonction qui me permet de générer une liste de fichiers avec modification de date, c'est un peu génant (pour l'instant) de faire deux trucs séparément dans un tableau html qui consomme bcp d'octets ...:)

par Xenon_54 » 19 août 2005, 23:41

Bonjour,

As-tu été voir les liens vers les fonctions dans mon message précédent?

par Cypher_PHP » 19 août 2005, 21:43

je voulais afficher les deux . excuse peut-être que je me suis mal exprimé

par Xenon_54 » 19 août 2005, 21:21

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

par Cypher_PHP » 19 août 2005, 20:58

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

par Cypher_PHP » 19 août 2005, 20:29

Cyrano,

franchement je ne comprends plus rien

Cordialement
Cypher

par Xenon_54 » 19 août 2005, 19:15

Bonjour,

Afficher du HTML à partir d'une fonction? Ça ne m'inspire pas trop...
Surtout question réutilisation et modularité...

par Cyrano » 19 août 2005, 18:23

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>

par Cypher_PHP » 19 août 2005, 14:18

un tout petit problème à régler et après j'espere que cete fois c'est le bon :lol:
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:

Code : Tout sélectionner

/ / / / /
Cordialement
Cypher_PHP

par Cyrano » 18 août 2005, 23:01

Alors fais ta construction dans la fonction et retourne la construction à la place.

par Cypher_PHP » 18 août 2005, 22:58

oui ca marche
mais la fonction aurait été simple non?

bon je vais réfléchir à ça

Cordialemnt
Cypher_PHP

par Cyrano » 18 août 2005, 22:43

Alors construis ton affichage:
<?php
$fichier = "include/admin/config.fonc.php";
$date_modif = _FilemTime($fichier);
echo("<p>". $fichier ." : ". $date_modif ."</p>");
?>

par Cypher_PHP » 18 août 2005, 22:39

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