php 在线解压程序

<?php教程

 代码如下 复制代码

HtmlHead("选择解压文件:") ;

if ( !IsSet($HTTP_POST_VARS['submit']) )
{
 TestWriteable() ;
 $gzip_info = "" ;
 echo "check zlib support... " ;
 if ( !function_exists("gzopen") )
 {
  $gzip_info = "<font color="red">注意! 您的空间没有zlib支持,因此用
  <a href="http://www.111cn.net/" target="_blank"><font color="blue">phpZip</font></a>
  压缩文件时,不要选择“压缩成Gzip格式”,否则将无法正确解压!</font>" ;
 }
 else
 {
  $gzip_info = "<font color="blue">恭喜! 您的空间支持zlib压缩,强烈建议用
  <a href="http://www.111cn.net/"><font color="red" target="_blank">phpZip</font></a>
  压缩文件时,选中“压缩成Gzip格式”,将会大大减少文件大小!</font>" ;
 }
 echo " ----------------- OK!<br> " . $gzip_info ;
 
 echo "<br><br><br><br>
<form action="{$_SERVER["PHP_SELF"]}" method="post" enctype="multipart/form-data">
<table align="center" width="450">
<tr><td height="20" colspan="2">请先选择压缩文件的位置,然后点击“确定”按钮: <p></td></tr>
<tr>
<td><input type="radio" name="file_type" value="upload" checked onclick="this.form.upload_file.disabled=false; this.form.server_filename.disabled=true">文件从本地上传: </td>
<td>
<input name="upload_file" type="file" style="color:#0000ff">
</td>
</tr>

<tr><td colspan=2 height=10></td></tr>

<tr>
<td><input type="radio" name="file_type" value="server" onclick="this.form.upload_file.disabled=true; this.form.server_filename.disabled=false">指定服务器上文件:</td>
<td><input name="server_filename" value="data.dat.gz" style="color:#0000ff" disabled >(可以用"."表示当前目录)</td>
</tr>

<tr><td colspan="2" align=center><br><input type="submit" name="submit" value="确定"></td></tr>
</table>
</form>
" ;
 HtmlFoot() ;
 exit ;
}

if ( $_POST['file_type'] == 'upload' )
{
 $tmpfile = $_FILES['upload_file']['tmp_name'] ;
}
else
{
 $tmpfile = $_POST['server_filename'] ;
}

if ( !$tmpfile )
{
 exit("无效的文件或文件不存在,可能原因有文件大小太大,上传失败或没有指定服务器端文件等") ; 
}

$bgzExist = FALSE ;
if ( function_exists("gzopen") )
{
 $bgzExist = TRUE ;
}

$alldata = "" ;
$pos = 0 ;

$gzp = $bgzExist ? @gzopen($tmpfile, "rb") : @fopen($tmpfile, "rb") ;
$szReaded = "has" ;
while ( $szReaded )
{
 $szReaded = $bgzExist ? @gzread($gzp, 2*1024*1024) : @fread($gzp, 2*1024*1024) ;
 $alldata .= $szReaded ;
}
$bgzExist ? @gzclose($gzp) : @fclose($gzp) ;

$nFileCount = substr($alldata, $pos, 16) ;
$pos += 16 ;

$size = substr($alldata, $pos, 16) ;
$pos += 16 ;

$info = substr($alldata, $pos, $size-1) ;  // strip the last ' '
$pos += $size ;

$info_array = explode(" ", $info) ;

$c_file = 0 ;
$c_dir = 0 ;

foreach ($info_array as $str_row)
{
 list($filename, $attr) = explode("|", $str_row);
 if ( substr($attr,0,6) == "[/dir]" )
 {
  echo "End of dir $filename<br>";
  continue;
 }
 
 if ( substr($attr,0,5)=="[dir]" )
 {
  if ( @mkdir($filename, 0777) )
   echo "Make dir $filename<br>";
  $c_dir++ ;
 }
 else
 {
  $fp = @fopen($filename, "wb") or exit("不能新建文件 $filename ,因为没有写权限,请修改权限");
  @fwrite($fp, substr($alldata, $pos, $attr) );
  $pos += $attr ;
  fclose($fp);
  echo "Create file $filename<br>";
  $c_file++ ;
 }
}

if ( $_POST['file_type'] == 'upload' )
{
 if ( @unlink($tmpfile) ) echo "删除临时文件 $tmpfile...<br>" ;
}

echo "<h1>操作完毕! 共解出文件 $c_file 个, 文件夹 $c_dir 个,谢谢使用!</h1><p>" ;
HtmlFoot() ;

function TestWriteable()
{
 $safemode = '
新建一文件,命名为 unzip2.php (或其它名字), 其内容如下:

<?php
copy("unzip.php", "unzip_safe.php") ;
header("location:unzip_safe.php") ;
?>

将这个文件上传到服务器,与unzip.php同一个目录下,
运行 unzip2.php 这个程序。

如果还是不行的话,那就是空间实在不支持,没有办法,很对不住您,浪费您的时间.
 ' ;
 echo "check PHP version... " . phpversion() . " -------- OK!<br> " ;
 echo "testing Permission... " ;

 $fp = @fopen("phpzip.test", "wb") ;
 if ( FALSE !== $fp )
 {
  fclose($fp) ;
  @unlink("phpzip.test") ;
 }
 else
 {
  exit("当前目录没有写的权限,请将当前目录属性修改为:777 ") ;
 }

 $dir = "phpziptest" ;
 $file = "$dir/test.txt.php" ;
 @mkdir($dir, 0777) ;
 $fp = @fopen($file, "wb") ;
 if ( FALSE === $fp )
 {
  @rmdir($dir) ;
  exit ("没有权限在程序创建的文件夹下创建文件 ,很可能是PHP安全模式所致,解决方法如下:<p><center><textarea cols=110 rows=15>$safemode</textarea></center>") ;
 }
 @fclose($fp) ;
 @unlink($file) ;
 @rmdir($dir) ;
 echo " ----------------- OK!<br> " ;
}

function HtmlHead($title="", $css教程_file="")
{
 echo "<html> "
  . " "
  . "<head> "
  . "<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> "
  . "<title>$title</title> "
  . "<style type="text/css"> "
  . "body,pre,td {font-size:12px; background-color:#fcfcfc; font-family:Tahoma,verdana,Arial} "
  . "input,textarea{font-size:12px; background-color:#f0f0f0; font-family:Tahoma,verdana,Arial} "
  . "</style> "
  . "</head> "
  . " "
  . "<body> " ;
}

function HtmlFoot()
{
 echo "<center><font size="5" face="楷体_GB2312" color="red">使用完请立即删除本文件,以避免被其它人发现使用!</font></center> "
  . "<br><hr color="#003388"> "
  . "<center> "
  . "<p style="font-family:verdana; font-size:12px">Contact us: "
  . "<a href="http://www.111cn.net/" target="_blank">http://www.111cn.net/</a></p> "
  . "</center> "
  . "</body> "
  . " "
  . "</html>" ;
}

?>

时间: 2024-07-29 06:24:49

php 在线解压程序的相关文章

php打包程序(在线解压与在线打包下载源码)(1/8)

php教程打包程序(在线解压与在线打包下载源码) 本程序支持文件下载解压与在线压缩,这样我们就查以实例在线解压与在线打包下载功能了. */ //phpzip.class.php class phpzip{  var $datasec, $ctrl_dir = array();  var $eof_ctrl_dir = "x50x4bx05x06x00x00x00x00";  var $old_offset = 0; var $dirs = array(".");  

php打包程序(在线解压与在线打包下载源码)

php教程打包程序(在线解压与在线打包下载源码) 本程序支持文件下载解压与在线压缩,这样我们就查以实例在线解压与在线打包下载功能了. */ //phpzip.class.php class phpzip{  var $datasec, $ctrl_dir = array();  var $eof_ctrl_dir = "x50x4bx05x06x00x00x00x00";  var $old_offset = 0; var $dirs = array(".");  

php在线解压ZIP文件的方法

这篇文章主要介绍了php在线解压ZIP文件的方法,包含了较为完整的上传与zip解压功能,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了php在线解压ZIP文件的方法.分享给大家供大家参考.具体分析如下: 在PHP的函数库中只找到了个ZLIB的函数还跟压缩有点关系,但是使我失望的是他没能解ZIP的文件,但最后还是让我找到了解决的方法,就是通过PHP的程序执行函数来实现这个功能,因为现在能解ZIP文件的东西实在是太多啦,你要是不信,可以到有下载软件的地方找找看,保准你不会失望的,我的

php实现文件在线解压

<?php //验证密码 $password = "123456"; ?> <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>Faisun_unzip - 纯粹空间 - www.softpure.com</title> <style type=&

php解压文件代码实现php在线解压

 这篇文章主要介绍了php解压文件代码,根据这个代码可以实现php在线解压功能,需要的朋友可以参考下  代码如下: <?php $zip = zip_open("moooredale.zip");   if ($zip) {    while ($zip_entry = zip_read($zip)) {    $fp = fopen(zip_entry_name($zip_entry), "w");    if (zip_entry_open($zip, $

虚拟主机RAR在线解压和在线压缩

虚拟主机RAR在线解压有什么好处:可以大幅度的减少上传时间,可以确保资料的完整性(比如您的网站有几百到几千个文件,您不可能用FTP完整的传上去,那么多文件传漏或传断线那都是很正常的事情),如果把您的站点打包成RAR文件 那么传一个RAR文件,就完全可以保证资料一个都不少. 1.把您的网站打包成RAR文件(比如abc.rar),传到FTP的DB文件夹 2.使用您的用户名和密码登陆本站(按照以下步骤点击) 3.自助管理--主机管理--操作下的管理 --[网站打包/还原]--"网站还原"--

123 php-php解压程序出错!求解!!!!

问题描述 php解压程序出错!求解!!!! 正在解压: oa20120518.zip aaa===oa20120518.zip 文件 oa20120518.zip 错误. 11111===oa20120518.zip 22222==__unzipfiles__ 完成,共建立 0 个目录,0 个文件.

php在线解压ZIP文件实例代码

最后还是让我找到了解决的方法,就是通过PHP的程序执行函数来实现这个功能,因为现在能解ZIP文件的东西实在是太多啦(你要是不信,可以到有下载软件的地方找找看,保准你不会失望的,我的话不会错呦). 下面就是该程序的原文件: #upload.php教程  代码如下 复制代码 <table border="0" > <form ENCTYPE="multipart/form-data" action="ups教程ave.php" me

php解压文件代码实现php在线解压_php实例

复制代码 代码如下: <?php$zip = zip_open("moooredale.zip");  if ($zip) {   while ($zip_entry = zip_read($zip)) {   $fp = fopen(zip_entry_name($zip_entry), "w");   if (zip_entry_open($zip, $zip_entry, "r")) {   $buf = zip_entry_read