Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如何将xml文件上传到服务器_Php_Xml_File Upload - Fatal编程技术网

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

PHP如何将xml文件上传到服务器,php,xml,file-upload,Php,Xml,File Upload,我做了一个简单的函数: function get($field, $dir = 'dir/') { $file_tmp = $_FILES[$field]['tmp_name']; $file_name = $_FILES[$field]['name']; $file_size = $_FILES[$field]['size']; $ext = explode(".", $file_nam

我做了一个简单的函数:



    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,请尝试增加该值。

不上传意味着什么?它不会出现在$\u文件中吗?你得到一个PHP错误?你有Apache错误吗?你完成了但文件不在那里?你能详细说明出了什么问题吗?对不起。。。是的,已经完成,但文件不在目录中。我发现有问题,请检查error.log。有什么问题吗?我不知道如何在WAMP serwer上检查这个。。。我转到wamp\logs,这里有POST/test/index.php HTTP/1.12001944。。。是否是?您确定您的配置中存在登录错误吗?此外,您的配置是否允许上载XML文件?您试图上载的XML文件有多大?是的。。。这就是问题所在,文件大小。XML有7,5 MB,对serwer的限制是2 MB。我改变了这个,现在可以了。感谢您的帮助: