php+curl上传文件到远程服务器

php中文网
发布: 2016-06-23 13:38:05
原创
2038人浏览过

一、window下安装php_curl支持

  1.将PHP安装文件夹下的三个文件php_curl.dll(可能在ext文件夹中),libeay32.dll,ssleay32.dll 复制到 %windir%/system32下;
  2.打开php.ini(可能在PHP环境的安装目录下,默认在c:\WINDOWS目录下),将;extension=php_curl.dll头部的分号去掉;

  3.重启php的服务(apache或者IIS),如重启IIS,运行iisreset即可。

二、注意事项。

码上飞
码上飞

码上飞(CodeFlying) 是一款AI自动化开发平台,通过自然语言描述即可自动生成完整应用程序。

码上飞 138
查看详情 码上飞

立即学习PHP免费学习笔记(深入)”;

    注意服务器文件夹的权限,

    php.ini 里 upload_tmp_dir 设置一个全新的目录 也赋予Everyone 读写权限。

    上传文件的目标目录也赋予Everyone 读写权限。

三、直接上代码

1、文件curlTest.php:

立即学习PHP免费学习笔记(深入)”;

<form action=" curlTest.php" enctype="multipart/form-data"  method="post">  <p>UpLoad: <input type="file" name="file"  id="file"/></p>  <input type="submit" value="Submit" /></form><?phpupload();/**     * 上传图片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 ="www.123.com/k1/upload.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;    }?>
登录后复制

立即学习PHP免费学习笔记(深入)”;

2、文件upload.php:

立即学习PHP免费学习笔记(深入)”;

<?php  echo "<pre class="brush:php;toolbar:false;"> "; print_r($_FILES);  $uploaddir = 'D:/temp/caches/'; $uploadfile = $uploaddir . basename($_FILES['file']['name']);  echo '<pre class="brush:php;toolbar:false;">'; 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:'; ?>
登录后复制

立即学习PHP免费学习笔记(深入)”;


参考链接



http://bbs.csdn.net/topics/300018585








PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号