无法使用$ _FILES

时间:2015-10-22 16:25:05

标签: php xml zip

我目前正在使用以下代码将zip文件上传到服务器:

<div id = 'imfContainer'>
    <?php include('../menu.php'); ?>
    <div id='imfContentWrapper'>
        <div id='imfContent'>
            <div id='stylized' class='myform'>
                <form action='multibackwardCompatible2.php' method='post' onSubmit='return validateForm()' enctype='multipart/form-data'>
                    <h1>Validate Backward Compatibility for Multiple Models</h1>
                    <p>
                        Select a zip file containing the models you wish to test for backward compatibility. These will be tested against the latest model with the same name in the repository. 
                    </p>
                    <table id='project_register_form'>
                        <tr>
                            <th>Models Zip File <span style='color:red;'>*</span></th>
                            <td>
                                <input type='file' name ='modelZip[]' id='modelZip'><BR CLEAR=LEFT>
                                <span id='up_error' class='error_message'></span>
                            </td>
                            <td class='comment'>    
                                <span id='spanButtonPlaceHolder'></span>
                                <div id='divStatus'></div>
                            </td>
                        </tr>   
                    </table>
                    <input type='hidden' name='backward_compatible2' id='backward_compatible2' value='true' />                  
                    <button type='submit'>Validate BC</button>
                </form>
                <p></p>
                <div id='status' style="display:none; position:relative;"><img src="../images/eindicator.gif" alt="Smiley face" /></div>
                <div id='report'>
                <?php
                if(isset($_POST['backward_compatible2'])){
                    ini_set('max_execution_time', 3000); //300 seconds = 5 minutes
                    $message = compatibilityResult();

                }
                ?>
                </div>
            </div>
        </div>
    </div>
    <?php include('../footer.php'); ?>
</div>

这些zip文件将包含许多xml文件,我想要做的是提交zip文件后从zip文件中获取每个xml文件,并将它们与我在服务器上的其他xml文件进行比较。问题是我无法弄清楚如何从zip文件中获取文件,因为当使用$ _FILES全局变量来存储zip文件时,它们被存储为.tmp文件。

这是我的PHP代码:

function compatibilityResult(){

    include('../logAction.php');
    include('reportFilter.php');

    if ($_FILES['modelZip']['type'][0]=="application/x-zip-compressed") {
        $filename = $_FILES["modelZip"]["name"];
        $source = $_FILES["modelZip"]["tmp_name"];
        $type = $_FILES["modelZip"]["type"];
        //print_r($filename);
        //print_r($source);
        //print_r($type);
        //print $_FILES['model']['tmp_name'][0];

    }
}

我尝试在我的php中使用代码,例如http://snipplr.com/view/69947/,但没有运气。有没有办法使用$ _FILES从已上传的zip中获取xml文件?

0 个答案:

没有答案