निश्चित रूप से नहीं सबसे खूबसूरत संस्करण है, लेकिन आप एक ब्राउज़र जंक्शन का उपयोग कर संयोजन में सफारी उपयोगकर्ताओं के लिए एक नोटिस के साथ समाप्त करने और अपने डाउनलोड स्क्रिप्ट परिवर्तन लगाव नाम हो सकता है:
<?php
// $attachmentId used later-on would be a passed parameter that is used
// to define attachment name
$attachmentId= $_GET['id'];
$userAgent = $_SERVER['HTTP_USER_AGENT'];
if (strpos($userAgent , 'Chrome') === FALSE &&
strpos($userAgent , 'Safari') !== FALSE)
{
$attachmentName= 'download.zipname';
$userNotice= 'SAFARI users: please rename the file from download.zipname to download.zip (due to Safari\'s ZIP file policy (more info))';
} else {
$attachmentName= 'download.zip';
$userNotice= '';
}
?>
<span class="notice"><?php print $userNotice; ?></span>
<a href="download.php?id=<?php print $attachmentId;?>" name="<?php print $attachmentName; ?>">Download</a>
तो बुनियादी तौर पर शुरू करने से पहले डाउनलोड करें, आप आवश्यक अनुलग्नक नाम को परिभाषित करने के लिए इस प्री-डाउनलोड पेज को सेट अप करेंगे और सफारी उपयोगकर्ताओं को सूचित करेंगे कि फ़ाइल को सफलतापूर्वक डाउनलोड करने के लिए क्या किया जाना है।
सफारी का विकल्प होता है "डाउनलोड करने के बाद सुरक्षित फ़ाइलों को खोलने के" मुझे लगता है कि ग्राहक को बदले बिना ऐसा करने से सफारी रखने के लिए संभव नहीं है इस – matteok
@Burbas की स्थापना: यदि आप फ़ाइल में गलत MIME प्रकार की सेवा की कोशिश की? यानी 'एप्लिकेशन/ज़िप, एप्लिकेशन/ऑक्टेट-स्ट्रीम' –