当前位置: 首页 > 编程笔记 >

PHP文件上传判断file是否己选择上传文件的方法

诸福
2023-03-14
本文向大家介绍PHP文件上传判断file是否己选择上传文件的方法,包括了PHP文件上传判断file是否己选择上传文件的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了PHP文件上传判断file是否己选择上传文件的方法。分享给大家供大家参考。具体方法如下:

一个合格的程序员在实现数据入库中时我们都会有一些非常严密的过滤与数据规则,像我们文件上传时在前段要判断用户是否选择上传文件同时在后台也可判断是否有上传的文件,本文实例即对此做一较为深入的分析。

如下html代码所示:

<form action="?" method="post" enctype='multipart/form-data'>

文件上传:<input type="file" name="file" id="file"/>

<input type="submit" id="send" value="提交"/>

</form>

我们最常用的在前端简单的进行判断

<script>

var send=document.getElementById("send");

send.onclick=function(){

var file=document.getElementById("file").value;

if(file.length<1){

alert('请选择图片');

return false;

}

}

</script>

如果要做真正的安全我们需要在后台进入判断处理
<?php

//判断pic文件框是否已经选择文件

if(!empty($_FILES['file']['tmp_name'])){

echo'已选择文件';

}else{

echo'请选择文件';

}

//PS:$_FILES后面的['tmp_name']一定不要忘写,它表示是一个临时的意思

?>

安例分析

js判断是比较笼统了我们只是使用了file=document.getElementById("file").value;来判断file有没有值或不为空了,这样只要输入一个数字就可以直接提交了,所以我们需要进入如上传文件的用户名限制

function CheckWorkFile()

{

var obj=document.getElementById('fuMain');

if(obj.value=='')

{

alert('请选择要上传的作业书文件');

return false;

}

var stuff=obj.value.match(/^(.*)(\.)(.{1,8})$/)[3];

if(stuff!='doc')

{

alert('文件类型不正确,请选择.doc文件');

return false;

}

return true;

}

对于php处理我们也只使用了if(!empty($_FILES['file']['tmp_name'])){来判断不为空了,其实这样也是不合理的
如我们可以如此处理
function file_type($filename)

{

    $file = fopen($filename, "rb");

    $bin = fread($file, 2); //只读2字节

    fclose($file);

    $strInfo = @unpack("C2chars", $bin);

    $typeCode = intval($strInfo['chars1'].$strInfo['chars2']);

    $fileType = '';

    switch ($typeCode)

    {

        case 7790:

            $fileType = 'exe';

            break;

        case 7784:

            $fileType = 'midi';

            break;

        case 8297:

            $fileType = 'rar';

            break;        

  case 8075:

            $fileType = 'zip';

            break;

        case 255216:

            $fileType = 'jpg';

            break;

        case 7173:

            $fileType = 'gif';

            break;

        case 6677:

            $fileType = 'bmp';

            break;

        case 13780:

            $fileType = 'png';

            break;

        default:

            $fileType = 'unknown: '.$typeCode;

    }

 //Fix

 if ($strInfo['chars1']=='-1' AND $strInfo['chars2']=='-40' ) return 'jpg';

 if ($strInfo['chars1']=='-119' AND $strInfo['chars2']=='80' ) return 'png';

    return $fileType;

}

echo file_type('start.php');   // 6063 or 6033

这样我们可以限制上传文件类型的同时也给程序做了一个安全处理

希望本文所述对大家的PHP程序设计有所帮助。

 类似资料:
  • 本文向大家介绍js判断上传文件后缀名是否合法,包括了js判断上传文件后缀名是否合法的使用技巧和注意事项,需要的朋友参考一下 本文实例介绍了js判断上传文件后缀名是否合法的详细代码,分享给大家供大家参考,具体内容如下 效果图: 选择文件 选择1.jpg文件 上传成功合法 除图片文件格式以外,其他都是不合法的操作。 具体代码: 希望本文所述对大家学习javascript程序设计有所帮助。

  • Web应用程序需要提供允许文件上载的功能。 让我们看看如何从客户端接收文件并将它们存储在我们的服务器上。 我们已经使用koa-body中间件来解析请求。 此中间件还用于处理文件上载。 让我们创建一个表单,允许我们上传文件,然后使用Koa保存这些文件。 首先使用以下内容创建名为file_upload.pug的模板。 html head title File uploads b

  • 在Laravel中上传文件非常简单。 我们需要做的就是创建一个视图文件,用户可以选择要上载的文件和处理上传文件的控制器。 在视图文件中,我们需要通过添加以下代码行来生成文件输入。 Form::file('file_name'); 在Form :: open()中,我们需要添加'files'=》'true' ,如下所示。 这有助于将表单上载到多个部分。 Form::open(array('url'

  • 我们提供了上传文件的示例。 为了开发这个应用程序,我们使用了HTML,CSS和AngularJS。 以下示例显示了如何使用AngularJS上载文件。 <html> <head> <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"> </script

  • ASP.NET有两个控件,允许用户将文件上传到Web服务器。 一旦服务器收到发布的文件数据,应用程序就可以保存,检查或忽略它。 以下控件允许上传文件: HtmlInputFile - 一个HTML服务器控件 FileUpload - 和ASP.NET Web控件 这两个控件都允许文件上载,但FileUpload控件自动设置表单的编码,而HtmlInputFile不会这样做。 在本教程中,我们使用F

  • 使用File Uploading类,我们可以上传文件,我们也可以限制要上传的文件的类型和大小。 按照给定示例中显示的步骤了解CodeIgniter中的文件上载过程。 例子 (Example) 复制以下代码并将其存储在application/view/Upload_form.php 。 <html> <head> <title>Upload Form</title> </