0

我想将我的文件远程上传到接受使用 curl 上传的服务器,但是每次不用“@”符号输入完整的文件路径我可以创建一个浏览按钮来选择文件然后继续 curl 上传

这是我的代码::

$post = array("file_box"=>"@/path/to/myfile.jpg");

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://remote-site");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
$output = curl_exec($ch);
curl_close($ch);

return $output;

只想通过浏览按钮更改“@/path/to/myfile.jpg”,将其值传递给 php 变量

我想改变这个 [[ $post = array("file_box"=>"@/path/to/myfile.jpg"); ]]

类似的事情

[[ $post = array("file_box"=>"@".$variable_contains_file_path_from_browse_button); ]]

防止将文件直接从客户端上传到远程服务器的临时路径中的中间服务器(托管此脚本)

有没有解决方案

感谢大家的帮助。

4

1 回答 1

0

SO中有几个问题可以解决这个问题

这是一些链接

使用 curl 上传文件

curl php文件上传

谷歌搜索策略也是http://bit.ly/PMUf2b

但仍然因为您要求从前端上传浏览按钮,这里是完整的设置以及导师链接

你可以按照这里有前端和php代码的导师

使用 curl 上传 这是 php 代码

    $request_url = ‘http://www.example.com/test.php’;
    $post_params['name'] = urlencode(’Test User’);
    $post_params['file'] = ‘@’.'demo/testfile.txt’;
    $post_params['submit'] = urlencode(’submit’);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $request_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params);
    $result = curl_exec($ch);
    curl_close($ch);

这是html代码

<form method=”post” action=”test.php” enctype=”multipart/form-data”&gt;
    <input type=”text” name=”name” value=”Test User” />
    <input type=”file” name=”file” />
    <input type=”submit” name=”submit” value=”submit” />
</form>
于 2012-10-03T01:01:32.243 回答