我有一个网站,允许用户上传图片,但我不想在照片中有任何裸露。我发现了一个用PHP编写的扫描,我已经成功实现了。如果发现裸露在文件中,则删除文件和记录。我只是在提醒用户没有保留照片的原因时遇到了麻烦。它只是重新加载页面。可能是什么问题?
此代码是我的new2.php文件中未注释的代码的开头:
if (isset($_GET['error'])) {
echo "Nudity found. Please try again with a more appropriate picture.";
sleep(5);
header("Location: new2.php");
}
此代码是扫描图片裸露的代码:
if($quant->isPorn()) {
$q = "delete from $table where id='$id'";
$result = mysql_query($q);
unlink("pics/".$picfile);
header('Location: new2.php?error=1');
} else {
header("Location: index.php?id=$id");
}
非常感谢任何帮助!
答案 0 :(得分:2)
用户不会看到您的echo
输出。输出尚未发送到浏览器,这发生在脚本的末尾。在此之前重定向。
如果要发送消息,请等待5秒,然后重定向,请在客户端执行。
<?php if (isset($_GET['error'])) { ?>
<p>Nudity found. Please try again with a more appropriate picture.</p>
<script>
setTimeout("self.location='new2.php'",5000);
</script>
<?php } ?>
答案 1 :(得分:1)
不需要Javascript。只需输出包含错误的页面,但更改
sleep(5);
header("Location: new2.php");
到
header("Refresh: 5; url=new2.php");
这与<meta http-equiv="refresh">
具有相同的效果。
答案 2 :(得分:0)
不要从标题中执行此操作。请改用:
<script> location="whatever.php?a=1"; </script>