CodeIgniter Forums
extract uploaded zip files - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: Archived Discussions (https://forum.codeigniter.com/forumdisplay.php?fid=20)
+--- Forum: Archived Development & Programming (https://forum.codeigniter.com/forumdisplay.php?fid=23)
+--- Thread: extract uploaded zip files (/showthread.php?tid=25283)



extract uploaded zip files - El Forum - 12-07-2009

[eluser]thematrixuum[/eluser]
Here's my view :
Code:
<div class="content">
    <h1>&lt;?= $title; ?&gt;</h1>
    &lt;?php echo form_open_multipart('asset/uploadify');?&gt;
        <div class="data">
          <div class="step1">
            <span class="head-step1">Step 2 : Upload your zip file : </span>
        <table>
            <tr>
                <td>File</td>
                <td>
             <div id="upload_form">&lt;?php echo form_upload(array('name' => 'Filedata', 'id' => 'upload'));?&gt;<a href="[removed]$('#upload').uploadifyUpload();">Upload</a></div>
             <div id="target" display="hidden"></div>
                </td>
            </tr>
        </table>
            
          </div>
        </div>
    &lt;?php echo form_close(); ?&gt;
    <br />
    &lt;?= $link_back; ?&gt;
</div>

Here's my controller :
Code:
function uploadify() {
                $data['response'] = json_decode($this->input->post('filearray'));

                //Access data using php json object
                $data['file_name'] = $data['response']->file_name;
                //$data['file_path'] = $data['response']->file_path;
                //$data['file_size'] = $data['response']->file_size;
                //$data['file_type'] = $data['response']->file_type;
                //$data['file_ext'] = $data['response']->file_ext;
               // print_r($data['file_name']);
                
                $file_path = base_url().'assets/upload/'.$data['file_name'];
                $file_name = $data['file_name'];
                $path_test = base_url().'assets/upload/';
                
                // print_r($data['file_ext']);
                
                //print_r($data['file_name'].'[<span id="delete-file" style="cursor:pointer;color:#cacaca;"> Delete </span>]');
                //print_r(base_url().'assets/upload/'.$data['file_name']);
                //print_r($data);
                if($this->unzip($file_path, $file_name)) {
                    print_r($file_path);
                    print_r('<br>'.$path_test);
                    print_r('<br>Success');
                }
                else {
                    print_r('Fail');
                    print_r('<br>'.$path_test);
                    print_r('<br>Path : '.base_url().'assets/upload/'.$data['file_name']);
                }
            }

and here's my model :
Code:
function unzip($file_path, $file_name) {
        $newfolder = $this->RemoveExtension($file_name);
        $zip = new ZipArchive;
        if ($zip->open($file_path) === TRUE) {
            $zip->extractTo(base_url().'assets/upload/');
            $zip->close();
            unlink($file_path); #deletes the zip file. We no longer need it.
        }
    }
    
      
    function RemoveExtension($strName)
    {
         $ext = strrchr($strName, '.');
         if($ext !== false)
         {
             $strName = substr($strName, 0, -strlen($ext));
         }
         return $strName;
    }


I don't know waht is the problem but it seems that I cannot extract the zip file uploaded into the server.. Can anybody help me? Thanks a mil..


extract uploaded zip files - El Forum - 12-10-2009

[eluser]imn.codeartist[/eluser]
look at this line of code

$zip->extractTo(base_url().'assets/upload/');

To extract zip file you need physical path location

where base_url() is not a actual physical path


extract uploaded zip files - El Forum - 12-10-2009

[eluser]thematrixuum[/eluser]
thanks for the reply.

how can i retrieve the physical path of the file?


extract uploaded zip files - El Forum - 12-10-2009

[eluser]imn.codeartist[/eluser]
are you running in the local windows ?

for example "C:\xampp\htdocs\mydir";


if yes then

$zip->extractTo($_SERVER['DOCUMENT_ROOT'].‘/mydir/assets/upload/’);


extract uploaded zip files - El Forum - 12-10-2009

[eluser]thematrixuum[/eluser]
yes current development is in windows. but the server is in unix environment. when the server is live, what should i change? thanks for the reply.


extract uploaded zip files - El Forum - 12-10-2009

[eluser]imn.codeartist[/eluser]
if you are in live server

for example "http://www.example.com" and you wanna upload in ‘/assets/upload/’

which means http://www.example.com/assets/upload/

then just use

$zip->extractTo($_SERVER[‘DOCUMENT_ROOT’].‘/assets/upload/’);


extract uploaded zip files - El Forum - 12-10-2009

[eluser]thematrixuum[/eluser]
cool.. thanks for the reply..