首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用卷曲将文件上传到目标目录?

如何用卷曲将文件上传到目标目录?
EN

Stack Overflow用户
提问于 2015-07-04 13:40:03
回答 7查看 2.9K关注 0票数 25

我的本地机器上有一个文件"/home/test.mp4"

我想把它上传到/var/www/ok.mp4 (上传的时候名字改变了)。所有源文件和目标文件都在本地机器中。

如何修复我的部分代码,添加某些内容或更改某些内容?

代码语言:javascript
运行
复制
<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); 
curl_exec($ch);

?>

对Ram Sharma来说,代码被修改如下:

代码语言:javascript
运行
复制
<?php
$request = curl_init('http://127.0.0.1/');
curl_setopt($request, CURLOPT_POST, true);
curl_setopt(
    $request,
    CURLOPT_POSTFIELDS,
    array(
      'file' => '@' . realpath('/home/test.mp4')
    ));
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($request);
// close the session
curl_close($request);
?>

出现错误消息:

它起作用了!

这是此服务器的默认网页。

web服务器软件正在运行,但还没有添加任何内容。

我和ftp_put做了测试,code1很好用。

code1:

代码语言:javascript
运行
复制
<?php
    set_time_limit(0);
    $host = 'xxxx';
    $usr = 'yyyy';
    $pwd = 'zzzz';
    $src = 'd:/upload.sql';
    $ftp_path = '/public_html/';
    $des = 'upload_ftp_put.sql';
    $conn_id = ftp_connect($host, 21) or die ("Cannot connect to host");
    ftp_login($conn_id, $usr, $pwd) or die("Cannot login");
    $upload = ftp_put($conn_id, $ftp_path.$des, $src, FTP_ASCII); 
    print($upload);
?>

我的本地pc中的d:/upload.sql文件可以用code1上传到my_ftp_ip/public_html/upload_ftp_put.sql中。

现在我把它卷曲成code2。

code2:

代码语言:javascript
运行
复制
<?php
  set_time_limit(0);
  $ch = curl_init();
  $host = 'xxxx';
  $usr = 'yyyy';
  $pwd = 'zzzz';
  $src = 'd:/upload.sql';
  $ftp_path = '/public_html';
  $dest = 'upload_curl.sql';
  $fp = fopen($src, 'r');
  curl_setopt($ch, CURLOPT_URL, 'ftp://user:pwd@host/'.$ftp_path .'/'. $dest);
  curl_setopt($ch, CURLOPT_UPLOAD, 1);
  curl_setopt($ch, CURLOPT_INFILE, $fp);
  curl_setopt($ch, CURLOPT_INFILESIZE, filesize($src));
  curl_exec ($ch);
  $error_no = curl_errno($ch);
  print($error_no);
  curl_close ($ch);
?>

错误信息输出是6 .Why不能上传我的本地文件到ftp与卷曲?如何修复?

EN

Stack Overflow用户

发布于 2015-07-04 13:46:59

尝试这样的方法,我觉得不是服务器目录路径,而是http url。

代码语言:javascript
运行
复制
// initialise the curl request
$request = curl_init('http://example.com/');
// send a file
curl_setopt($request, CURLOPT_POST, true);
curl_setopt(
    $request,
    CURLOPT_POSTFIELDS,
    array(
      'file' => '@' . realpath('test.txt')
    ));

// output the response
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($request);
// close the session
curl_close($request);
票数 1
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31221272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档