如何从 tmp 目录移动 Inbound Multipart form-data 文件
How to move Inbound Multipart form-data file from tmp directory
我正在编写一个 webhook 来接收入站传真。入站 POST 到达服务器。问题是检索 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/");
我想我会继续并在此入站网络钩子上展示我对 headers 的了解
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");
我试过手动去寻找文件。我找不到任何文件。我不确定我还能做些什么来解决这种情况。非常感谢任何故障排除建议。
试试
$local = $inboundFaxLocation;
$_FILES['attachment']['tmp_name']
应该已经包含临时文件的完整路径,无需再添加原始名称。
P.S。通常在 PHP 中,人们使用 move_uploaded_file()
专门用于将上传的文件从其临时上传位置传输到更永久的位置 - 实际上复制没有意义,因为临时文件无论如何都会被删除脚本结束的一段时间。
对我有用的最终代码。
move_uploaded_file($_FILES['attachment']['tmp_name'], "/var/www/html/new_home/" . $_FILES['attachment']['name']);
我正在编写一个 webhook 来接收入站传真。入站 POST 到达服务器。问题是检索 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/");
我想我会继续并在此入站网络钩子上展示我对 headers 的了解
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");
我试过手动去寻找文件。我找不到任何文件。我不确定我还能做些什么来解决这种情况。非常感谢任何故障排除建议。
试试
$local = $inboundFaxLocation;
$_FILES['attachment']['tmp_name']
应该已经包含临时文件的完整路径,无需再添加原始名称。
P.S。通常在 PHP 中,人们使用 move_uploaded_file()
专门用于将上传的文件从其临时上传位置传输到更永久的位置 - 实际上复制没有意义,因为临时文件无论如何都会被删除脚本结束的一段时间。
对我有用的最终代码。
move_uploaded_file($_FILES['attachment']['tmp_name'], "/var/www/html/new_home/" . $_FILES['attachment']['name']);