PHP管制檔案下載的方式

在許多時候,我們會不希望網友知道網址空間直接下載檔案,或是透過帳號密碼的管控才能下載時,該如何用程式做過濾及管制呢?

header("Content-type:application");
header("Content-Disposition: attachment; filename=file_name");
//file_name是預設下載時的檔名,可使用變數。
readfile("file");
//file是實際存放在你硬碟中要被下載的檔案,可使用變數。
exit(0);

header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="downloaded.pdf"');
readfile('original.pdf');
//限制下載速度,使用 while 迴圈加上 sleep。

while (!feof($handle)) {
echo fread($handle, 8192);
sleep(1);
}

$content = "";
$fp = fopen("http://file-to-download.com/a-file.zip", "rb");

if (!$fp)
die("Error opening file.");
while (!feof($fp))
$content .= fread($fp, 2048);
fclose($fp);

$fp=fopen("local-file-name.zip", "w");
fwrite($fp, $content);
fclose($fp);

$OrgFileName = mb_convert_encoding($OrgFileName, 'BIG-5','UTF-8');

$real_path = dirname(__FILE__).'/upload/'.$FileName;

header('Pragma: public');

header('Expires: 0');

header('Cache-Control: must-revalidate, post-check=0, pre-check=0');

header('Cache-Control: public', false);

header('Content-Description: File Transfer');

header('Accept-Ranges: bytes');

// application/force-download 為通用類型,亦可判斷檔案格式做改變

header('Content-Type: application/force-download');

header('Content-Length: '.filesize($real_path));

header('Content-Transfer-Encoding: binary');

// 注意「"」不可省略,否則FireFox會無法正確讀取

header('Content-Disposition:attachment;filename="'.$OrgFileName.'"');

// 讀取來源檔案資料

if ($stream = fopen($real_path, 'rb')){

while(!feof($stream) && connection_status() == 0){

echo(fread($stream,1024*8));

flush();

}

fclose($stream);

}

header('Content-type:application/force-download'); //告訴瀏覽器 為下載
header('Content-Transfer-Encoding: Binary'); //編碼方式
header('Content-Disposition:attachment;filename='.$filename); //檔名
@readfile($filename);

微軟Microsoft人工智慧AI運用範疇影片

http://superlevin.tw/%E5%BE%AE%E8%BB%9Fmicrosoft%E4%BA%BA%E5%B7%A5%E6%99%BA%E6%85%A7ai%E9%81%8B%E7%94%A8%E7%AF%84%E7%96%87%E5%BD%B1%E7%89%87/

 

eat River 醫療中心運用 Microsoft 的技術和裝置打造自動化的端對端藥物管理系統,大幅降低病患的等待時間、輸入資料的錯誤機率、藥物成本,讓病患更迅速地復原。

天全球有超過450億公升的水,因為水管漏水或破裂而流失,這相當2億人的每日用水。Grundfos 的智慧泵浦,透過Azure IoT 收集來自智慧感測器的據數,並利用Cortana Intelligence 的大數據分析,即時預測應對漏水問題,再搭配氣候數據,預估暴雨的發生地,提早策略性儲水。Grundfos 智慧泵浦在永續的水資源中扮演關鍵角色。

參考: https://gallery.azure.ai/experiments

平均每秒銷售一台印表機,每年銷售超過 5,000 萬台 PC,HP 每年需接觸超過 6 億個客戶,同為科技公司的 HP 很快地就發現,微軟的人工智慧可以協助他們處理客戶爆炸性的需求,AI 讓客戶解決問題的比例從 20-30%,提升至 70-80%,而後台儀表板更能提供關鍵指標,協助持續優化客服成果!

Microsoft Azure AI 技術 – 認知服務介紹 : https://azure.microsoft.com/zh-tw/services/cognitive-services/
不只看得懂數據,人工智慧也會分析影像!不論是城市中的監視器或是人手一支的行動電話,每天都有數量驚人的影像產生。而 Prism Skylabs 看準了藏在攝影鏡頭中的資訊,透過微軟認知服務的計算機視覺 API,幫助組織機構搜索閉路電視和安防攝像頭所拍攝的內容,讓企業一手掌握特定的事件、物品和人員!

Uber 正在使用 Microsoft Cognitive Services 提供即時身分識別確認。Uber 司機必須自拍自己的照片,並通過身分驗證才能載客。

有能力服務客戶的人,才能留下客戶,於是梅西百貨決心用人工智慧來擴增服務能量,消費者可以透過任何管道向梅西詢問,客服機器人會人性化的回答問題,帶領消費者找到答案,不必再翻找 FAQ,即使真人客服員,也可以藉由客服機器人的協助,快速上線工作,減少訓練的成本,在影片中您可以看到這是個有溫度的服務,它不僅滑潤了客戶關係,也為企業帶來更多的利潤!


日本電信大廠軟體銀行 (SoftBank) 的人形機器人 「Pepper」與微軟的雲端平台「Azure」利用線上大數據分析追蹤銷售品項,協助零售商更靈活調節庫存管理,同時記錄顧客的特性與需求,並搭載情感認知,客製化推薦顧客所需,創造零售購物新體驗。另外,Pepper 同時具備翻譯功能,可以服務更多來自不同地區旅客。

Great River 醫療中心運用 Microsoft 的技術和裝置打造自動化的端對端藥物管理系統,大幅降低病患的等待時間、輸入資料的錯誤機率、藥物成本,讓病患更迅速地復原。

全球有超過450億公升的水,因為水管漏水或破裂而流失,這相當2億人的每日用水。Grundfos 的智慧泵浦,透過Azure IoT 收集來自智慧感測器的據數,並利用Cortana Intelligence 的大數據分析,即時預測應對漏水問題,再搭配氣候數據,預估暴雨的發生地,提早策略性儲水。Grundfos 智慧泵浦在永續的水資源中扮演關鍵角色。

Windows Server 2016 安裝 PHP Laravel

一、開啟CGI功能
控制台→程式與功能→開啟或關閉Windows功能
開啟CGI

二、下載安裝PHP
http://windows.php.net/download/
三、修改php.ini
fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0
date.timezone = “Asia/Taipei”
extension_dir = “C:\PHP\ext”
四、安裝Visual C++ 可轉散發套件
五、IIS設定處理常式對應
六、IIS設定預設文件index.php
七、安裝URL Rewrite
https://www.iis.net/downloads/microsoft/url-rewrite