本文实例讲述了php限制上传文件类型并保存上传文件的方法。分享给大家供大家参考。具体如下:
下面的代码演示了php中如何获取用户上传的文件,并限制文件类型的一般图片文件,最后保存到服务器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<?php
$allowedExts = array ( "gif" , "jpeg" , "jpg" , "png" );
$extension = end ( explode ( "." , $_FILES [ "file" ][ "name" ]));
if ((( $_FILES [ "file" ][ "type" ] == "image/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" ][ "size" ] < 20000)
&& in_array( $extension , $allowedExts ))
{
if ( $_FILES [ "file" ][ "error" ] > 0)
{
echo "Return Code: " . $_FILES [ "file" ][ "error" ] . "<br>" ;
}
else
{
echo "Upload: " . $_FILES [ "file" ][ "name" ] . "<br>" ;
echo "Type: " . $_FILES [ "file" ][ "type" ] . "<br>" ;
echo "Size: " . ( $_FILES [ "file" ][ "size" ] / 1024) . " kB<br>" ;
echo "Temp file: " . $_FILES [ "file" ][ "tmp_name" ] . "<br>" ;
if ( file_exists ( "upload/" . $_FILES [ "file" ][ "name" ]))
{
echo $_FILES [ "file" ][ "name" ] . " already exists. " ;
}
else
{
move_uploaded_file( $_FILES [ "file" ][ "tmp_name" ],
"upload/" . $_FILES [ "file" ][ "name" ]);
echo "Stored in: " . "upload/" . $_FILES [ "file" ][ "name" ];
}
}
}
else
{
echo "Invalid file" ;
}
?>
|
希望本文所述对大家的php程序设计有所帮助。