PHPCURL遞歸實(shí)現(xiàn) 上傳文件
Dec 05, 2016 pm 01:27 PM感興趣可以先看上一篇文章,然后這兩個(gè)是關(guān)聯(lián)的。不同的圖片,對(duì)應(yīng)不同的typeID,<?php <br />
<br>
/*<br>
?*?time:2016年12月2日17:21:37<br>
?*?功能:根據(jù)文本里面的roomID和文件夾下面的文件匹配上傳到服務(wù)器<br>
?*?主要參數(shù)說(shuō)明:$file_qqq?圖片文件路徑<br>
?*???????????????$r?roomID,得到一個(gè)數(shù)組循環(huán)一次出隊(duì)獲得該參數(shù)<br>
?*???????????????$type?上傳類型,根據(jù)圖片名字得到<br>
?*author:zhangchenyang<br>
?*/<br>
ini_set('max_execution_time',?'0');??//設(shè)置超時(shí)時(shí)間<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是否對(duì)應(yīng)<br>
?????*<br>
?????*/<br>
????$file?=?'./room400.txt';??//上傳的roomID文件<br>
????$content?=?file_get_contents($file);<br>
//echo?$content;<br>
<br>
????$array?=?explode("\r\n",?$content);?//轉(zhuǎn)成數(shù)組<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>
????????????????????????//構(gòu)建接口的參數(shù)<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 id="目錄為粉紅色">目錄為粉紅色</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>
//加@符號(hào)curl就會(huì)把它當(dāng)成是文件上傳處理<br>
????????$data?=?array('img'?=>?'@'?.?$source);<br>
//$url='http://localhost/update_admin.php?u=%s&t=%s&r=%s&type=%s';?/測(cè)試接口<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>
//?設(shè)置?POST?數(shù)據(jù)<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);?//不驗(yàn)證證書(shū)<br>
????????curl_setopt($ch,?CURLOPT_SSL_VERIFYHOST,?false);?//不驗(yàn)證證書(shū)<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('你的口令有誤請(qǐng)重試')</script>";<br>
}

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)

《Go語(yǔ)言編程實(shí)例:Web開(kāi)發(fā)中的代碼示例》隨著互聯(lián)網(wǎng)的快速發(fā)展,Web開(kāi)發(fā)已經(jīng)成為各行業(yè)中必不可少的一部分。作為一門功能強(qiáng)大且性能優(yōu)越的編程語(yǔ)言,Go語(yǔ)言在Web開(kāi)發(fā)中越來(lái)越受到開(kāi)發(fā)者們的青睞。本文將通過(guò)具體的代碼示例,介紹如何利用Go語(yǔ)言進(jìn)行Web開(kāi)發(fā),讓讀者能夠更好地理解和運(yùn)用Go語(yǔ)言來(lái)構(gòu)建自己的Web應(yīng)用。1.簡(jiǎn)單的HTTP服務(wù)器首先,讓我們從一個(gè)

華為云邊緣計(jì)算對(duì)接指南:Java代碼示例快速實(shí)現(xiàn)接口隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展和邊緣計(jì)算的興起,越來(lái)越多的企業(yè)開(kāi)始關(guān)注邊緣計(jì)算的應(yīng)用。華為云提供了邊緣計(jì)算服務(wù),為企業(yè)提供了高可靠的計(jì)算資源和便捷的開(kāi)發(fā)環(huán)境,使得邊緣計(jì)算應(yīng)用更加容易實(shí)現(xiàn)。本文將介紹如何通過(guò)Java代碼快速實(shí)現(xiàn)華為云邊緣計(jì)算的接口。首先,我們需要準(zhǔn)備好開(kāi)發(fā)環(huán)境。確保你已經(jīng)安裝了Java開(kāi)發(fā)工具包(

了解Python編程的入門級(jí)代碼示例Python是一種簡(jiǎn)單易學(xué),功能強(qiáng)大的編程語(yǔ)言。對(duì)于初學(xué)者來(lái)說(shuō),了解Python編程的入門級(jí)代碼示例是非常重要的。本文將為您提供一些具體的代碼示例,幫助您快速入門。打印HelloWorldprint("HelloWorld")這是Python中最簡(jiǎn)單的代碼示例。print()函數(shù)用于將指定的內(nèi)容輸出

Java冒泡排序最簡(jiǎn)單的代碼示例冒泡排序是一種常見(jiàn)的排序算法,它的基本思想是通過(guò)相鄰元素的比較和交換來(lái)將待排序序列逐步調(diào)整為有序序列。下面是一個(gè)簡(jiǎn)單的Java代碼示例,演示了如何實(shí)現(xiàn)冒泡排序:publicclassBubbleSort{publicstaticvoidbubbleSort(int[]arr){int

如何使用PHP編寫(xiě)庫(kù)存管理系統(tǒng)中的庫(kù)存分倉(cāng)管理功能代碼庫(kù)存管理是許多企業(yè)中不可或缺的一部分。對(duì)于擁有多個(gè)倉(cāng)庫(kù)的企業(yè)來(lái)說(shuō),庫(kù)存分倉(cāng)管理功能尤為重要。通過(guò)合理管理和跟蹤庫(kù)存,企業(yè)可以實(shí)現(xiàn)不同倉(cāng)庫(kù)之間的庫(kù)存調(diào)撥,優(yōu)化運(yùn)營(yíng)成本,改善協(xié)同效率。本文將介紹如何使用PHP編寫(xiě)庫(kù)存分倉(cāng)管理功能的代碼,并為您提供相關(guān)的代碼示例。一、建立數(shù)據(jù)庫(kù)在開(kāi)始編寫(xiě)庫(kù)存分倉(cāng)管理功能的代碼之

PHP變量存儲(chǔ)程序運(yùn)行期間的值,對(duì)于構(gòu)建動(dòng)態(tài)且交互式的WEB應(yīng)用程序至關(guān)重要。本文將深入探討php變量,并通過(guò)10個(gè)真實(shí)的示例展示它們的實(shí)際應(yīng)用。1.存儲(chǔ)用戶輸入$username=$_POST["username"];$passWord=$_POST["password"];此示例從表單提交中提取用戶名和密碼,并將其存儲(chǔ)在變量中以供進(jìn)一步處理。2.設(shè)置配置值$database_host="localhost";$database_username="username";$database_pa

Java選擇排序法代碼編寫(xiě)指南及示例選擇排序是一種簡(jiǎn)單直觀的排序算法,其思想是每次從未排序的元素中選擇最小(或最大)的元素進(jìn)行交換,直到所有元素排序完成。本文將提供選擇排序的代碼編寫(xiě)指南,并附上具體的Java示例代碼。算法原理選擇排序的基本原理是將待排序數(shù)組分為已排序和未排序兩部分,每次從未排序部分選擇最?。ɑ蜃畲螅┑脑?,將其放到已排序部分的末尾。重復(fù)上述

標(biāo)題:從入門到精通:Go語(yǔ)言中常用數(shù)據(jù)結(jié)構(gòu)的代碼實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)在編程中起著至關(guān)重要的作用,它是程序設(shè)計(jì)的基礎(chǔ)。在Go語(yǔ)言中,有許多常用的數(shù)據(jù)結(jié)構(gòu),掌握這些數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)方式對(duì)于成為一名優(yōu)秀的程序員至關(guān)重要。本文將介紹Go語(yǔ)言中常用的數(shù)據(jù)結(jié)構(gòu),并給出相應(yīng)的代碼示例,幫助讀者從入門到精通這些數(shù)據(jù)結(jié)構(gòu)。1.數(shù)組(Array)數(shù)組是一種基本的數(shù)據(jù)結(jié)構(gòu),是一組相同類型
