ホームページ  >  記事  >  php教程  >  PHPCURL ファイルアップロードの再帰実装

PHPCURL ファイルアップロードの再帰実装

WBOY
WBOYオリジナル
2016-12-05 13:27:481906ブラウズ

興味があれば、まず前回の記事を読んでください。その後、この 2 つは関連しています。異なる画像は異なる typeID に対応します。
<?php<br /> <br /> /*<br /> * 時刻: 2016年12月2日 17:21:37<br /> * 機能: テキスト内の roomID とフォルダー下のファイルを一致させてサーバーにアップロードします<br /> * 主なパラメータの説明: $file_qqq 画像ファイルのパス<br /> * $r roomID を介して配列を取得し、それを 1 回ループしてパラメーターを取得します <br /> *$ Type アップロードタイプ、写真の名前に従って<br />を取得します *作者:張晨陽<br /> */<br /> ini_set('max_execution_time', '0') //タイムアウトを設定します <br /> header('content-type:text/html;charset=utf8');<br /> <br /> <br /> $act = $_GET['パス'];<br /> if ($act == '張晨陽') {<br /> /**<br /> *時刻​​: 2016年12月2日 16:09:33<br /> * 注: 1: 画像のパスは正しいですか? ※2:ルームIDは一致していますか? *<br /> ​​*/<br /> $file = './room400.txt' //アップロードされたルームIDファイル<br />; $content = file_get_contents($file);<br /> // $content をエコー;<br /> <br /> $array =explode("rn", $content) //配列に変換<br /> //ベースキャビネットにはすべてのファイルがリストされます<br /> 関数ツリー($ディレクトリ)<br /> <br /> {<br /> グローバル $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> 同じエコーはありませんでした "&lt; li&gt;&lt; font color ="#ff00cc "&gt;&lt; b&gt; $ file&lt;/b&gt;&lt;/font&gt;&lt;/li&gt; n"; <br> ツリー("$ディレクトリ/$ファイル");<br> <br> エルセル <br> <br> グローバル $arr;<br> if (is_dir('$file')) {<br> <br> } それ以外の場合は {s <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 = "$ディレクトリ/$ファイル";<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>                                                                                                                                                                             $ok_info = $file_qqq . '-ファイル名--' . $r; file_put_contents('ok400.txt', $ok_info, FILE_APPEND);<br> <br> } それ以外の場合は {s $ ERR_INFO = $ File_qqq. '-ファイル名-'. $ File. '-ファイルのパス <br> file_put_contents('error400.txt', $err_info, FILE_APPEND);<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> ツリー("./img400");<br> 関数アップ($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('你的口令有误请重试')</script>";<br> }

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。