# GÓC SÁNG TẠO > Khu vực lập trình > Mã nguồn mở >  Code PHP để giải nén file zip trên hosting

## nqtmht

Đoạn mã này giúp bạn giải nén file zip đã upload lên hosting. Lưu ý:
Hoạt động tốt trên Unix, chưa test trên WindowsKhi giải nén sẽ ghi đè (overwrite) lên các file có sẵn nếu trùng tênHãy tạo 1 file đặt tên là unzip.php và copy nội dung bên dưới vào file này. Sau đó upload lên hosting.


```
<META http-equiv=Content-Type content="text/html; charset=utf-8"> 
<?php
    // The unzip script
    // Created by Alex at http://www.learncpp.com
    // Dịch lại bởi Diễn đàn Tin học Việt Nam: [replacer_a]
    // Code này sẽ liệt kê tất cả các file zip đang có trên hosting.
    // và cho phép bạn chọn file nào để giải nén.
    //
    // Để sử dụng, bạn upload file này lên hosting.
    // và chạy file này, ví dụ: [replacer_a]
 
    // See if there's a file parameter in the URL string
    $file = $_GET['file'];
 
    if (isset($file))
    {
       echo "Đang giải nén " . $file . "";
       system('unzip -o ' . $file);
       exit;
    }
 
    // create a handler to read the directory contents
    $handler = opendir(".");
 
    echo "Hãy chọn file để giải nén: " . "";
 
    // A blank action field posts the form to itself
    echo '<FORM action="" method="get">';
 
    $found = FALSE; // Used to see if there were any valid files
 
    // keep going until all files in directory have been read
    while ($file = readdir($handler))
    {
        if (preg_match ("/.zip$/i", $file))
        {
            echo '<input type="radio" name="file" value=' . $file . '> ' . $file . '';
            $found = true;
        }
    }
 
    closedir($handler);
 
    if ($found == FALSE)
        echo "Không tìm thấy file nào có đuôi .zip";
    else
        echo 'Lưu ý: Các file khi giải nén sẽ ghi đè lên file cũ (nếu đã có sẵn).<INPUT type="submit" value="Unzip!">';
 
    echo "</FORM>";
?>
```

----------


## dieulypretty

Đang tự mò mẫm với PHP, những bài viết như thế này thực sự hữu ích đối với ai bập bẹ PHP.
Cảm ơn admin nhiều. Hy vọng anh sẽ "mở" nhiều nguồn hay hơn nữa.
@Admin: Code trên em đã test nhưng không unzip được [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA  l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR  EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]

----------


## appsmart

Code unzip này nó set các file và folder sau khi unzip thuộc Group "apache", unzip xong là ở dạng readonly luôn, đăng nhập bằng user thông thường ko xóa các file + folder được(vì mình ko thuộc group đó [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA  l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR  EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG] )
Giờ muốn xóa đi phải làm thế nào nhỉ? :-/

----------


## huudatfee

*Function not working*

*Một số hosting cảnh báo như sau:
*



> *Warning*: system() has been disabled for security reasons in *
> public_html/zip/unzip.php* on line *20*


Và ngày nay các host sử dụng bảng điều khiển DirectAdmin, Cpanel đều đã có chức năng Unzip, Extract rồi.

----------


## kattykatty89

Cám ơi nhìu mình đang cần ^^!

----------

