1
Ich erhalte die folgende WarnungPHP ZipArchive Fehler Dateien auf Ubuntu Linux extrahieren unter Windows
PHP Warning: ZipArchive::extractTo(/mnt/c/some/folder\data.json):
failed to open stream: Invalid argument in /mnt/c/somefile.php on line 54
Mit diesem Code, jede Zip-Datei Extrahieren des Ubuntu-Subsystem unter Windows mit mit PHP 7.1:
<?php
class someClass
{
public static function unzip($fn, $to = null)
{
$zip = new ZipArchive;
if (is_null($to)) {
$to = self::dirname($fn) . DIRECTORY_SEPARATOR . self::filename($fn);
}
if (!is_dir($to)) {
self::mkdir($to, 0755, true);
}
$res = $zip->open($fn);
if ($res === true) {
$zip->extractTo($to);
$zip->close();
return $to;
} else {
return false;
}
}
}
?>
Der gleiche Code funktioniert gut unter PHP 7.1 unter Windows und PHP 7.1 unter Linux (CentOS).
_Just einem dummen Punkt: _ Sie setzen '$ ds = DIRECTORY_SEPARATOR;' und verwenden Sie dann '$ ds' nie, aber Sie verwenden' DIRECTORY_SEPARATOR' ?? ? – RiggsFolly
Oh ja, in meinem ursprünglichen Code hatte ich viel mehr Zeug, ich habe die meisten irrelevanten Sachen entfernt, aber ich muss das hier gelassen haben! Bearbeitete meine Antwort und entfernte sie. –