通过php中的curl上传文件

拉胡尔

我正在尝试通过curl在另一台服务器上上传文件。我为此创建了一个脚本,但是无法获取$_FILES参数。它是空的。

$request = curl_init('http://localhost/pushUploadedFile.php');
$file_path = $path.$name;
curl_setopt($request, CURLOPT_POST, true);
curl_setopt(
     $request,
     CURLOPT_POSTFIELDS,
     array(
      'file' => '@' . $file_path,
      'test' => 'rahul'
));
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($request);exit();

pushUploadedFile.php:

print_r($_FILES['file']);
杰拉尔德·施耐德

您正在使用哪个版本的PHP?在PHP 5.5中,CURLOPT_SAFE_UPLOAD引入了curl选项,该选项的初始默认版本true为PHP 5.6.0。如果是,则true使用@/path/to/file禁用文件上传因此,如果您使用的是PHP 5.6或更高版本,则必须将其设置false为允许上传:

curl_setopt($request, CURLOPT_SAFE_UPLOAD, false);

但是自@/path/to/filePHP 5.5.0起,上传格式已经过时和不赞成使用,您CurlFile现在应该使用该类:

$request = curl_init();
$file_path = $path.$name;
curl_setopt($request, CURLOPT_URL, 'http://localhost/pushUploadedFile.php');
curl_setopt($request, CURLOPT_POST, true);
curl_setopt(
     $request,
     CURLOPT_POSTFIELDS,
     array(
      'file' => new CurlFile( $file_path ),
      'test' => 'rahul'
));
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($request);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过PHP中的curl文件发布/上传

来自分类Dev

通过PHP Curl PUT上传文件

来自分类Dev

通过PHP Curl PUT上传文件

来自分类Dev

无法通过curl上传文件

来自分类Dev

cURL上传文件到PHP

来自分类Dev

使用curl通过FTP上传多个文件

来自分类Dev

无法通过php上传文件

来自分类Dev

文件不是通过PHP上传的

来自分类Dev

PHP cURL文件上传到网站

来自分类Dev

使用 curl 在 PHP 中上传 CSV 文件

来自分类Dev

用 Guzzle 重写 curl(文件上传) - PHP

来自分类Dev

如何使用 Shell 中的 CURL 在启用 CSRF 的网站上通过 https 上传文件?

来自分类Dev

无法通过PHP文件上传将文件上传到AWS

来自分类Dev

通过ftp从ftp在PHP中上传文件

来自分类Dev

通过弹出窗口上传文件PHP

来自分类Dev

通过CURL上传-如何更改目标文件名?

来自分类Dev

PHP中的文件上传错误。

来自分类Dev

csv 文件不会通过 php 上传器上传

来自分类Dev

在bash中通过ftp从列表上传文件

来自分类Dev

使用cURL上传文件

来自分类Dev

使用cURL上传文件

来自分类Dev

将时间戳和自定义名称添加到通过PHP上传的文件中

来自分类Dev

通过客户端上传(.sql文件)在PHP中还原MySQL数据库

来自分类Dev

使用HTML表单或cURL在PHP中上传多个文件

来自分类Dev

PHP CURL文件上传被保存到Sharepoint而不是OneDrive

来自分类Dev

使用HTML表单或cURL在PHP中上传多个文件

来自分类Dev

使用php curl将文件上传到Google云端硬盘

来自分类Dev

通过bestream中的curl发送文件

来自分类Dev

从CherryPy上传的标准文件在cURL中不起作用