PHP -----上传文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文件上傳
如何上傳文件??
?
-----------------------------------------------主頁面-----------------------------------------------
<title>無標題文檔</title>
</head>
?
<body>
<form action="chuli.php" method="post" enctype="multipart/form-data"><!--如果這個表單用來上傳文件的,需要加額外的一個屬性:enctype="multipart/form-data"提交數(shù)據(jù)的類型,是一個文件數(shù)據(jù)-->
<input type="file" /><!--這個標簽可以用來選擇文件-->
<!--文件的上傳就是給予這個標簽來實現(xiàn)的-->
<!--通過這個標簽選完文件,要把這個文件,可以提交到另一個頁面來實現(xiàn)-->
<!--<input type="file" />他是一個表單元素。只要是表單元素,就可以進行提交。把它提交到另外一個頁面來處理-->
<!--上傳文件就是依據(jù),表單的提交功能,來實現(xiàn)。-->
<input type="submit" value="上傳" /><!--上傳文件需要借助表單提交來完成-->
<!--選擇文件是選取的客戶端的文件,哪個電腦用就選取那個電腦的文件。當點擊上傳提交到另外一個頁面叫處理頁面來處理,處理頁面只有php代碼,他只要包含PHP代碼就要通過服務器的Php來處理,所以就相當于從客戶端把文件拿到了服務端去處理這樣就可以完成一個文件,從客戶端轉移到服務端這樣一個過程。-->
</form>
</body>
</html>
?
?
?
?
?
----------------------------------------------處理頁面----------------------------------------------
<?php
//提交了一個文件過來,而且name="file,文件選擇的表單name叫"file,
//在處理頁面怎樣把傳過來的值取到
//如果你是上傳文件提交過來的,要從$_FILES數(shù)組來取
var_dump($_FILES);
顯示的結果:
是一個二維數(shù)組
file代表提交表單的name值,又包含了一個數(shù)組這個數(shù)組里面才包含了上傳文件的信息
name上傳的文件名?? type上傳的類型??? tmp_name文件臨時存儲的路徑,也就是說把文件從客戶端拿到服務端之后這個文件先預先存儲一個位置,把這個文件保存在來了,保存在服務端了,如果不保存,這程序執(zhí)行完就刪掉了,這就是一個臨時文件???? error 出錯信息 size上傳文件的大小?? int 2786這個是以字節(jié)為單位的 ? 它是存在$_FILES數(shù)組里的 var_dump($_FILES["file"]);//可以取到上傳的信息
打到處理頁面,這個文件臨時存在了服務器了,不是在客戶端了,臨時存在了F:\PHP1\wamp\tmp\php8C5C.tmp這個位置上,現(xiàn)在要把這個文件怎樣完成一個文件上傳,就是把這個臨時文件保存下了,指定一個目錄保存下來(存在目錄里),這樣就完成了上傳。 但是,在上傳的過成中,需要進行那些處理呢?? 第一,不是所有的文件都能上傳,要控制一下上傳文件的類型,比如只能是圖片,只能是word文檔,只能是表格不能讓用戶隨便上傳,不能上傳php文件,不能上傳ese文件,不能上傳關于頁面的其他文件。會用到:'type' => string 'image/png' 第二,要控制,上傳文件的大小。不能讓用戶上傳太大的文件,因為這個空間是有限的,如果每個用戶都上傳大文件,空間就馬上滿了,滿了就不行了。 上傳一張頭像的話就是幾十K,,,100k就很大了。 會用到:'size' => int 4173 瞞足這些條件,在把臨時文件保存時,需要這個目錄:'tmp_name' => string 'F:\PHP1\wamp\tmp\php73ED.tmp'需要這個目錄找到這個文件,找到文件之后要存在另外一個目錄里面 要存儲文件名的話name 也需要 'name' => string '代碼圖片.png' ? ?
?
轉載于:https://www.cnblogs.com/yuyu1993/p/5631624.html
總結
以上是生活随笔為你收集整理的PHP -----上传文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: openstack-networking
- 下一篇: I/O复用函数的比较