PHP 如何将 xml 文件上传到服务器


PHP how to upload xml file to server

我做了一个简单的函数:


    function get($field, $dir = 'dir/') {
            $file_tmp = $_FILES[$field]['tmp_name'];
            $file_name = $_FILES[$field]['name'];
            $file_size = $_FILES[$field]['size'];
            $ext = explode(".", $file_name);
            $ext = $ext[1];
            if ($ext != 'xml') {
                if (is_uploaded_file($file_tmp)) {
                    move_uploaded_file($file_tmp, $dir . $file_name);
                    echo "file: 
                      $file_name size:  
                      $file_size done !
                      ";
                } else {
                    echo "Possible file upload attack: ";
                    echo "filename '" . $file_tmp . "'.";
                }
            } else {
                move_uploaded_file($file_tmp, $dir . $file_name);
                echo "file: 
                      $file_name size:  
                      $file_size done !
                      ";
            }
        }

函数将文件上传到服务器(例如.jpg,.gif),但是当我尝试上传.xml时出现问题并且文件无法上传。为什么?

像这样尝试一下,然后检查发生了什么:

function get( $field, $dir = 'dir/' )
{
    $file_tmp = $_FILES[$field]['tmp_name'];
    $file_name = $_FILES[$field]['name'];
    $file_size = $_FILES[$field]['size'];
    $ext = explode( ".", $file_name );
    $ext = $ext[1];
    if ( $ext != 'xml' ) {
        if ( is_uploaded_file( $file_tmp ) ) {
            move_uploaded_file( $file_tmp, $dir . $file_name );
            echo "file: $file_name size: $file_size done ! ";
        } else {
            echo "Possible file upload attack: ";
            echo "filename '" . $file_tmp . "'.";
        }
    } else {
        if ( is_uploaded_file( $file_tmp ) ) {
            move_uploaded_file( $file_tmp, $dir . $file_name );
            echo "file: $file_name size: $file_size done !";
        } else {
            echo "There was a porblem, check error.log";
        }
    }
}

而且,wamp 服务器上文件上传的默认限制为 2MB,请尝试增加该值。