我是php中的菜鸟,我需要一些帮助。
我有一个上传脚本,可以将内容上传到我的服务器。
所以在我上传文件后,我收到一条消息your file was upload
,我希望这条消息发布在我的html上传页面(主页)中,代码是这样的:
if(empty($errors)===true){
move_uploaded_file($file_tmp,"upload/".$file_name);
echo "Your file was upload!"; <- I want this line to be printed in other page //
}else{
print_r($errors);
}
}
修改: 如果你能帮我解决这个问题,我发现我的脚本有错误:
$file_name=$_FILES['file']['name'];
$file_tmp =$_FILES['file']['tmp_name'];
$file_type=$_FILES['file']['type'];
$file_ext=strtolower(end(explode('.',$_FILES['file']['name'])));
$extensions = array("rar","zip","jpeg","jpg","png","gif");
if(in_array($file_ext,$extensions)=== false){
$error[]= "Extension not allowed, please choose a RAR or ZIP file or if you upload an image use JPEG, JPG, PNG or GIF format.</br> Thank you!";
}
这是我的限制文件上传的代码,但它不会受到限制,可以告诉我为什么请这样做吗?
希望我足够明确。 谢谢!
答案 0 :(得分:1)
您可以通过以下方式修改脚本。
... if(empty($errors)===true){
move_uploaded_file($file_tmp,"upload/".$file_name);
header("Location: otherpage.php?msg=success");
}else{
header("Location: otherpage.php?msg=failure");
print_r($errors);
}
} ...
在otherpage.php中,
if(isset($_GET['msg']) && $_GET['msg'] == 'success') {
echo "File uploaded sucessfully";
}
编辑:
你写过print_r($ errors)。我假设$ errors是一个数组。在这种情况下,您可以使用json_encode($ errors)将此变量传递给url,请参阅下文。
$err = json_encode($errors);
$urlEncode = urlencode($err);
//now pass this to the url like this
header("Location: otherpage.php?msg=failure&err=".$urlEncode);
//in otherpage.php, you have to decode it.
if(isset($_GET['err'])) {
$errDecode = urldecode($_GET['err']);
$err = json_decode($errDecode);
print_r($err); //prints the error
}
扩展:
您的脚本似乎是正确的,您可以通过以下方式尝试吗。
$extensions = array("rar","zip","jpeg","jpg","png","gif");
if(!in_array($file_ext,$extensions)){
$error[]= "your error statement";
}
答案 1 :(得分:0)
将回声放在您想要显示的页面上,而不是放在单独的页面上。或者将回显字符串作为表单提交的一部分发送,但这可能不适合这种情况。但是,您可以设置下一页应该打印的内容,但请提前设置。