欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php put上傳

李明濤1年前7瀏覽0評論
關于PHP文件上傳,大家常使用的是POST請求方式,但除此之外還有另一種請求方式——PUT。普通的POST上傳文件方式需要通過表單提交的形式進行上傳,但使用PUT方式上傳文件則不必經過表單的提交,而是直接把文件放到HTTP請求的體中,從而減少了上傳文件的流量和傳輸過程中的干擾,提高了上傳的效率,適用于上傳需要較高速度和穩定性的大型文件。
PUT上傳的實際操作,通常需要針對服務器端的PHP進行簡單的設置。服務器端需要對PUT請求有一個特定的響應處理,在Apache服務器中自帶相關的響應模塊,而在Nginx等服務器上,則需要手動安裝并配置。下面我們詳細介紹一下如何在Apache服務器上進行PUT上傳設置。
首先,在服務器的httpd.conf或虛擬主機的配置文件中開啟相應的文件操作權限:
<Directory /path/to/directory>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
Order allow,deny
Allow from all
LimitRequestBody 0
ForceType application/x-httpd-php
SetHandler application/x-httpd-php
</Directory>

其中,LimitRequestBody 0表示無限制上傳文件大小;ForceType和SetHandler用于指定上傳文件的MIME類型以及處理該文件的程序,即上傳文件處理程序的路徑。
在代碼方面,使用PUT方式上傳文件和使用POST方式是有所不同的:
<?php
$putdata = fopen("php://input", "r");
$fp = fopen("put.txt", "w");
<br>
    while ($data = fread($putdata, 1024))
fwrite($fp, $data);
<br>
    fclose($fp);
fclose($putdata);
?>

上述代碼是一個簡單的例子,通常我們還需要在編寫上傳代碼時加上諸如MIME類型、文件名等的處理邏輯,如下所示:
<?php
$putdata = fopen("php://input", "r");
$fp = fopen("/path/to/upload/".$_SERVER["HTTP_UPLOAD_FILENAME"], "w");
<br>
    while ($data = fread($putdata, 1024))
fwrite($fp, $data);
<br>
    fclose($fp);
fclose($putdata);
?>

此處我們通過$_SERVER["HTTP_UPLOAD_FILENAME"]獲取上傳文件的文件名,并在路徑“/path/to/upload/”下創建一個同名的文件。通過這種方式實現文件上傳。
總而言之,PUT上傳是一種新型的文件上傳方式,具有高效、穩定、安全等優點,可用于上傳大型文件、多文件等需要較高速度和流量控制的場合。在使用時要注意服務器端的配置和代碼的處理邏輯。