10/10/2018, 10:52

[HELP] Script kiểm tra phần mở rộng file trước khi submit!??

M làm 1 form upload file ảnh , trước khi up load có kiểm tra:
* Value rỗng (đã rằng buộc dc)
* Kiểm tra phần mở rộng của file khi upload (chưa chạy )
Sau đây là code mình viết, ae sửa hộ nha hi`
PHP Code:
<script language="javascript" type="text/javascript">
        <!--
        var 
hash = { 
          
'gif' 1
          
'jpg' 1,
          
'png' 1
        }; 
        
        function 
check_extension(filename,submitId) { 
              var 
re = /..+$/; 
              var 
ext filename.match(re); 
              var 
submitEl document.getElementById(submitId); 
              if (
hash***91;ext***93;) { 
                
submitEl.disabled false
                return 
true
              } else { 
                
alert("Bạn cần nhập định dạng file: gif|jpg|png"); 
                
submitEl.disabled true
                return 
false
              } 
        }         
    
        function 
checkvalue(pressbutton) {
            var 
form document.frm_upload;
    
            
// do field validation
            
if (form.file_upload.value == ""){
                
alert"Bạn chưa chọn file upload!" );
            } else {
                
form.submit();
            }
        }
    
//-->
    
</script>
    
    <form name="frm_upload" action = "process.php" method="post" enctype="multipart/form-data" >  
        <table class="frm_upload">
            <tr>
                <th colspan="2">Upload File</th>
            </tr>
            <tr>
                <td width="220">
                    <label for="upload_img">Chọn 1 file ảnh upload:</label>
                </td>
                <td>
                    <input type="file" name="file_upload" id="file_upload" size="57" onchange="check_extension(this.value,"upload_button");">
                    <input type="button" name="upload_button" id="upload_button" value="Upload file" onclick="checkvalue()">
                </td>
            </tr>
        </table>
    </form> 

[=========> Bổ sung bài viết <=========]

Sửa dc ruj`
Close topic
haicop viết 13:07 ngày 10/10/2018
Bạn nên kiểm tra thêm bằng PHP thì hay hơn
thienha20 viết 12:55 ngày 10/10/2018
var str = document.getElementById('file_upload').value;
var explode= str.slipt(".");
var ext=explode[explode.length-1];
if(ext=="png"||ext=="jpg"||ext=="gif")
{
///lam gi do
}
thienthan36 viết 12:57 ngày 10/10/2018
Híc, cái này bạn chỉ cần sử dụng Javascript Regualar Expresstion là được mà
var regx = /gif|jpg|png|jpeg/i;

var str = document.getElementById('file_upload').value;
if(str.match(regx))
{
// Cho upload
} else {
// Hien thong bao sai
}
zmt264 viết 13:01 ngày 10/10/2018
Được gửi bởi haicop
Bạn nên kiểm tra thêm bằng PHP thì hay hơn
Bạn kiểm tra filename hay file?

Và nếu chỉ là kiểm tra filename, thì hay hơn ở chỗ nào khi mà người ta có thể đổi filename, bao gồm cả phần mở rộng, trước khi upload?
thienha20 viết 13:06 ngày 10/10/2018
không nên dùng regx bởi vì sẽ bị vượt qua mặt nếu file có dạng tên thế này "filename.jpg.exe",.... Hãy xét kỹ nhé đừng vội vàng rồi đi bán chè ^^
Minh Hoàng viết 13:04 ngày 10/10/2018
Được gửi bởi zmt264
Bạn kiểm tra filename hay file?

Và nếu chỉ là kiểm tra filename, thì hay hơn ở chỗ nào khi mà người ta có thể đổi filename, bao gồm cả phần mở rộng, trước khi upload?
Mình kiểm tra phần mở rộng của file được upload.
Thank mọi người đã nhiệt tình góp ý nha
satthudatinh011 viết 13:00 ngày 10/10/2018
nếu đã quyết dùng javascript thì sao ko dùng jquery validate
ko cần viết code nhiều, mình đếm tất cả chỉ mất khoảng 4 dòng + 10 từ
Minh Hoàng viết 13:08 ngày 10/10/2018
Được gửi bởi satthudatinh011
nếu đã quyết dùng javascript thì sao ko dùng jquery validate
ko cần viết code nhiều, mình đếm tất cả chỉ mất khoảng 4 dòng + 10 từ
Good quá........Bạn viết cho mọi người tham khảo nha!
satthudatinh011 viết 13:04 ngày 10/10/2018
Code:
      $("#myform").validate({
  rules: {
    field: {
      accept: "png|jpg|gif"
    }
  }
});
chuẩn theo jquery
Bài liên quan
0