~vcs-imports/clansuite/trunk

« back to all changes in this revision

Viewing changes to uploads/uploadify.php

  • Committer: paulbr
  • Date: 2011-01-13 19:44:03 UTC
  • Revision ID: paulbr-20110113194403-gwsy005jgfrqyzca
Ajax Test Modul

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
if (empty($_FILES) == false)
 
3
{
 
4
    $uploadFieldName = "Filedata";                                                // e.g. $_FILES[$PostFieldName]["tmp_name"]
 
5
 
 
6
    $valid_chars_regex = '.A-Z0-9_ !@#$%^&()+={}\[\]\',~`-';            // Characters allowed in the file name (in a Regular Expression format)
 
7
    $MAX_FILENAME_LENGTH = 260;
 
8
    $file_name = "";
 
9
    $file_extension = "";
 
10
    $uploadfile = '';
 
11
 
 
12
    $tempFile = $_FILES[$uploadFieldName]['tmp_name'];
 
13
 
 
14
    $upload_directory = 'uploads';
 
15
    $upload_subdirectory = 'temps';
 
16
 
 
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 ; 
 
19
 
 
20
    if ($upload_subdirectory !=='' ) 
 
21
        $upload_directory .= DIRECTORY_SEPARATOR.$upload_subdirectory;
 
22
 
 
23
    if ( !is_writable($upload_directory) ) 
 
24
    {
 
25
        $upload_directory_writable = false ;
 
26
    }
 
27
    else
 
28
    {
 
29
        $upload_directory_writable = true ;
 
30
    }
 
31
 
 
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";
 
35
        //echo $msg;
 
36
    }
 
37
 
 
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);
 
42
 
 
43
    $uploadfile = $upload_directory. DIRECTORY_SEPARATOR . $file_name;
 
44
 
 
45
    # COPY UPLOAD SUCCESS
 
46
    if( $upload_directory_writable )
 
47
    {
 
48
        move_uploaded_file($tempFile,$uploadfile);
 
49
        chmod( $uploadfile, 0666 );
 
50
        echo "1";
 
51
    }
 
52
    else {
 
53
        echo "0";
 
54
    }
 
55
}
 
56
?>
 
 
b'\\ No newline at end of file'