php 远程上传文件 远程上传图片

来源:互联网 发布:seo软文免费发布渠道 编辑:程序博客网 时间:2024/05/17 18:42


本地服务器代码

  
<?php  
upload();  
/** 
     * 上传图片api 
     *  
     */  
     function upload(){  
        $result = array('code' => 0, 'message' => 'ok');  
        ini_set('upload_max_filesize', '20M');  
        ini_set('post_max_size', '20M');  
        ini_set('memory_limit', '128M');  
        //接收上传的远程地址  
        $url = isset($_POST['url']) ? trim($_POST['url']) : '';  
         
        $url ="http://192.168.85.129/a.php";  
        if (empty($url)) {  
            $result['code'] = 40001;  
            $result['message'] = 'url不能为空';  
            //Helper_Http::writeJson(200,$result);  
        }  
        $file = $_FILES['file'];  
        print_r($_FILES);  
        if ($file['error'] != 0) {  
            $result['code'] = 40001;  
            $result['message'] = '上传出错';  
            //Helper_Http::writeJson(200,$result);  
            echo 1;  
        } else {  
            $filename = $file['name'];  
            $tmpfile = $file['tmp_name'];  
            $filetype = $file['type'];  
            $data = upload_file($url, $filename, $tmpfile, $filetype);  
            echo $data;  
            print_r ($url);  
            die;  
        }  
    }  
       
    /** 
     * curl上传文件 
     *  
     * @param unknown $url 
     * @param unknown $filename 
     * @param unknown $path 
     * @param unknown $type 
     */  
    function upload_file($url,$filename,$path,$type){  
        echo 3;  
        echo $path;  
        //php 5.5以上的用法  
        if (class_exists('\CURLFile')) {  
            $data = array('file' => new \CURLFile(realpath($path),$type,$filename));  
        } else {  
            $data = array(  
                'file'=>'@'.realpath($path).";type=".$type.";filename=".$filename  
            );  
        }  
        echo 'data:';  
        print_R($data);  
        $ch = curl_init();  
        curl_setopt($ch, CURLOPT_URL, $url);  
        curl_setopt($ch, CURLOPT_POST, true );  
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  
        curl_setopt($ch, CURLOPT_HEADER, false);  
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
        $return_data = curl_exec($ch);  
        curl_close($ch);  
        echo $return_data;  

    }  



2远程服务器端代码


<?php
echo "<pre> ";


 print_r($_FILES);




 $uploadfile = dirname(__FILE__).'/'.basename($_FILES['file']['name']);


 echo '<pre>';
 if (move_uploaded_file($_FILES['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:';
 
0 0
原创粉丝点击