이 글은 주로 PHP 파일 업로드와 업로드의 기본적인 사용법을 소개합니다. 이제는 모든 사람과 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.
이 글은 프레임워크를 사용하지 않고 PHP 업로드를 구현하는 방법에 관한 것입니다. uploadifive를 사용하여 프레임워크를 정리했습니다
초보자 튜토리얼의 데모를 간략히 살펴보았습니다.
파일 구조는 아래와 같습니다
form.html
<form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">文件名:</label> <input type="file" name="file" id="file"><br> <input type="submit" name="submit" value="提交"></form>
가장 기본적인 형태는, 말할 것도 없구요
upload_file .php
//允许上传的图片后缀 $allowedExts = array("gif","jpeg","jpg","png","doc"); $temp = explode(".",$_FILES["file"]["name"]); echo $_FILES["file"]["size"]; $extension = end($temp); if((($_FILES["file"]["type"] == "images/gif") ||($_FILES["file"]["type"] == "image/jpeg") ||($_FILES["file"]["type"] == "image/jpg") ||($_FILES["file"]["type"] == "image/pjpeg") ||($_FILES["file"]["type"] == "image/x-png") ||($_FILES["file"]["type"] == "image/png") ||($_FILES["file"]["type"] == "application/msword")) &&($_FILES["file"]["size"] < 204800) && in_array($extension,$allowedExts)){ if($_FILES["file"]["error"] > 0){ echo "错误:: ".$_FILES["file"]["error"]."<br>"; }else{ echo "上传文件名: ".$_FILES["file"]["name"]."<br>"; echo "文件类型: ".$_FILES["file"]["type"]."<br>"; echo "文件大小: ".($_FILES["file"]["size"]/1024)."kB<br>"; echo "文件临时存储的位置: ".$_FILES["file"]["tmp_name"]."<br>"; //判断当前目录下的upload目录是否存在 //如果没有upload目录, 你需要创建它,upload目录权限为 777 if(file_exists("upload/".$_FILES["file"]["name"])){ echo $_FILES["file"]["name"]."文件已经存在。"; }else{ //如果upload 目录不存在该文件则将文件上传到upload目录上s move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$_FILES["file"]["name"]); echo "文件存储在: "."upload/".$_FILES["file"]["name"]; } } }else{ echo "非法的文件格式"; }
역시 핵심 함수에 move_uploaded_file()이 하나만 있고, 나머지 코드들은 필터링을 준비하는 문장들이니 이것도 이해하기 쉽습니다.
bool move_uploaded_file ( string $filename , string $destination )
기능:
업로드된 파일을 새 위치로 이동합니다. 이 함수는 filename으로 지정된 파일이 합법적인 업로드 파일(예: PHP의 HTTP POST 업로드 메커니즘을 통해 업로드됨)인지 확인합니다. 파일이 적법한 경우 대상에 지정된 파일로 이동됩니다.
매개변수 소개:
$filename:上传文件的文件名
$destination:移动文件到这个位置
필요한 프레임워크 파일 소개
<script src="../js/jquery-3.3.1.min.js" type="text/javascript"></script> <script src="jquery.uploadifive.min.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="uploadifive.css">
jquery 및 uploadifive 관련 파일이 없습니다. 공식 웹사이트에서 다운로드하거나 데모에서 파일을 찾을 수 있습니다.
양식 만들기
<form> <p id="queue"></p> <input id="file_upload" name="file_upload" type="file" multiple="true"> </form>
js에서 프레임워크 사용
<script type="text/javascript"> <?php $timestamp = time();?> $(function () { $('#file_upload').uploadifive({ 'auto' : true, //是否自动上传,默认true 'checkScript' : '\.\/js\/uploadify\/check-exists.php', //检查文件路径 'formData' : { 'timestamp' : '<?php echo $timestamp;?>', 'token' : '<?php echo md5('unique_salt'.$timestamp);?>', }, 'onInit' : function(){ $('p.uploadifive-button').show(); }, 'queueID' : 'queue', //进度条的显示位置 'uploadScript' : 'demo\/uploadifive.php', //上传路径脚本 'onUploadComplete' : function(file,data){ //文件上传成功后执 // console.log(file); }, 'onError' : function(errorType) { console.log(errorType); var msg = '文件上传有误'; switch(errorType) { case 'FORBIDDEN_FILE_TYPE': msg = '错误的上传文件类型'; break; } alert('错误提示: ' + msg); } }); }); </script>
이 예에서는 가장 기본적인 속성만 사용하여 기본 업로드 기능을 구현합니다.
관련 권장 사항:
php 파일 업로드 클래스 및 PHP 캡슐화된 다중 파일 업로드 클래스 공유
위 내용은 PHP 파일 업로드 및 uploadive의 기본 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!