2013-12-14 31 views
0

我有以下的PHP脚本来触发auto downlad。php文件下载脚本不适用于iOS7设备?

<?php 
    ob_start(); 

    $file = 'sample.jpg'; 

    if (file_exists($file)) { 
     header('Content-Description: File Transfer'); 
     header('Content-Type: application/octet-stream'); 
     header('Content-Disposition: attachment; filename='.basename($file)); 
     header('Content-Transfer-Encoding: binary'); 
     header('Expires: 0'); 
     header('Cache-Control: must-revalidate'); 
     header('Pragma: public'); 
     header('Content-Length: ' . filesize($file)); 
     ob_clean(); 
     flush(); 
     readfile($file); 
     exit; 
    } 
?> 

http://toasterlab.net/liese/

它工作正常的桌面,我的Android手机,但不是我的iPad和iPhone。

我该怎么做才能让它在iPad上工作& iphone?

谢谢。

+0

我认为这是一个iPhone浏览器的问题,并没有太多的代码..有人证明我,如果我错了。 –

+0

但不仅safari,iPad上的铬也不起作用 –

+0

iOS7不允许自动执行。您需要为其分配一个点击事件。 – Vector

回答

1

尝试注释掉你设置内容长度的线,像这样:

//header('Content-Length: ' . filesize($file)); 

...我还没有更深入地挖掘,但现在这的工作对我的iPad等iOS 7.0.4

+0

这个解决方案对我来说也适用于相关的问题。该脚本适用于除Safari之外的任何浏览器。删除Content-Length标题修复了它,它现在似乎适用于所有浏览器。 (警告 - 我只执行有限的测试,删除内容长度可能会有一些负面影响) –

相关问题