PHP移动互联网开发笔记(6)文件的上传下载
一、文件的上传 1、客户端设置: Enctype=multipart/form-data; Method=POST (2)、form表单中设置一个hidden类型的input框,其中name的值为MAX_FILE_SIZE的隐藏值 2、服务器端设置: (1)、$_FILES多维数组:用于存储各种上传文件有关的信息 (2)、文件上
一、文件的上传
1、客户端设置:
二、文件下载Enctype="multipart/form-data"; Method="POST"
(2)、form表单中设置一个hidden类型的input框,其中name的值为MAX_FILE_SIZE的隐藏值
2、服务器端设置:
(1)、$_FILES多维数组:用于存储各种上传文件有关的信息
(2)、文件上传与php配置文件的设置,如以下php.ini文件中的一些指令
指令默认值功能描述
file_uploadsON确定服务器上的PHP脚本是否可以接受HTTP文件上传
memory_limit8M设置脚本可以分配的最大内存量,防止失控的脚本独占服务器内存
upload_max_file2M限制PHP处理上传文件大小的最大值,此值必须小于POST_MAX_SIZE值
post_max_size8M限制通过POST方法可以接受信息的最大值
upload_tmp_dirNULL上传文件的临时路径,可以是一个绝对路径
<title>file</title>로그인 후 복사3、PHP的文件上传及资源指令
file_uploads(boolean)
是否开启HTTP POST文件上传功能
max_execution_time(integer)
PHP脚本最长执行时间
memory_limit(integer) 单位M
PHP脚本运行的最大内存
upload_max_filesize(integer) 单位M
PHP上传文件的最大尺寸
upload_tmp_dir(string)
上传文件存储的临时位置
post_max_size(integer) 单位M
HTTP POST数据的最大尺寸
4、$_FILES数组
$_FILES['userfile'][size]
获取上传文件的字节数
$_FILES['userfile']['type']
获取上传文件的MIME类型,每种MIME类型都是由“/”分隔的主类型和子类型组成
$_FILES['userfile']['error']
获取上传文件的错误代码,0:无任何错误,文件上传成功;1:上传文件大小超出了PHP配置文件中upload_max_filesize选项限定的值;2:上传文件大小超出了HTML表单中MAX_FILE_SIZE指定的值;3:表示文件只被部分上传;4:表示没有上传任何文件。
$_FILES['userfile']['name']
获取上传文件的原始名称,包含扩展名
$_FILES['userfile']['tmp_name']
获取上传文件的临时位置名称,这是存储在临时目录中所指定的文件名。
5、文件上传函数
is_upload_file
判断指定的文件是否是通过HTTP POST上传
bool is_upload_file(string $filename)
move_upload_file
将上传文件移至新位置
bool move_upload_file(string $filename, string $destination)
注意:文件上传后,首先会存储于服务器的临时目录中,可以使用该函数将上传文件移动到新位置,与copy()和move()相比,它能检测并确保第一个参数filename指定的文件是否是合法上传的文件。
6、错误信息描述
UPLOAD_ERR_OK{value=0}
UPLOAD_ERR_INI_SIZE{value=1}
UPLOAD_ERR_FORM_SIZE{value=2}
UPLOAD_ERR_PARTIAL{value=3}
UPLOAD_ERR_NO_FILE{value=4}
UPLOAD_ERR_NO_TMP_DIR{value=6}
UPLOAD_ERR_CANT_WRITE{value=7}
<?php print_r($_FILES); ?>로그인 후 복사
三、文件函数库简单文件下载只需要使用HTML的链接标记,并将属性href的URL值指定下载的文件即可。这种方法只能处理一些浏览器不能识别的MIME类型文件。
<title>file</title> php.zip文件下载로그인 후 복사
<?php //发送指定文件MIME类型的头信息 header("content-type:application/x-msdownload"); $fileName=$_GET['fileNmae']; $path="[$fileName]"; //发送描述文件的头信息,附件和文件名 header(content-disposition:attachment:filename=[$fileName]); readfile($path); ?>로그인 후 복사
四、序列化与反序列化touch
设置文件的访问和修饰时间
bool touch(string $filename[, int $time[, int $time]])
copy
复制文件
bool copy(string $source, string $dest)
注意:移动文件请使用rename函数
file_put_contents
将一个字符串写入文件
int file_put_contents(string $filename, string $data[, int $flag[, resource $content]])
file_get_contents
将整个文件读到字符串
string file_get_contents(string $filename[, bool user_include_path [, resource $content[, int $offset[, int $maxlen]]]])
serialize
序列化
string serialize(mixed $value)
注意:serialize()可处理除了resouce之外的任何类型。甚至可以serialize()那些包含了指向其自身引用的数组。
unserialize
反序列化
mixed unserialize(string $str)
<?php $var="abcdefj"; //序列化 $arr=serialize($var); echo '序列化<br>'; var_dump($arr); echo '<br>'; //反序列化 echo '反序列化<br>'; $arr1=unserialize($arr); var_dump($arr1); echo '<br>'; ?>로그인 후 복사

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
