linux - méthode php pour décompresser le format de fichier .gz.
黄舟
黄舟 2017-06-08 11:01:56
0
2
984
  1. Maintenant, j'ai obtenu le fichier .gz du projet via l'url

  2. Je souhaite traiter le contenu des fichiers compressés décompressés

  3. Maintenant, je connais un moyen, qui consiste à utiliser php pour appeler la commande système Linux tar pour décompresser puis traiter les données

Je voudrais demander à des amis s'ils l'ont déjà traité. Cela peut être géré par la fonction php !

C'est mon premier contact, n'hésitez pas à me donner quelques conseils !

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(2)
仅有的幸福

Support sonore original php, ce qui suit vient de SO

// This input should be from somewhere else, hard-coded in this example
$file_name = 'file.txt.gz';

// Raising this value may increase performance
$buffer_size = 4096; // read 4kb at a time
$out_file_name = str_replace('.gz', '', $file_name);

// Open our files (in binary mode)
$file = gzopen($file_name, 'rb');
$out_file = fopen($out_file_name, 'wb');

// Keep repeating until the end of the input file
while(!gzeof($file)) {
    // Read buffer-size bytes
    // Both fwrite and gzread and binary-safe
    fwrite($out_file, gzread($file, $buffer_size));
}

// Files are done, close files
fclose($out_file);
gzclose($file);
学习ing

Fonction de décompression généralephp安装都自带tar的扩展包,这是我项目中tar, pour référence seulement

function get_files_name_in_tar($file) {
    require_once 'Archive/Tar.php';
    $ext = get_file_extension($file);
    $tar_handle = null;
    if ($ext === "bz2") {
        $tar_handle = new Archive_Tar($file, "bz2");
    } else if ($ext === "gz") {
        $tar_handle = new Archive_Tar($file, "gz");
    } else if ($ext === "tar") {
        $tar_handle = new Archive_Tar($file);
    } else {
        return false;
    }    
    if (!$tar_handle) {
        return false;
    }    
    $entry_names = $tar_handle->listContent();

    return array_column($entry_names, 'filename');
}

Référez-vous également à : Trois façons de décompresser le format tar PHP
Vous pouvez également l'exécuter via linux,在php中调用linux命令tar然后exec

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal