2
if (empty($_FILES) == false)
4
$uploadFieldName = "Filedata"; // e.g. $_FILES[$PostFieldName]["tmp_name"]
6
$valid_chars_regex = '.A-Z0-9_ !@#$%^&()+={}\[\]\',~`-'; // Characters allowed in the file name (in a Regular Expression format)
7
$MAX_FILENAME_LENGTH = 260;
12
$tempFile = $_FILES[$uploadFieldName]['tmp_name'];
14
$upload_directory = 'uploads';
15
$upload_subdirectory = 'temps';
17
$parent_dir = array_pop(explode(DIRECTORY_SEPARATOR, dirname(__FILE__)));
18
$upload_directory = substr(dirname(__FILE__), 0, strlen(dirname(__FILE__)) - strlen($parent_dir) ) . $upload_directory ;
20
if ($upload_subdirectory !=='' )
21
$upload_directory .= DIRECTORY_SEPARATOR.$upload_subdirectory;
23
if ( !is_writable($upload_directory) )
25
$upload_directory_writable = false ;
29
$upload_directory_writable = true ;
32
$file_name = preg_replace('/[^'.$valid_chars_regex.']|\.+$/i', "", basename($_FILES[$uploadFieldName]['name']));
33
if (strlen($file_name) == 0 || strlen($file_name) > $MAX_FILENAME_LENGTH) {
34
$msg .= "ERROR:Invalid file name (line:".__LINE__.")\n";
38
$path_info = pathinfo(basename($_FILES[$uploadFieldName]['name']));
39
$file_extension = $path_info["extension"];
40
$deldoble = '.'.$file_extension.'.'.$file_extension;
41
$file_name = str_replace( $deldoble, '.'.$file_extension, $file_name);
43
$uploadfile = $upload_directory. DIRECTORY_SEPARATOR . $file_name;
46
if( $upload_directory_writable )
48
move_uploaded_file($tempFile,$uploadfile);
49
chmod( $uploadfile, 0666 );
b'\\ No newline at end of file'