blob取回來會(huì)是一個(gè)[字符串類型]的字節(jié)串,用strlen獲得字節(jié)數(shù).
10年積累的成都網(wǎng)站建設(shè)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有涇川免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
strlen()函數(shù)是沿用php2以來命名的函數(shù),作用并不是統(tǒng)計(jì)字符數(shù),而僅統(tǒng)計(jì)字節(jié)byte數(shù)。
即使php7.x仍沿用strlen數(shù)字節(jié)。
Warning: Cannot modify header information - headers already sent by (output started at F:\www\reg\down-img.php:2) in F:\www\reg\down-img.php on line 28
這個(gè)是常見的一種錯(cuò)誤 一般使用header() 函數(shù)的時(shí)候
前面不可以有 任何輸出, 有時(shí)候不小心 ?php 上面 有空格或者 回車都不可以
要顯示圖片Header( "Content-type: image/JPEG"); 是必須要有的
在調(diào)用公眾號(hào)接口".$token."type=".$type;
上傳永久素材文件總是返回 "{\"errcode\":41005,\"errmsg\":\"media data missing\"}"
經(jīng)過多次測(cè)試使用下面的方式,可以正常上傳
//調(diào)用測(cè)試
protected static $url;
protected static $delimiter;
protected static $instance;
public function index()
{
? ? static::$delimiter = uniqid();
$basename = Request::instance()-root();
if (pathinfo($basename, PATHINFO_EXTENSION) == 'php') {
$basename = dirname($basename);
}
? ? $result=$this-wxAddMaterial($token,$basename.'/upload/images/gnlog.jpg','image');
}
// 新增其他類型永久素材
public function wxAddMaterial($token,$filename='',$type='') {
// 設(shè)置請(qǐng)求參數(shù)
static::$url = "".$token."type=".$type;
$filePath = str_replace('\\', '/', $filename);
// 發(fā)送請(qǐng)求
$imginfo=pathinfo($filePath);
$fields = array(
? ? 'media'=file_get_contents(".".$filePath),
? ? 'filename'=$imginfo["basename"],
);
$res = $this-putPart( $fields);
// 發(fā)送請(qǐng)求
return $res;
}
//推送文件流
public function putPart($param) {
$post_data = static::buildData($param);
$curl = curl_init(static::$url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
? ? "Content-Type: multipart/form-data; boundary=" . static::$delimiter,
? ? "Content-Length: " . strlen($post_data)
]);
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
//編譯請(qǐng)求頭格式和數(shù)據(jù)流
private static function buildData($param){
$data = '';
$eol = "\r\n";
$upload = $param['media'];
unset($param['media']);
foreach ($param as $name = $content) {
? ? $data .= "--" . static::$delimiter . "\r\n"
? ? ? ? . 'Content-Disposition: form-data; name="' . $name . "\"\r\n\r\n"
? ? ? ? . $content . "\r\n";
}
$data .= "--" . static::$delimiter . $eol
? ? . 'Content-Disposition: form-data; name="media"; filename="' . $param['filename'] . '"' . "\r\n"
? ? . 'Content-Type:application/octet-stream'."\r\n\r\n";
$data .= $upload . "\r\n";
$data .= "--" . static::$delimiter . "--\r\n";
return $data;
}
根據(jù)自己的實(shí)際情況稍作修改
imagegif(resource $image [, string $filename ]) 從 image 圖像以 filename 為文件名創(chuàng)建一個(gè) GIF 圖像。image 參數(shù)是 imagecreate() 或 imagecreatefrom* 函數(shù)的返回值。
imagejpeg(resource $image [, string $filename ]) 從 image 圖像以 filename 為文件名創(chuàng)建一個(gè) JPEG 圖像。
imagepng(resource $image [, string $filename ]) 將 GD 圖像流(image)以 PNG 格式輸出到標(biāo)準(zhǔn)輸出(通常為瀏覽器),或者如果用 filename 給出了文件名則將其輸出到該文件。
filename 文件保存的路徑,如果未設(shè)置或?yàn)?NULL,將會(huì)直接輸出原始圖象流。
這幾個(gè)函數(shù)你參考一下,希望對(duì)你有幫助。
文章標(biāo)題:php.數(shù)據(jù)流 php輸出文件流
分享路徑:http://jinyejixie.com/article34/hejhse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、搜索引擎優(yōu)化、網(wǎng)站內(nèi)鏈、企業(yè)建站、品牌網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)