찾다
백엔드 개발PHP 튜토리얼파일 업로드 여부를 확인하기 위한 PHP의 메서드 예제에 대한 자세한 설명

자격을 갖춘 프로그래머는 데이터베이스에 데이터를 구현할 때 매우 엄격한 필터링 및 데이터 규칙을 적용합니다. 예를 들어 파일 업로드를 수행할 때 사용자가 첫 번째 단계에서 파일을 업로드할지 여부를 결정해야 하며 이를 수행할 수 있습니다. 또한 업로드된 파일이 백그라운드에 있는지 여부도 확인합니다. 이 문서에서는 이 예에 대한 보다 심층적인 분석을 제공합니다.

다음 HTML 코드가 표시됩니다.

<form action="?" method="post" enctype=&#39;multipart/form-data&#39;>
文件上传:<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(&#39;请选择图片&#39;);
return false;
}
}
</script>

실제 보안을 만들고 싶다면 백그라운드에서 판단 처리를 입력해야 합니다

<?php
//判断pic文件框是否已经选择文件
if(!empty($_FILES[&#39;file&#39;][&#39;tmp_name&#39;])){
echo&#39;已选择文件&#39;;
}else{
echo&#39;请选择文件&#39;;
}
//PS:$_FILES后面的[&#39;tmp_name&#39;]一定不要忘写,它表示是一个临时的意思
?>

사례 분석

JS 판단은 상대적으로 일반적입니다. file=document.getElementById("file").value; 이 방법으로 파일을 직접 제출할 수 있습니다. 예를 들어

function CheckWorkFile()
{
var obj=document.getElementById(&#39;fuMain&#39;);
if(obj.value==&#39;&#39;)
{
alert(&#39;请选择要上传的作业书文件&#39;);
return false;
}
var stuff=obj.value.match(/^(.*)(\.)(.{1,8})$/)[3];
if(stuff!=&#39;doc&#39;)
{
alert(&#39;文件类型不正确,请选择.doc文件&#39;);
return false;
}
return true;
}

와 같은 파일 업로드를 위한 사용자 이름 제한은 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[&#39;chars1&#39;].$strInfo[&#39;chars2&#39;]);
    $fileType = &#39;&#39;;
    switch ($typeCode)
    {
        case 7790:
            $fileType = &#39;exe&#39;;
            break;
        case 7784:
            $fileType = &#39;midi&#39;;
            break;
        case 8297:
            $fileType = &#39;rar&#39;;
            break;        
  case 8075:
            $fileType = &#39;zip&#39;;
            break;
        case 255216:
            $fileType = &#39;jpg&#39;;
            break;
        case 7173:
            $fileType = &#39;gif&#39;;
            break;
        case 6677:
            $fileType = &#39;bmp&#39;;
            break;
        case 13780:
            $fileType = &#39;png&#39;;
            break;
        default:
            $fileType = &#39;unknown: &#39;.$typeCode;
    }
 //Fix
 if ($strInfo[&#39;chars1&#39;]==&#39;-1&#39; AND $strInfo[&#39;chars2&#39;]==&#39;-40&#39; ) return &#39;jpg&#39;;
 if ($strInfo[&#39;chars1&#39;]==&#39;-119&#39; AND $strInfo[&#39;chars2&#39;]==&#39;80&#39; ) return &#39;png&#39;;
    return $fileType;
}
echo file_type(&#39;start.php&#39;);   // 6063 or 6033

이렇게 하면 업로드되는 파일 형식을 제한하고 안전한 처리도 제공할 수 있습니다. 프로그램

위 내용은 파일 업로드 여부를 확인하기 위한 PHP의 메서드 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
鸿蒙原生应用随机诗词鸿蒙原生应用随机诗词Feb 19, 2024 pm 01:36 PM

想了解更多关于开源的内容,请访问:51CTO鸿蒙开发者社区https://ost.51cto.com运行环境DAYU200:4.0.10.16SDK:4.0.10.15IDE:4.0.600一、创建应用点击File->newFile->CreateProgect。选择模版:【OpenHarmony】EmptyAbility:填写项目名,shici,应用包名com.nut.shici,应用存储位置XXX(不要有中文,特殊字符,空格)。CompileSDK10,Model:Stage。Device

php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

使用java的File.length()函数获取文件的大小使用java的File.length()函数获取文件的大小Jul 24, 2023 am 08:36 AM

使用Java的File.length()函数获取文件的大小文件大小是在处理文件操作时很常见的一个需求,Java提供了一个很方便的方法来获取文件的大小,即使用File类的length()方法。本文将介绍如何使用该方法来获取文件的大小,并给出相应的代码示例。首先,我们需要创建一个File对象来表示我们想要获取大小的文件。以下是创建File对象的方法:Filef

php blob怎么转filephp blob怎么转fileMar 16, 2023 am 10:47 AM

php blob转file的方法:1、创建一个php示例文件;2、通过“function blobToFile(blob) {return new File([blob], 'screenshot.png', { type: 'image/jpeg' })}”方法实现Blob转File即可。

使用java的File.renameTo()函数重命名文件使用java的File.renameTo()函数重命名文件Jul 25, 2023 pm 03:45 PM

使用Java的File.renameTo()函数重命名文件在Java编程中,我们经常需要对文件进行重命名的操作。Java提供了File类来处理文件操作,其中的renameTo()函数可以方便地重命名文件。本文将介绍如何使用Java的File.renameTo()函数来重命名文件,并提供相应的代码示例。File.renameTo()函数是File类的一个方法,

使用java的File.getParentFile()函数获取文件的父目录使用java的File.getParentFile()函数获取文件的父目录Jul 27, 2023 am 11:45 AM

使用java的File.getParentFile()函数获取文件的父目录在Java编程中,我们经常需要操作文件和文件夹。当我们需要获取文件的父目录时,可以使用Java提供的File.getParentFile()函数来完成。本文将介绍如何使用这个函数并提供代码示例。Java中的File类是用于操作文件和文件夹的主要类。它提供了许多方法来获取和操作文件的属性

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php怎么设置implode没有分隔符php怎么设置implode没有分隔符Apr 18, 2022 pm 05:39 PM

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.