今天写的是文件上传,前几天自学的正规则又忘记了,用了很笨的方法去判断格式,直接上代码:
<?<span style="color: #000000;">php </span><span style="color: #008000;">/*</span><span style="color: #008000;">* * Created by PhpStorm. * User: Administrator * Date: 16-9-12 * Time: 上午10:01 * * 文件上传 * </span><span style="color: #008000;">*/</span> ?> <form action="upload.php" method="post" enctype="multipart/form-data"><span style="color: #000000;"> 上传文件:</span><input type="file" name="file" id="file"> <br/> <input type="submit" name="subbtn" value="上传"> </form> <?<span style="color: #000000;">php </span><span style="color: #0000ff;">if</span>(<span style="color: #0000ff;">isset</span>(<span style="color: #800080;">$_POST</span>['subbtn'<span style="color: #000000;">])){ </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$_FILES</span>['file']['type']."<br/>"<span style="color: #000000;">; </span><span style="color: #008000;">/*</span><span style="color: #008000;"> * JPG image/jpeg * GIF image/gif * PNG image/png * </span><span style="color: #008000;">*/</span> <span style="color: #008000;">//</span><span style="color: #008000;">文件上传处理程序: //$_FILES['file']['type'] 上传文件的类型 //$_FILES['file']['size'] 上传文件的大小 //$_FILES['file']['error'] 上传错误代码 //$_FILES['file']['name'] 上传文件名 //$_FILES['file']['tmp_name'] 临时文件名 //$fileName="a.TXT"; //$pos = strrpos($fileName,"."); //$ext = strtolower(substr($fileName,$pos)); //</span> <span style="color: #800080;">$file</span> = <span style="color: #800080;">$_FILES</span>['file'<span style="color: #000000;">]; </span><span style="color: #800080;">$fileName</span>=<span style="color: #800080;">$file</span>['name'<span style="color: #000000;">]; </span><span style="color: #0000ff;">echo</span> '后缀切割前:'. <span style="color: #800080;">$file</span>['name']."<br/>"<span style="color: #000000;">; </span><span style="color: #008000;">//</span><span style="color: #008000;">确定最后一个.出现的位置</span> <span style="color: #800080;">$pos</span> = <span style="color: #008080;">strrpos</span>(<span style="color: #800080;">$file</span>['name'],'.'<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;">转换文件名为小写</span> <span style="color: #800080;">$ext</span> = <span style="color: #008080;">strtolower</span>(" <span style="color: #800080;">$fileName</span>"<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;">提取文件名后缀</span> <span style="color: #800080;">$fileExten</span>=<span style="color: #008080;">substr</span>(<span style="color: #800080;">$ext</span>,<span style="color: #800080;">$pos</span>+2<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;">判断文件后缀时候符合特定要求,这里设置为:jpg jpeg doc</span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$fileExten</span>=='jpg'||<span style="color: #800080;">$fileExten</span>=='jpeg'||<span style="color: #800080;">$fileExten</span>=='doc'<span style="color: #000000;"> ){ </span><span style="color: #0000ff;">echo</span> "文件后缀:". <span style="color: #800080;">$fileExten</span>. "<br/>"<span style="color: #000000;">; </span><span style="color: #0000ff;">echo</span> "文件类型:". <span style="color: #800080;">$file</span>['type']."<br/>"<span style="color: #000000;">; </span><span style="color: #0000ff;">echo</span> "文件大小:". <span style="color: #800080;">$file</span>['size']."<br/>"<span style="color: #000000;">; </span><span style="color: #0000ff;">echo</span> "错误代码:". <span style="color: #800080;">$file</span>['error']."<br/>"<span style="color: #000000;">; </span><span style="color: #0000ff;">echo</span> "文件名:". <span style="color: #800080;">$file</span>['name']."<br/>"<span style="color: #000000;">; </span><span style="color: #0000ff;">echo</span> "临时文件名:". <span style="color: #800080;">$file</span>['tmp_name']."<br/>"<span style="color: #000000;">; </span><span style="color: #008080;">move_uploaded_file</span>(<span style="color: #800080;">$file</span>['tmp_name'], "files/".<span style="color: #800080;">$file</span>['name'<span style="color: #000000;">]); }</span><span style="color: #0000ff;">else</span> <span style="color: #0000ff;">echo</span> "文件格式不对"<span style="color: #000000;">; } </span>?>
格式不对的,直接被拦截。
如果要修改上传的文件大小限制,可以参考下面的做法:
1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.
但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.
这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time
在php.ini里查找
max_execution_time
默认是30秒.改为
max_execution_time = 0
0表示没有限制
2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。
php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找 post_max_size .改为
post_max_size = 150M
3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.
为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。
查找upload_max_filesize,默认为8M改为
upload_max_filesize = 100M
另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号