Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    91

    [PHP] upload e scompattamento file ZIP

    ciao...qualcuno puo darmi dei suggerimenti su come uplodare e scompattare tramite php un file zip
    praticamente devo fare uno script dove sia possibile uplodare sul server un file zip contentente delle immagini...il problema è che il file deve poi essere scompattato...ho fatto una breve ricerca e nn ho trovato granchè se qualcuno a qualche utile lettura da segnalare o consigli.....grazie 1000 a tutti..ciaoo

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    91
    nessun aiuto... ??? dai dai....grazie....

  3. #3

    stesso problema

    ho trovato questa funzione che va , il mio problema e che ci vuole la libreria zip_php.dll e il mio provider no me le istalla !!!!
    per ciò devo trovare una alternativa che magari funziona ance su php 4 .
    ti mando la funzione ...




    <?php
    /**
    * Unzip the source_file in the destination dir
    *
    * @param string The path to the ZIP-file.
    * @param string The path where the zipfile should be unpacked, if false the directory of the zip-file is used
    * @param boolean Indicates if the files will be unpacked in a directory with the name of the zip-file (true) or not (false) (only if the destination directory is set to false!)
    * @param boolean Overwrite existing files (true) or not (false)
    *
    * @return boolean Succesful or not
    */
    $src_file ="zip/cani.zip" ;
    function unzip($src_file, $dest_dir=false, $create_zip_name_dir=true, $overwrite=true)
    {
    if(function_exists("zip_open"))
    {
    if(!is_resource(zip_open($src_file)))
    {
    $src_file=dirname($_SERVER['SCRIPT_FILENAME'])."/".$src_file;
    }

    if (is_resource($zip = zip_open($src_file)))
    {
    $splitter = ($create_zip_name_dir === true) ? "." : "/";
    if ($dest_dir === false) $dest_dir = substr($src_file, 0, strrpos($src_file, $splitter))."/";

    // Create the directories to the destination dir if they don't already exist
    create_dirs($dest_dir);

    // For every file in the zip-packet
    while ($zip_entry = zip_read($zip))
    {
    // Now we're going to create the directories in the destination directories

    // If the file is not in the root dir
    $pos_last_slash = strrpos(zip_entry_name($zip_entry), "/");
    if ($pos_last_slash !== false)
    {
    // Create the directory where the zip-entry should be saved (with a "/" at the end)
    create_dirs($dest_dir.substr(zip_entry_name($zip_e ntry), 0, $pos_last_slash+1));
    }

    // Open the entry
    if (zip_entry_open($zip,$zip_entry,"r"))
    {

    // The name of the file to save on the disk
    $file_name = $dest_dir.zip_entry_name($zip_entry);

    // Check if the files should be overwritten or not
    if ($overwrite === true || $overwrite === false && !is_file($file_name))
    {
    // Get the content of the zip entry
    $fstream = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));

    if(!is_dir($file_name))
    file_put_contents($file_name, $fstream );
    // Set the rights
    if(file_exists($file_name))
    {
    chmod($file_name, 0777);
    echo "<span style=\"color:#1da319;\">file saved: </span>".$file_name."
    ";
    }
    else
    {
    echo "<span style=\"color:red;\">file not found: </span>".$file_name."
    ";
    }
    }

    // Close the entry
    zip_entry_close($zip_entry);
    }
    }
    // Close the zip-file
    zip_close($zip);
    }
    else
    {
    echo "No Zip Archive Found.";
    return false;
    }

    return true;
    }
    else
    {
    if(version_compare(phpversion(), "5.2.0", "<"))
    $infoVersion="(use PHP 5.2.0 or later)";

    echo "You need to install/enable the php_zip.dll extension $infoVersion";
    }
    }

    function create_dirs($path)
    {
    if (!is_dir($path))
    {
    $directory_path = "";
    $directories = explode("/",$path);
    array_pop($directories);

    foreach($directories as $directory)
    {
    $directory_path .= $directory."/";
    if (!is_dir($directory_path))
    {
    mkdir($directory_path);
    chmod($directory_path, 0777);
    }
    }
    }
    }

    unzip($src_file);
    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.