加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用REST在php中上传文件

发布时间:2020-12-13 18:03:04 所属栏目:PHP教程 来源:网络整理
导读:有没有办法使用 PHP使用REST将文件从客户端上传到服务器, 我试图使用下面的代码,它不起作用. ?php$file_to_upload = array('file_contents'='@c:test.txt');$ch = curl_init();curl_setopt($ch,CURLOPT_URL,'http://localhost/api/upload.php');curl_setop
有没有办法使用 PHP使用REST将文件从客户端上传到服务器,

我试图使用下面的代码,它不起作用.

<?php

$file_to_upload = array('file_contents'=>'@c:test.txt');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'http://localhost/api/upload.php');
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSER,TRUE);
curl_setopt($ch,CURLOPT_UPLOAD,CURLOPT_POST,CURLOPT_POSTFIELDS,$file_to_upload);
 curl_exec($ch) or die( curl_error($ch) );
$error = curl_error($ch);
curl_close ($ch);
echo " Server response: ".$result;
echo " Curl Error: ".$error;

?>

和我的upload.php

$uploaddir = realpath('./') . '/';
$uploadfile = $uploaddir . basename($_POST['file']['name']);

echo $uploadfile;
echo "n";
echo '<pre>';
echo $_POST['file']['tmp_name'];
       if (move_uploaded_file($_POST['file']['tmp_name'],$uploadfile)) {
           echo "File is valid,and was successfully uploaded.n";
       } else {
           echo "Possible file upload attack!n";
       }
       echo 'Here is some more debugging info:';

      print_r($_FILES);
       echo "n<hr />n";
       print_r($_POST);
print "</pr" . "e>n";
?>
试试这个.

的index.php

<?php
    echo "<pre>";
    print_r($_FILES);
    error_reporting(9);
    if($_REQUEST['action'] == 'submit') {
        $ch = curl_init();
        $filePath = $_FILES['file_upl']['tmp_name'];
        $fileName = $_FILES['file_upl']['name'];
        $data = array('name' => 'Foo','file' => "@$filePath",'fileName' =>$fileName);             
        curl_setopt($ch,'http://www.restServiceHost.com/file3/upload.php');
        curl_setopt($ch,1);
        curl_setopt($ch,$data);
        curl_exec($ch);
        curl_close($ch);
    }
?>

<form name="file_up" action="" method="POST" enctype="multipart/form-data">
Upload your file here
<input type="file" name="file_upl" id="file_upl"/>
<input type="submit" name="action" value="submit"/>
</form>

和upload.php在http://www.restServiceHost.com/file3

<?php
    echo "<pre>";
    echo 'in upload.php<br/>';
    print_r($_FILES);
    print_r($_REQUEST);
    move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_REQUEST["fileName"]);
?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读