使用DropzoneJS上载文件后PHP重定向用户
问题:使用DropzoneJS上载文件后PHP重定向用户,php,redirect,upload,dropzone.js,Php,Redirect,Upload,Dropzone.js,问题: <?php session_start(); $folder = 'upload'; if (!empty($_FILES)) { // Set temporary name $tmp = $_FILES['file']['tmp_name']; // Set target path and file name $target = $folder . '/' . $
<?php
session_start();
$folder = 'upload';
if (!empty($_FILES))
{
// Set temporary name
$tmp = $_FILES['file']['tmp_name'];
// Set target path and file name
$target = $folder . '/' . $_FILES['file']['name'];
// Upload file to target folder
$status = move_uploaded_file($tmp, $target);
if ($status)
{
// Set session with txtfile name
$_SESSION['txtfile'] = $_FILES['file']['name'];
// Redirect user
header('Location: explorer.php');
}
}
?>
PHP代码不会使用header()将用户重定向到目标页面
代码(upload.php):
<?php
session_start();
$folder = 'upload';
if (!empty($_FILES))
{
// Set temporary name
$tmp = $_FILES['file']['tmp_name'];
// Set target path and file name
$target = $folder . '/' . $_FILES['file']['name'];
// Upload file to target folder
$status = move_uploaded_file($tmp, $target);
if ($status)
{
// Set session with txtfile name
$_SESSION['txtfile'] = $_FILES['file']['name'];
// Redirect user
header('Location: explorer.php');
}
}
?>
所需功能:
<?php
session_start();
$folder = 'upload';
if (!empty($_FILES))
{
// Set temporary name
$tmp = $_FILES['file']['tmp_name'];
// Set target path and file name
$target = $folder . '/' . $_FILES['file']['name'];
// Upload file to target folder
$status = move_uploaded_file($tmp, $target);
if ($status)
{
// Set session with txtfile name
$_SESSION['txtfile'] = $_FILES['file']['name'];
// Redirect user
header('Location: explorer.php');
}
}
?>
Get header()用于将用户重定向到explorer.php。是的,文件已成功上载,没有任何问题。但用户继续停留在同一页面(upload.php)。尝试以下操作:
$status = false;
if (is_uploaded_file($tmp) == true) {
$status = @move_uploaded_file($tmp, $target);
}
else {
$status = @copy($tmp, $target);
}
if(file_exists($target)){
$status = true;
}
if ($status)
{
// Set session with txtfile name
$_SESSION['txtfile'] = $_FILES['file']['name'];
// Redirect user
header('Location: explorer.php');
}
$status是真的吗?如果是这样,您需要退出()@SajunaFernando我在头文件后添加了一个exit(),但没有成功。请尝试以下操作:{$status=move_uploaded_file($tmp,$target);}catch(Exception$oException){var_dump($oException);die;}@SajunaFernando刚刚添加了一个exit(),该文件已上载,仅此而已。请检查错误日志。它是空的还是有任何错误?只是尝试了这个解决方案,上传后什么都没有发生。文件已上载,错误日志中没有错误。您可以将其添加到脚本顶部,以确保并重试:ini_set('display_errors','On');错误报告(E_全部);添加了两个错误处理程序。上传文件时没有错误。正在考虑转储DropzoneJS并使用其他jQuery上传文件。对这样的问题感到太麻烦了。我会将$\u文件数组转储以确保您收到该文件。然后,将会话存储部分删除一点。除此之外,你的代码看起来很好,没有发生任何事情,文件也像往常一样被上传。我知道这些信息不多,但我也很困惑。