我有兩個名為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;
if(!unlink($file)){
echo "File not deleted";
} else {
"File deleted";
}
$sql = "UPDATE coverimg SET status=1 WHERE user_id='$sessionid';";
mysqli_query($conn,$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');
if(in_array($fileActualExt,$allowed)){
if($fileError=== 0){
if($fileSize<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($conn,$sql);
header("Location: ../index.php?upload=success");
} else {
header("Location: ../index.php?upload=size_exceeded_3MB");
exit();
echo "<script>alert('File should be less than 3MB!')</script>";
}
} else {
header("Location: ../index.php?upload=error");
exit();
echo "<script>alert('Error uploading the file!')</script>";
}
} else{
header("Location: ../index.php?upload=typeerror");
exit();
echo "<script>alert('Filetype not supported!')</sc
ript>";
}
注意:我嘗試過die(),exit()並刪除它們,以防重定向到index.php后執行腳本,但是它不起作用。