如何檢查如此只有.txt文件上傳到服務器而不是其他文件在php中。只上傳txt文件
Q
只上傳txt文件
2
A
回答
1
if(preg_match('\.txt$', $filename))
如果文件以txt
0
如果你只是想檢查擴展名爲「.txt」結束。這將返回true,如果該文件是一個真正的文字也沒關係文件,然後執行:
$fileName = ...
$nameLength = strlen($fileName);
if ($nameLength > 4 && substr($fileName, $nameLength - 4) == '.txt')
{
// Extension is ".txt".
}
else
{
// Other extension or no extension at all.
}
7
您可以測試文件類型:
if ($_FILES['file']['type'] == 'text/plain') // this file is TXT
此外,您還可以驗證的MIME類型使用功能mime_content_type的文件。
1
如果您想檢查實際的文件MIME類型,請嘗試PHP的finfo_file function。 (如果返回的字符串不是「text/html」,那麼它不是一個文本文件)改用finfo_file。
0
0
這段代碼是我寫的嗎?
<form enctype="multipart/form-data" action="upload.php" method="POST">
Välj din txt fil: <input name="uploaded" type="file" /><br />
<input type="submit" value="Upload" />
</form>
<?php
$target = "upload/";
$target = $target . basename($_FILES['uploaded']['name']) ;
$ok=1;
if ($uploaded_size > 350000) {
echo "Your file is too large.<br>"; $ok=0;
}
if ($uploaded_type !=="text/plain") {
echo "Only txt files allowed<br>"; $ok=0;
}
if ($ok==0) {
echo "Sorry your file was not uploaded";
} else {
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) {
echo "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded";
} else { echo "Sorry, there was a problem uploading your file."; }
}
?>
0
怎麼樣使用pathinfo()
像這樣的東西:
$filename = pathinfo($_FILES['upload']['name']);
$ext = $filename['extension'];
if($ext !== 'txt'){
//don't upload
}else{
//upload
}
0
<strong>Upload Serial Number File:</strong>
<input type="file" name="fileToUpload" id="fileToUpload"><br><br>
<?php
// Pass the input field name , file upload success it return TRUE.
function Get_the_Client_UploadFile($InputfeildName)
{
$ClientUserName = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$Cient_Uploadfile = ""; // do not remove
$SerialNumberFileuploadOk = FALSE;
$uploaddir = 'UserInputLog/' ;
if(is_dir($uploaddir) === false)
{
mkdir($uploaddir);
}
$Cient_Uploadfile = basename($_FILES[$InputfeildName]['name']);
if(!empty($Cient_Uploadfile))
{
$Cient_Uploadfile = $uploaddir . $ClientUserName.'_'.basename($_FILES[$InputfeildName]['name']);
//delte old old uplaoded file from logs
if (file_exists($Cient_Uploadfile))
unlink($Cient_Uploadfile); //delete
//copy here
if (move_uploaded_file($_FILES[$InputfeildName]['tmp_name'], $Cient_Uploadfile)) {
Data_Log("File is valid, and was successfully uploaded . $Cient_Uploadfile");
$SerialNumberFileuploadOk = TRUE;
} else {
DisplayMessageDialog("unable to upload file = $Cient_Uploadfile");
}
//print_r($_FILES);
// Allow certain file formats
$FileType = pathinfo($Cient_Uploadfile,PATHINFO_EXTENSION);
if($FileType != "txt") {
DisplayMessageDialog("File Ext ERROR: $FileType Please upload only '.txt' file (Notepad file with serial number)");
if (file_exists($Cient_Uploadfile))
unlink($Cient_Uploadfile); //delete
$SerialNumberFileuploadOk = FALSE;
}
// Check file size
//we want to check the size of the file. If the file is larger than 5 MB
if ($_FILES[$InputfeildName]["size"] > 5000000) {
DisplayMessageDialog("Sorry, your file is too large. Allowed only 5 MB");
if (file_exists($Cient_Uploadfile))
unlink($Cient_Uploadfile); //delete
$SerialNumberFileuploadOk = FALSE;
}
}
if($SerialNumberFileuploadOk == FALSE)
$Cient_Uploadfile = "";
return $SerialNumberFileuploadOk;
}
function DisplayMessageDialog($msg)
{
echo '<script type="text/javascript">alert("' . $msg . '")</script>';
Data_Log(" *** DialogBox Open *** : ".$msg);
}
?>
相關問題
- 1. 行爲FTP的「把文件* .TXT」 - 上傳第一個匹配的文件只
- 2. 我想上傳文件[img/txt/doc ....]
- 3. 不能上傳.txt文件到DropBox
- 4. 上傳txt文件到服務器
- 5. 上傳TXT文件添加到HTML表
- 6. 用PHP上傳圖片到.txt文件
- 7. 批量文件上傳.txt到FTP
- 8. 不能上傳txt文件到TFS 2013
- 9. 將.txt文件上傳到Salesforce
- 10. 上傳.txt文件到FTP服務器
- 11. move_uploaded_file()只上傳小文件
- 12. Uploadify只上傳小文件
- 13. 多文件上傳只是顯示上次上傳的文件
- 14. 幾個文件上傳控件只上傳一個文件
- 15. SAP RFC重度上傳 - 3MB txt文件產生150MB上傳
- 16. FTPWebRequest上傳文件只會上傳兩個文件!
- 17. PHP上傳多個文件只上傳1個文件
- 18. .txt PHP文件上傳文件擴展名爲?
- 19. Ftp上傳的文件被損壞,除非「txt」文件c#
- 20. 如何將.txt文件上傳爲C#中的.rtf文件?
- 21. 笨上傳TXT文檔 - 您嘗試上傳的文件類型爲不允許
- 22. 在MATLAB GUI上同時上傳多個.txt文件
- 23. 只有REG存在創建txt文件
- 24. 只刪除txt文件中的LF
- 25. 只用JavaScript讀取TXT文件
- 26. Xcode - 如何將文本文件(.txt)上傳到FTP服務器
- 27. 如何使用手機上傳文檔,txt文件
- 28. 通過FileUpload控件上傳txt文件的循環槽線
- 29. 如何用blueimp文件上傳插件只上傳一次文件?
- 30. 爲什麼fread()會在.txt文件上不同於.txt文件?
哦,謝謝,正是我一直在尋找! :) – 2010-11-15 19:28:26
但它可能是一個JPG文件瓦特/擴展名。 – luckytaxi 2010-11-15 19:29:05
任何其他方法需要信任用戶或首先上傳整個文件才能找到。此外,大多數瀏覽器只是將它作爲文本文件打開,儘管mime類型爲 – 2010-11-15 19:31:11