Seite 1 von 1

Datei größe und datum ausgeben

Verfasst: Fr 10. Jun 2005, 13:33
von junior0007
Hallo!

Ich versuche Datei eigenschaften wie Größe oder Änderungsdatum im Outputbereich eines selfmade-download-moduls auszugeben, ohne dabei auf die DB zurückzugreifen. Kann mir jemand sagen, wieso die PHP functions filesize($filename) und filemtime($filename) in contenido nicht funktionieren und wie man sie zum laufen bringt, oder obs da irgendwelche work around fcts gibt?
Hab die selben functionen in einer Test PHP datei ausprobiert und sie scheinen prinzipiell zu laufen - nur in Contenido kommt immer 0 Bytes und 01.01.1970... und diese Fehlermeldung im Log:
[10-Jun-2005 22:18:30] PHP Warning: filesize(): Stat failed for Handbuch_Contenido_Version_43.pdf (errno=2 - No such file or directory) in C:\wampp2\htdocs\cms\contenido\includes\include.con_editcontent.php(571) : eval()'d code on line 1130
[10-Jun-2005 22:18:30] PHP Warning: filemtime(): Stat failed for Handbuch_Contenido_Version_43.pdf (errno=2 - No such file or directory) in C:\wampp2\htdocs\cms\contenido\includes\include.con_editcontent.php(571) : eval()'d code on line 1131
Bin ich einfach zu doof oder ist das der Grund warum die Datei-informationen in der DB gehalten werden?

Ach ja ich möchte die DB nicht verwenden, weil Dateien in Zukunft nicht ausschließlich über Contenido hochgeladen werden sollen sondern evtl. auch direkt über ftp

Verfasst: Fr 10. Jun 2005, 13:35
von timo
Steht doch da - no such file or directory...

RE:

Verfasst: Fr 10. Jun 2005, 13:57
von junior0007
aber er findet doch die Datei. Sonst könnte er den namen ja nicht ausgeben. Wie kann denn dann so eine Fehlermeldung kommen? Check ich nicht.
Hier ist mal der code. Nachdem das PDF File nirgends hard codiert ist wundert mich, daß er den Namen findet...?
Ich seh ja ein, daß ich nicht gerade ein Crack bin, aber wirklich logisch klingt das für mich nicht...
Oder liegt es daran, daß $file nicht wirklich das ist, was die Fct erwartet?

Code: Alles auswählen

function getFiles($path) {
	$dir_handle = @opendir($path) or die("Unable to open '".$path."'");
	$counter = 0;
	while($file = readdir($dir_handle))
	{
		if( is_dir($file) || $file == "."  || $file == ".." )
		{
			continue;
		}
	  // extract information hold on filesystem
		$fl[$counter]["name"]= $file;
		$fl[$counter]["size"]= filesize($file);
		$fl[$counter]["time"]= filemtime($file);
		$counter++;

 	}
 	closedir($dir_handle);
 	return $fl;
}

/*
 * here the appearance of the list can be manipulated
 */
function generateList($list)
{
	echo "<table>";
	for ($i=0; $i<count($list); $i++)
	{
  	echo "<tr>";
  	echo "<td><a href=\"".$list[$i]["name"]."\">".$list[$i]["name"]."</a><td>";
  	echo "<td> <div align=\"right\">[".number_format($list[$i]["size"], 0, ',', ' ')." Bytes] </div></td>";
  	echo "<td> last modified: ".date("d.m.Y", $list[$i]["time"])."</td>\n";
  	echo "</tr>";
  }
  echo "</table>";
}

Verfasst: Fr 10. Jun 2005, 14:03
von timo
setze den Pfad noch vor $file...

opendir und readdir wechseln nicht die Verzeichnisse, ergo wird $file nicht gefunden

Verfasst: Fr 10. Jun 2005, 14:03
von HerrB
Kann es sein, dass man den Pfad noch angeben sollte, e.g. filesize($path."/".$file)?

Gruß
HerrB

Verfasst: Fr 10. Jun 2005, 14:10
von junior0007
:oops: hab ich gerade ausprobiert :oops:
sorry, aber manchmal kann ich m eine Dummheit einfach nicht vertecken...