我知道这方面有很多问题,但我没有发现特定的移动设备。
由于某些原因,我无法在'main'页面上使用php,所以我通过jQuery $ .get
完成了它工作正常,除了下载,我使用1x1 iframe开始下载,工作正常..除了iphone + galaxy s2(我在atm测试的唯一2个)
我在iframe调用的页面上的代码:
<?
$email = mysql_escape_string($_GET['email']);
$code = mysql_escape_string($_GET['code']);
include('xxxxx.php');
mysql_select_db($xxxxx);
$now = strtotime(date('c'));
$sql = mysql_query("SELECT * FROM `xxxxx` WHERE `email` = '$email' AND `code` = '$code'");
if(mysql_num_rows($sql) == 0) { echo "<script>alert('Incorrect Code');</script>"; die; }
$query = mysql_fetch_object($sql);
if(strtotime($query->expires) > $now) {
$filename = "theused.wav";
header('Content-type: audio/x-wav');
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
header('Content-Transfer-Encoding: binary');
readfile('http://www.something.co.uk/xxx/' . $filename);
} else {
echo "<script>alert('Code Expired');</script>"; die;
}
?>
直接访问此页面时,下载工作正常,而不是在iFrame
上打开时甚至更奇怪......只是尝试做一个window.location,当连接到wifi时失败并说下载不成功,3g似乎工作正常。
答案 0 :(得分:0)
也许您可以先尝试检查(file_exists($ path_to_file)),以确保您的绝对路径符合您的期望。如果一切顺利,这也意味着它可以找到文件,但标题似乎不适用于手机。这可能表明它不允许在移动浏览器中设置这些标头。
如果是这种情况,您可能需要寻找不同的方法。