Maison  >  Article  >  php教程  >  PHPCURL递归实现 上传文件

PHPCURL递归实现 上传文件

WBOY
WBOYoriginal
2016-12-05 13:27:481906parcourir

感兴趣可以先看上一篇文章,然后这两个是关联的。不同的图片,对应不同的typeID,
<?php <br /> <br> /*<br>  * time:2016年12月2日17:21:37<br>  * 功能:根据文本里面的roomID和文件夹下面的文件匹配上传到服务器<br>  * 主要参数说明:$file_qqq 图片文件路径<br>  *               $r roomID,得到一个数组循环一次出队获得该参数<br>  *               $type 上传类型,根据图片名字得到<br>  *author:zhangchenyang<br>  */<br> ini_set('max_execution_time', '0');  //设置超时时间<br> header('content-type:text/html;charset=utf8');<br> <br> <br> $act = $_GET['pass'];<br> if ($act == 'zhangchenyang') {<br>     /**<br>      *time:2016年12月2日16:09:33<br>      * 注意:1:图片路径是否正确<br>      *       2:房间id是否对应<br>      *<br>      */<br>     $file = './room400.txt';  //上传的roomID文件<br>     $content = file_get_contents($file);<br> //echo $content;<br> <br>     $array = explode("\r\n", $content); //转成数组<br> //地柜列出所有文件<br>     function tree($directory)<br> <br>     {<br>         global $array;<br>         $mydir = dir($directory);<br> <br>         echo "<ul>\n";<br> <br>         while ($file = $mydir->read()) {<br> <br>             if ((is_dir("$directory/$file")) AND ($file != ".") AND ($file != "..")) {<br>                 $arr = array_shift($array);<br> <br>                 echo "<li><font><b>$file</b></font></li>\n";<br> <br>                 tree("$directory/$file");<br> <br>             } else<br> <br> <br>                 global $arr;<br>             if (is_dir('$file')) {<br> <br>             } else {<br> <br> <br>                 if ($file !== '.' & $file !== ".." & $file != '') {<br>                     $img_name = mb_substr($file, 0, 1, 'utf-8');<br>                     if (is_numeric($img_name)) {<br>                         echo "<li>$file,$img_name</li>\n";<br>                         $file_qqq = "$directory/$file";<br>                         var_dump($file_qqq);<br>                         //构建接口的参数<br>                         $r = $arr;<br>                         $t = $img_name;<br> <br>                         $return_data = up($file_qqq, $r, $t);  //1:图片的路径 2:房间ID 3:传递类型<br>                         if ($return_data == '200') {<br>                             //上传成功<br>                             $ok_info = $file_qqq . '-文件名字-' . $file . '-房间ID--' . $r; //文件的路径<br>                             file_put_contents('ok400.txt', $ok_info, FILE_APPEND);<br> <br>                         } else {<br>                             $err_info = $file_qqq . '-文件名字-' . $file . '-房间ID--' . $r; //文件的路径<br>                             file_put_contents('error400.txt', $err_info, FILE_APPEND);<br> <br> <br>                         }<br> <br> <br>                     }<br> <br>                 }<br>             }<br> <br> <br>         }<br> <br>         echo "</ul>\n";<br> <br>         $mydir->close();<br> <br>     }<br> <br> <br>     echo "<h2>目录为粉红色</h2> <br>\n";<br> <br>     tree("./img400");<br>     function up($file_qqq, $r, $type)<br>     {<br> <br>         $u = '1';<br>         $t = '1';<br> <br> <br>         $ch = curl_init();<br>         $source = $file_qqq;<br>         $source = realpath($source);<br> //加@符号curl就会把它当成是文件上传处理<br>         $data = array('img' => '@' . $source);<br> //$url='http://localhost/update_admin.php?u=%s&t=%s&r=%s&type=%s'; /测试接口<br>         $url = 'http://localhost/room/update_admin.php?u=%s&t=%s&r=%s&type=%s';<br>         $url = sprintf($url, $u, $t, $r, $type);<br>         //var_dump($url);<br>         $cfile = curl_file_create($source, 'image/jpeg', '1.jpg');<br> <br> // 设置 POST 数据<br>         $data = array('uploadedfile' => $cfile);<br>         $ch = curl_init($url);<br>         curl_setopt($ch, CURLOPT_URL, $url);<br>         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br>         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不验证证书<br>         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不验证证书<br>         curl_setopt($ch, CURLOPT_POST, true);<br>         curl_setopt($ch, CURLOPT_POSTFIELDS, $data);<br>         $result = curl_exec($ch);<br> //var_dump($data);<br>         $error = curl_error($ch);<br>         $b = curl_multi_getcontent($ch);<br>         curl_close($ch);<br> <br> <br>         return json_decode($result);<br> <br>     }<br> <br> <br> } else {<br> <br>     echo "<script>alert(&#039;你的口令有误请重试&#039;)</script>";<br> }

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn