Php 无法使用$\u文件访问上载到服务器的zip文件中包含的文件
我目前正在使用以下代码将zip文件上载到服务器:Php 无法使用$\u文件访问上载到服务器的zip文件中包含的文件,php,xml,zip,Php,Xml,Zip,我目前正在使用以下代码将zip文件上载到服务器: <div id = 'imfContainer'> <?php include('../menu.php'); ?> <div id='imfContentWrapper'> <div id='imfContent'> <div id='stylized' class='myform'> <fo
<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>
我曾尝试在php中使用代码,例如,但没有成功。有没有办法使用$\u文件将已上载的xml文件从zip文件中取出?您应该能够使用
ZipArchive
类来解压缩:Hi试图使用ZipArchive进行解压缩,但不认为在这种情况下会有帮助,当用户将zip文件上传到服务器时,我不想将其解压缩到本地计算机以访问xml文件,我只想访问服务器上zip文件夹中的xml文件,而不在任何地方解压缩它们。您知道这是否可行吗?zip文件当前以.tmp文件的形式存储在$\u FILES变量中,zip存档将提取到您想要的任何位置。如果要提取到服务器,它可以提取到服务器。如果要移动或操作文件,请尝试$zip=file\u get\u contents($\u FILES[“modelZip”][“tmp\u name”])
现在该文件应该存储在$zip
变量中,您可以使用ziparchive或任何您想做的事情将其保存或解压缩到服务器。您应该能够使用ziparchive
类来解压缩:Hi试图使用ziparchive进行解压缩,但不认为在这种情况下会有所帮助,当用户将zip文件上传到服务器时,我不想将其解压缩到本地计算机以访问xml文件,我只想访问服务器上zip文件夹中的xml文件,而不在任何地方解压缩它们。您知道这是否可行吗?zip文件当前以.tmp文件的形式存储在$\u FILES变量中,zip存档将提取到您想要的任何位置。如果要提取到服务器,它可以提取到服务器。如果要移动或操作文件,请尝试$zip=file\u get\u contents($\u FILES[“modelZip”][“tmp\u name”])
现在该文件应该存储在$zip
变量中,您可以使用ziparchive或任何您想做的操作将其保存或解压缩到服务器。
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];
}
}