本文实例讲述了php+ajax实现带进度条的上传图片功能。分享给大家供大家参考,具体如下:
运行效果图如下:
代码如下:
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
<?php
if (isset( $_FILES [ "FileInput" ]) && $_FILES [ "FileInput" ][ "error" ]== UPLOAD_ERR_OK)
{
############ Edit settings ##############
$UploadDirectory = 'F:/Websites/file_upload/uploads/' ; //specify upload directory ends with / (slash)
##########################################
/*
Note : You will run into errors or blank page if "memory_limit" or "upload_max_filesize" is set to low in "php.ini".
Open "php.ini" file, and search for "memory_limit" or "upload_max_filesize" limit
and set them adequately, also check "post_max_size".
*/
//check if this is an ajax request
if (!isset( $_SERVER [ 'HTTP_X_REQUESTED_WITH' ])){
die ();
}
//Is file size is less than allowed size.
if ( $_FILES [ "FileInput" ][ "size" ] > 5242880) {
die ( "File size is too big!" );
}
//allowed file type Server side check
switch ( strtolower ( $_FILES [ 'FileInput' ][ 'type' ]))
{
//allowed file types
case 'image/png' :
case 'image/gif' :
case 'image/jpeg' :
case 'image/pjpeg' :
case 'text/plain' :
case 'text/html' : //html file
case 'application/x-zip-compressed' :
case 'application/pdf' :
case 'application/msword' :
case 'application/vnd.ms-excel' :
case 'video/mp4' :
break ;
default :
die ( 'Unsupported File!' ); //output error
}
$File_Name = strtolower ( $_FILES [ 'FileInput' ][ 'name' ]);
$File_Ext = substr ( $File_Name , strrpos ( $File_Name , '.' )); //get file extention
$Random_Number = rand(0, 9999999999); //Random number to be added to name.
$NewFileName = $Random_Number . $File_Ext ; //new file name
if (move_uploaded_file( $_FILES [ 'FileInput' ][ 'tmp_name' ], $UploadDirectory . $NewFileName ))
{
die ( 'Success! File Uploaded.' );
} else {
die ( 'error uploading File!' );
}
}
else
{
die ( 'Something wrong with upload! Is "upload_max_filesize" set correctly?' );
}
|
完整实例代码点击此处本站下载。
希望本文所述对大家PHP程序设计有所帮助。