Я играл со следующим скриптом в течение последнего часа и не могу понять, что, черт возьми, идет не так.
В чем заключается идея: – В основном у меня есть база данных, в которой хранятся данные по изображениям, и я называю эти данные (имена файлов изображений), пытаясь поместить их в массив, а затем перейти к сценарию создания zip.
Вот что у меня есть: –
$query_ImageCollect = "SELECT * FROM image_data WHERE image_dealerid='$dealer_id' AND imagename LIKE '$imageName'"; $ImageCollect = mysql_query($query_ImageCollect, $vwconn) or die(mysql_error()); $row_ImageCollect = mysql_fetch_assoc($ImageCollect); $totalRows_ImageCollect = mysql_num_rows($ImageCollect); $counter=0; do{ $counter=$counter+1; $ImageUrl=$row_ImageCollect['image_url']; $getFileNames="../../images/$ImageUrl"; if($counter==1){ $getFiles="'$getFileNames'"; }else{ $getFiles="$getFiles, '$getFileNames'"; } } while ($row_ImageCollect = mysql_fetch_assoc($ImageCollect)); $groupFiles=array("$getFiles"); $zipName="Pictures.zip"; $zip = new ZipArchive; $zip->open($zipName, ZipArchive::CREATE); foreach ($groupFilesas $file) { $zip->addFile($file); } $zip->close(); header('Content-Type: application/zip'); header('Content-disposition: attachment; filename='.$zipName); header('Content-Length: ' . filesize($zipName)); readfile($zipName);
Я также попытался разобрать результаты непосредственно в массив, но также не удалось:
$query_ImageCollect = ("SELECT image_url FROM image_data WHERE image_dealerid='$dealer_id' AND imagename LIKE '$imageName'") or die(mysql_error()); while( $row = mysql_fetch_assoc( $query_ImageCollect )){ $groupFiles[] = $row; } $zipName="Pictures.zip"; $zip = new ZipArchive; $zip->open($zipName, ZipArchive::CREATE); foreach ($groupFilesas $file) { $zip->addFile($file); } $zip->close(); header('Content-Type: application/zip'); header('Content-disposition: attachment; filename='.$zipName); header('Content-Length: ' . filesize($zipName)); readfile($zipName);
Любая помощь / предложения будут высоко оценены. Заранее спасибо 🙂