עבר עריכה לאחרונה בתאריך 21.02.13 בשעה 14:43 על-ידי Ice Cold (מנהל הפורום)
הרעיון בעיקרון הוא לקחת מספר תמונות, וליצור מהן קובץ ZIP.זה הPHP שלי -
שים לב שהfiles זה POST של ARRAY שמתקבל מקריאה בJS - צא מנקודת הנחה שהוא נשלח תקין.
מה שבעצם הקוד עושה, הוא קורא את תוכן הקובץ (אחת מהתמונות שנשלחות בPOST ונכנסות לARRAY) וכותב אותן אחת אחת לתוך קובץ ZIP - הקוד הזה לא עובד, אבל הדבר ההזוי הוא, אם אני אקח את השורת קוד הזאת -
$files = $_POST['photoslist'];
|
ואחליף אותה ב
$files = array('url','url','url');
|
זה יעבוד פשוט מעולה, יקח את התמונות ויעשה מהן ZIP
אני לא מצליח להבין למה הוא לא מצליח לקווץ אותם שהן נשלחות בPOST מJS, אבל שאני מזין אותן ידנית הוא כן מקווץ ...
<?php$files = $_POST['photoslist']; $zip = new ZipArchive(); $tmp_file = tempnam('.',''); $zip->open($tmp_file, ZipArchive::CREATE); foreach($files as $file){ $download_file = file_get_contents($file); $zip->addFromString(basename($file),$download_file); } $zip->close(); header('Content-disposition: attachment; filename=download.zip'); header('Content-type: application/zip'); readfile($tmp_file); ?>
|