2013-02-06 53 views
0

如何使file_get_contents()從url獲取圖像並將它們輸出爲zip文件。 e.gfile_get_contents()與URL中的圖像並將其保存爲zip

http://example.com/image1.jpg 
http://example.com/image1.jpg 
http://example.com/image1.jpg 

當的file_get_contents它會在一個字符串存儲,現在我怎麼能轉換這個字符串轉換成.zip文件檢索。

它在這裏被清除,圖像網址正在從編碼的json中提取。

+5

[你嘗試過什麼?](http://whathaveyoutried.com) –

回答

0

您可以嘗試

copy('http://example.com/image1.jpg', '_tmp/image1.jpg') 
copy('http://example.com/image2.jpg', '_tmp/image2.jpg') 
... 
zip(_tmp); 
delete(_tmp); 
+0

尼斯的方法,因爲我必須爲每一個做到這一點正在下載的用戶。所以基本的問題是它在服務器上造成多少負載? –

+0

在這種情況下,您應該創建一個關聯緩存:'所需文件列表'=>'zip archive name',這樣您就可以在不需要每次創建的情況下提供zip文件。現在,這一切都取決於你的[imagesSize] x [imagesNumber] =>複製文件+ zip操作。 [folderDelete]應該幾乎是即時的(除非你有超過10-20個文件)。 – vectorialpx

+0

這裏有一個小問題,這個copy()函數不起作用。 –

0

試試這個

<?php 

$files = array(
     'http://flask.pocoo.org/static/logo/flask.png', 
     'http://flask.pocoo.org/static/logo/flask.pdf'); 

function create_zip(array $files, $destination='img.zip'){ 
    $zip = new ZipArchive();  
    $zip->open($destination, ZIPARCHIVE::CREATE); 
    foreach($files as $file){ 
     print $file; 
     if(copy($file, basename($file))){ 
      print 'Successfully Copied '; 
      if(file_exists(basename($file))){ 
       $zip->addFile(basename($file)); 
      } 
     }else{ 
      print 'Failed to copy !!!'; 
     } 
    } 
    $zip->close(); 
} 

create_zip($files, 'testing.zip'); 
+0

它給我沒有複製這兩個文件 –

+0

你有寫權限在你試圖複製到的目錄? – Redian

+0

是我的文件夾「_tmp」有777 –

相關問題