Android + PHP |错误还是我的错误?
Android + PHP | Bug or my mistake?
如果用户进入网站,间隔 (js) 为 运行 并且每秒调用 PHP 文件(用于更新文本和图像)。
但是如果有人上传图片,he/she 会被重定向到带有 .php 的 url。
我在底部输入了 "header",以便在上传后将用户重定向回页面。
在桌面上一切正常。在 Android 上,如果用户 returns.
,则 PHP 代码不起作用
gallery.php:
<?php
header( "Access-Control-Allow-Origin: *" );
$count = 0;
$oldcount = 0;
if ( $handle = opendir( "../../archive/images/" ) ){
while ( ( $file = readdir( $handle ) ) !== false ){
if ( !in_array( $file, array( ".", ".." ) ) && !is_dir( "../../archive/images/" . $file ) )
$count++;
}
}
if ( $count == $oldcount ){
exit;
}
else{
$oldcount = $count;
$count = 0;
$files = glob( "../../archive/images/" . "*.*" );
foreach( $files as $image ){
if ( $image ){
echo '<img src="' . $image . '" /></img>';
}
}
}
?>
在多个 Android 上对其进行了测试。每次都一样。上传后调用此代码似乎有问题。
setInterval(
function(){
$( "#gallery" ).load( "system/communicate/gallery.php" );
$( "#chat" ).load( "system/communicate/output.php" );
}, 1000 );
知道为什么吗?这是一个已知错误吗?
如果你想尝试,请尝试。这是我的 url: www.m7-studios.de user/email: test, pw: test
android 浏览器可能正在缓存您的 1 秒请求。
选项 1
在你的 gallery.php 和 output.php 上
发送一些 headers 告诉它不要缓存
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
选项 2
向字符串中添加一个随机数,以便 android 浏览器认为它是一个新文件
setInterval(
function(){
var myrandom=Math.random();
$( "#gallery" ).load( "system/communicate/gallery.php?random="+myrandom );
$( "#chat" ).load( "system/communicate/output.php?random="+myrandom );
}, 1000 );
如果用户进入网站,间隔 (js) 为 运行 并且每秒调用 PHP 文件(用于更新文本和图像)。
但是如果有人上传图片,he/she 会被重定向到带有 .php 的 url。 我在底部输入了 "header",以便在上传后将用户重定向回页面。
在桌面上一切正常。在 Android 上,如果用户 returns.
,则 PHP 代码不起作用gallery.php:
<?php
header( "Access-Control-Allow-Origin: *" );
$count = 0;
$oldcount = 0;
if ( $handle = opendir( "../../archive/images/" ) ){
while ( ( $file = readdir( $handle ) ) !== false ){
if ( !in_array( $file, array( ".", ".." ) ) && !is_dir( "../../archive/images/" . $file ) )
$count++;
}
}
if ( $count == $oldcount ){
exit;
}
else{
$oldcount = $count;
$count = 0;
$files = glob( "../../archive/images/" . "*.*" );
foreach( $files as $image ){
if ( $image ){
echo '<img src="' . $image . '" /></img>';
}
}
}
?>
在多个 Android 上对其进行了测试。每次都一样。上传后调用此代码似乎有问题。
setInterval(
function(){
$( "#gallery" ).load( "system/communicate/gallery.php" );
$( "#chat" ).load( "system/communicate/output.php" );
}, 1000 );
知道为什么吗?这是一个已知错误吗?
如果你想尝试,请尝试。这是我的 url: www.m7-studios.de user/email: test, pw: test
android 浏览器可能正在缓存您的 1 秒请求。
选项 1 在你的 gallery.php 和 output.php 上 发送一些 headers 告诉它不要缓存
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
选项 2 向字符串中添加一个随机数,以便 android 浏览器认为它是一个新文件
setInterval(
function(){
var myrandom=Math.random();
$( "#gallery" ).load( "system/communicate/gallery.php?random="+myrandom );
$( "#chat" ).load( "system/communicate/output.php?random="+myrandom );
}, 1000 );