Hi Leute,
ich möchte mit PHP Binär- und ASCII Dateien unterscheiden können und dabei nicht auf die Dateiendung zu Rate ziehen.
Dazu habe ich folgende funktion gefunden:
Leider ist diese Funktion unendlich langsam. Man braucht sie nur mal an einer 800kb großen ZIP Datei testen. Das langsamste ist der unpack() Befehl.
Kennt jemand einen schnelleren Weg, der möglichst bei jeder Dateigröße gleich schnell funktioniert?
ich möchte mit PHP Binär- und ASCII Dateien unterscheiden können und dabei nicht auf die Dateiendung zu Rate ziehen.
Dazu habe ich folgende funktion gefunden:
PHP-Code:
/**
* checks if a file is a ascii file or not
*
* @param string filename
* @return boolean isASCII
*/
function isASCII($file) {
$array = unpack('C*', $file);
for($i = 1, $max = count($array); $i < $max; $i++) {
if ($array[$i] < 32 && $array[$i] != 13 && $array[$i] != 10) {
return false;
}
}
return true;
}
Kennt jemand einen schnelleren Weg, der möglichst bei jeder Dateigröße gleich schnell funktioniert?
Kommentar