编写上传和立即下载相同文件的PHP代码可以通过以下步骤实现:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload File" name="submit">
</form>
move_uploaded_file
函数将上传的文件移动到服务器上的目标位置,并使用readfile
函数将文件立即下载到用户的计算机上。以下是一个示例的upload.php脚本:<?php
if(isset($_POST["submit"])) {
$targetDir = "uploads/"; // 上传文件保存的目录
$targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]); // 上传文件的完整路径
// 将上传的文件移动到目标位置
if(move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) {
echo "File uploaded successfully.";
// 立即下载上传的文件
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($targetFile).'"');
readfile($targetFile);
exit;
} else {
echo "Error uploading file.";
}
}
?>
在上述代码中,$targetDir
变量指定了上传文件保存的目录,$targetFile
变量构建了上传文件的完整路径。move_uploaded_file
函数将上传的文件从临时位置移动到目标位置。如果移动成功,将输出"File uploaded successfully.",然后使用header
函数设置下载文件的相关头信息,最后使用readfile
函数将文件内容输出到浏览器。
请注意,上述代码只是一个简单示例,可能需要根据实际需求进行修改和完善,例如添加文件类型验证、文件大小限制等。
推荐的腾讯云相关产品:腾讯云对象存储(COS)
请注意,以上答案仅供参考,实际情况可能需要根据具体需求和环境进行调整和修改。
领取专属 10元无门槛券
手把手带您无忧上云