本文目錄一覽:
php file函數為什麼不能用呢?
既然確定了程序沒有問題,那麼只有兩種情況會出現這種狀況:
1,空間的php版本過低,還沒有file內置
2,空間的此功能被屏蔽,亦即空間商不希望用戶如此調用資源(害怕以file格式掛馬等)
————
希望對你有所幫助
php上傳文件錯誤怎麼解決
html
body
form enctype=”multipart/form-data” action=”upload.php” method=”post”
input type=”hidden” name=”MAX_FILE_SIZE” value=”1000000″ /
Choose a file to upload: input name=”uploaded_file” type=”file” /
input type=”submit” value=”Upload” /
/form
/body
/html
有一些規則需要建設時遵循HTML表單。首先,請確保該窗體使用POST方法。第二,形
式需要以下屬性:字元編碼=「多重/表單數據」。它指定的內容類型時使用的信息提
交給伺服器。如果沒有這些要求,您的文件上傳不了。
另一個需要注意的是隱藏的表單欄位名為MAX_FILE_SIZE設置的值。某些Web瀏覽器實
際上反映了這個領域,也不會允許用戶上載文件超過這個數字(位元組)更大。您應該
將此值設置為配合最大上傳大小,在php.ini文件中設置。這是一套與中
upload_max_filesize,默認值是2MB的。但它仍然不能保證你的腳本將不會轉交了尺
寸較大的文件。危險的是,攻擊者將嘗試向您發送一個請求幾個大文件,並填寫了文
件系統,也就是PHP存儲解碼文件。設置在php.ini的post_max_size的指令文件的最大
尺寸,你要(必須大於中upload_max_filesize)。默認值為10MB的。此指令控制的所
有要求,在一個允許的POST數據最大大小。另外,還要確保在你的php.ini文件
file_uploads設置為On。
至少,有一個在輸入標記屬性看:類型=「文件」。它是用來指定為文件選擇控制輸入
元素。這提供了一個文件的URI的地方,則需要鍵入一個「瀏覽」按鈕,可作為替代的
URI輸入使用。
在用戶進入一個文件的URI,並點擊提交按鈕的文件的副本將被發送到伺服器和用戶將
被重定向到upload.php。此PHP文件將處理表單數據。
返回頁首
處理表單數據(PHP代碼)
當文件被上傳和PHP創建了一個文件的臨時副本,並建立了超全局變數$ _FILES數組,
包含有關文件的信息。對於每個文件,有5個數據。我們已上傳欄位命名
為’uploaded_file’,所以會存在以下數據:
變數$ _FILES [「uploaded_file」] [「name」]從用戶的機器上載的文件的原名稱
變數$ _FILES [「uploaded_file」] [「type」]的上傳文件的MIME類型(如果瀏覽器
提供的類型)
變數$ _FILES [「uploaded_file」] [「size」]的以位元組為單位上傳的文件大小
變數$ _FILES [「uploaded_file」] [「tmp_name」],在該文件暫時存儲在伺服器上
的位置
變數$ _FILES [「uploaded_file」] [「error」]錯誤代碼從文件上傳結果
下面的例子接受一個上傳的文件並保存在上載目錄中。它允許根據350Kb上傳只有JPEG
圖像。該代碼本身,是相當清楚的,但我們會作出一些解釋。有一個例子在外觀和保
存此為upload.php PHP代碼。
?php
//Сheck that we have a file
if((!empty($_FILES[“uploaded_file”])) ($_FILES[‘uploaded_file’][‘error’]
== 0)) {
//Check if the file is JPEG image and it’s size is less than 350Kb
$filename = basename($_FILES[‘uploaded_file’][‘name’]);
$ext = substr($filename, strrpos($filename, ‘.’) + 1);
if (($ext == “jpg”) ($_FILES[“uploaded_file”][“type”] == “image/jpeg”)
($_FILES[“uploaded_file”][“size”] 350000)) {
//Determine the path to which we want to save this file
$newname = dirname(__FILE__).’/upload/’.$filename;
//Check if the file with the same name is already exists on the
server
if (!file_exists($newname)) {
//Attempt to move the uploaded file to it’s new place
if ((move_uploaded_file($_FILES[‘uploaded_file’]
[‘tmp_name’],$newname))) {
echo “It’s done! The file has been saved as: “.$newname;
} else {
echo “Error: A problem occurred during file upload!”;
}
} else {
echo “Error: File “.$_FILES[“uploaded_file”][“name”].” already
exists”;
}
} else {
echo “Error: Only .jpg images under 350Kb are accepted for upload”;
}
} else {
echo “Error: No file uploaded”;
}
?
在此之前的上載您需要的文件,以確定文件是否真的上傳任何東西。之後我們檢查上
傳的文件,JPEG圖像,其大小小於350Kb的。接下來,我們確定的道路,這是我們要保
存此文件,並檢查是否已經存在一個伺服器上的這些文件的名稱。當所有檢查通過,
我們將文件複製到一個永久的位置使用move_upload_file()函數。此功能也證實該
文件你要過程,是一個合法的文件從用戶上傳結果。如果該文件上傳成功,那麼相應
的消息將出現。
注意:要確保PHP已經允許讀取和寫入臨時文件中保存的位置是您要複製文件的目錄。
這個例子其實很簡單,它的提出是為了演示如何使用PHP上傳文件。例如,您可以添加
新的條件,並允許上傳GIF和PNG圖像,或任何文件,您需要其他種類。如果您是本教
程使用PHP不熟悉可能是一個很好的起點。
PHP中用file()抓取網頁內容不成功
要看錯誤信息呀:
Warning: file() [function.file]: URL file-access is disabled in the server configuration in …/test3.php on line 4
說得非常清楚的,你打開PHP.INI文件,搜索allow_url_fopen把那一行修改為下面這樣即可:
allow_url_fopen = On
原創文章,作者:RCCZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/149508.html