【发布时间】:2019-08-08 21:03:36
【问题描述】:
我正在创建一个工作申请表,用户在其中添加他的简历并将其附加到电子邮件中,对于小于 1 MB 大小的文件,一切正常,如果单击提交时更多,那么服务器会花费很多时间给我一个服务器超时错误。
这是html:
<div class="form-group">
<label for="personalCV">CV</label>
<input
name="personalCV"
type="file"
class="form-control"
id="personalCV"
placeholder="Attach CV"
style="height: auto;"
value="<?php if (isset($personalCV)){echo $personalCV;} ?>"
required>
<span>File Shouldn't exceed 2MB, and must be of formats .doc, .docx, .pdf</span>
</div>
这是php:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//assign variables//
$firstName = filter_var($_POST['firstName'] , FILTER_SANITIZE_STRING);
$lastName = filter_var($_POST['lastName'] , FILTER_SANITIZE_STRING);
$email = filter_var($_POST['userEmail'] , FILTER_SANITIZE_EMAIL);
$phoneNum = filter_var($_POST['phoneNum'] , FILTER_SANITIZE_NUMBER_INT);
$position = $jobTitle;
$message = filter_var($_POST['message'] , FILTER_SANITIZE_STRING);
$path = 'upload/' . $_FILES["personalCV"]["name"];
move_uploaded_file($_FILES["personalCV"]["tmp_name"], $path);
我想问题是当我点击表单提交按钮时文件开始上传,这需要一些时间超过服务器超时,有没有一种方法让用户等待文件首先上传(也许使用进度条),然后在上传用户点击提交表单并发送到电子邮件后,问题仍然存在。
【问题讨论】:
-
文件上传时不应出现服务器超时。超时仅在连接空闲时发生。
-
您的脚本是否需要很长时间来处理文件?它应该只使用
move_uploaded_file()将文件保存在某处,然后离线处理。 -
1 MB 很小,应该在一秒钟内上传,确定这是问题
-
我用我的代码更新了帖子,我正在使用 move_uploaded_file() 将它保存在我的项目内的上传文件夹中,但仍然需要太多时间,然后给我这个错误:致命错误xampp 中超过 30 秒的最大执行时间
-
@tim 如果文件小于 1MB,它可以正常工作1.5 MB