我目前正在使用以下代码将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文件?