我有两个名为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 后执行脚本,但它不起作用。
最佳答案
重定向告诉客户端他们要查找的原因可以在不同的 URL 中找到。然后,客户端请求其他 URL 并显示该文档。
您不能同时说“这是您应该显示的文档”和“您应该显示的文档可以在这里找到”。二者择其一。
关于javascript - 从 php 重定向后无法运行 <Script>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47123902/