[英]How to move Inbound Multipart form-data file from tmp directory
我正在编写一个 webhook 来接收入站传真。 入站 POST 到达服务器。 问题是检索帖子的附件。 我的错误日志中有此消息。
PHP Warning: copy(/tmp/php4qL9du/pdf-sample.pdf): failed to open stream: No such file or directory in
$_FILES 中的数组是这个
Array
(
[attachment] => Array
(
[name] => pdf-sample.pdf
[type] => application/pdf
[tmp_name] => /tmp/phppw5aIU
[error] => 0
[size] => 7945
)
)
我将数组放入变量中。
$inboundFaxDocumentName = $_FILES['attachment']['name'];
$inboundFaxLocation = $_FILES['attachment']['tmp_name'];
$inboundFaxFilesize = $_FILES['attachment']['size'];
$local = $inboundFaxLocation."/".$inboundFaxDocumentName;
copy($local, "/var/www/html/new_home/");
我想我会提前 go 并展示我在这个入站 webhook 上的标题
header("Access-Control-Allow-Origin: *");
header("Content-Type: multipart/form-data; charset-UTF-8");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorizations, X-Requested-With");
我曾尝试手动 go 查找文件。 我一直找不到任何文件。 我不确定我还能做些什么来解决这种情况。 任何有关故障排除的建议将不胜感激。
试一试
$local = $inboundFaxLocation;
$_FILES['attachment']['tmp_name']
应该已经包含临时文件的完整路径,也不需要添加原始名称。
PS 通常在 PHP 中,人们使用move_uploaded_file()
专门用于将上传的文件从其临时上传位置传输到更永久的位置 - 复制真的没有意义,因为临时文件无论如何都会在一段时间后被删除脚本结束。
对我有用的最终代码。
move_uploaded_file($_FILES['attachment']['tmp_name'], "/var/www/html/new_home/" . $_FILES['attachment']['name']);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.