我有两个名为index.php和uploadcover.inc.php的文件。一切都运行正常,除非上传任何if-else条件失败时正在执行脚本标记。以下是代码:


index.php =>


 < form action =“include /uploadcover.inc.php“method =”post“enctype =”multipart / form-data“>
 < input type =“file”name =“file”id =“cover-upload”style =“display:none”onchange =“this.form.submit();”>
 < label for =“cover-upload”class =“fa fa-camera fa-2x”aria-hidden =“true”>< / label>
 < / form>



 uploadcover.inc.php =>


 <?php
 session_start();
 include_once'dbh.inc.php';
 $ sessionid = $ _SESSION ['u_id'];

 $ filename =“../profile/cover".$sessionid.".*";
$ fileinfo = glob($ filename);
 $ fileExt = explode('。',$ fileinfo [0]);
 $ fileActualExt = $ fileExt [3];
 $ file =“../profile/cover".$sessionid.".".$fileActualExt;
如果(!取消链接($文件)){
 echo“文件未删除”;
 } else {
 “文件已删除”;
 }

 $ sql =“UPDATE coverimg SET status = 1 WHERE user_id ='$ sessionid';”;
 mysqli_query($康恩,$ SQL);

 $ file = $ _FILES ['file'];
 $ fileName = $ file ['name'];
 $ fileTmpName = $ file ['tmp_name'];
 $ fileSize = $ file ['size'];
 $ fileError = $ file ['error'];
 $ fileType = $ file ['type'];

 $ fileExt = explode('。',$ fileName);
 $ fileActualExt = strtolower(end($ fileExt));

 $ allowed = array('jpg','jpeg','png','gif');

如果(in_array($ fileActualExt,$允许)){
 if($ fileError === 0){
如果($档案大小< 3145728){
 $ fileNameNew =“cover”。$ sessionid。“。”。$ fileActualExt;
 $ fileDestination ='../profile/'.$fileNameNew;
move_uploaded_file($ fileTmpName,$ fileDestination);
 $ sql =“UPDATE coverimg SET status = 0 WHERE user_id ='$ sessionid'”;
 mysqli_query($康恩,$ SQL);
 header(“Location:../ index.php?upload = success”);
 } else {
 header(“Location:../ index.php?upload = size_exceeded_3MB”);
出口();
 echo“< script> alert('文件应小于3MB!')< / script>”;
 }
 } else {
标题(“位置:../ index.php?upload = error”);
出口();
 echo“< script> alert('上传文件时出错!')< / script>”;
 }
 } else {
 header(“Location:../ index.php?upload = typeerror”);
出口();
 echo“< script> alert('Filetype not supported!')< / sc
 ript>”;
 }



 注意:我尝试了die(),exit()并删除它们,以防它在重定向到索引后执行脚本.php但它不起作用。

答案 0 :(得分:1)
重定向告诉客户端他们正在寻找的原因可以在不同的URL找到。然后,客户端请求其他URL并显示该文档。
你不能同时说“这是你应该展示的文件”和“你应该展示的文件可以在这里找到”。它是一个或另一个。