找回密码
 注册
搜索
免费空间 免费域名 免费AI 老牌主机商首月仅1美分!27美元/年!Spaceship优惠码 Namecheap优惠码阿里云2核2G3M新老续费同享99元/年!
楼主: ickern

[主机资源] 新手上路 分享俩免费空间

[复制链接]
 楼主| 发表于 2023-11-23 21:16:43 | 显示全部楼层

挺抽象,等等吧,反正300M,塞不了什么东西,先用在线的玩玩
发表于 2023-11-23 21:18:53 | 显示全部楼层
ickern 发表于 2023-11-23 21:16
挺抽象,等等吧,反正300M,塞不了什么东西,先用在线的玩玩

也只能如此了
发表于 2023-11-24 10:36:30 | 显示全部楼层
第一个不错,很好申请,第二个么,需要收短信,换了好几家解码平台后放弃
发表于 2023-11-24 10:38:58 | 显示全部楼层

传个unzip.php,有啥搞不定的。别跟我说你没这个文件,当年的标配文件。
发表于 2023-11-24 10:41:09 | 显示全部楼层
xzss 发表于 2023-11-24 10:38
传个unzip.php,有啥搞不定的。别跟我说你没这个文件,当年的标配文件。

我去找找
发表于 2023-11-24 10:53:22 | 显示全部楼层
xzss 发表于 2023-11-24 10:38
传个unzip.php,有啥搞不定的。别跟我说你没这个文件,当年的标配文件。



是不是这个?
我记不清了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2023-11-24 10:57:24 | 显示全部楼层
efc88ff45580620 发表于 2023-11-24 10:53
是不是这个?
我记不清了

是不是这个版本我也记不清了,但我这里有个文件

  1. <?php

  2. //验证密码
  3. $password = "1234567";

  4. ?>
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  8. <title>Faisun_unzip - 纯粹空间 - www.softpure.com</title>
  9. <style type="text/css">
  10. <!--
  11. body,td{
  12.         font-size: 14px;
  13.         color: #000000;
  14. }
  15. a {
  16.         color: #000066;
  17.         text-decoration: none;
  18. }
  19. a:hover {
  20.         color: #FF6600;
  21.         text-decoration: underline;
  22. }
  23. -->
  24. </style>
  25. </head>

  26. <body>
  27.   <form name="myform" method="post" action="<?=$_SERVER[PHP_SELF];?>" enctype="multipart/form-data" onSubmit="return check_uploadObject(this);">
  28. <?
  29.         if(!$_REQUEST["myaction"]):
  30. ?>

  31. <script language="javascript">
  32. function check_uploadObject(form){
  33.         if(form.password.value==''){
  34.                 alert('请输入密码.');
  35.                 return false;
  36.         }
  37.         return true;
  38. }
  39. </script>

  40. <table width="100%" border="0" cellspacing="0" cellpadding="4">
  41.     <tr>
  42.       <td height="40" colspan="2" style="color:#FF9900"><p><font color="#FF0000">faisun_unzip -在线解压ZIP文件程序 V1.0</font></p>
  43.           <p>转载请注明:本程序由 <a href="http://www.softpure.com/" target="_blank">纯粹空间</a>(<a href="http://www.softpure.com/" target="_blank">http://www.softpure.com</a>) 提供,作者:faisun(<a href="mailto:faisun@sina.com">faisun@sina.com</a>).</p>
  44.       <p>使用方法:把zip文件通过FTP上传到本文件相同的目录下,选择zip文件;或直接点击“浏览...”上传zip文件。</p>
  45.       <p>解压的结果保留原来的目录结构。</p>
  46.       <p>&nbsp;</p></td>
  47.     </tr>
  48.     <tr>
  49.       <td width="11%">选择ZIP文件: </td>
  50.       <td width="89%"><select name="zipfile">
  51.         <option value="" selected>- 请选择 -</option>
  52. <?
  53.           $fdir = opendir('./');
  54.         while($file=readdir($fdir)){
  55.                 if(!is_file($file)) continue;
  56.                 if(preg_match('/\.zip$/mis',$file)){
  57.                         echo "<option value='$file'>$file</option>\r\n";
  58.                 }
  59.         }
  60. ?>
  61.       </select></td>
  62.     </tr>
  63.     <tr>
  64.       <td width="11%" nowrap>或上传文件: </td>
  65.       <td width="89%"><input name="upfile" type="file" id="upfile" size="20"></td>
  66.     </tr>
  67.         <tr>
  68.       <td>解压到目录: </td>
  69.       <td><input name="todir" type="text" id="todir" value="__unzipfiles__" size="15">
  70.       (留空为本目录,必须有写入权限)</td>
  71.     </tr>
  72.         <tr>
  73.       <td>验证密码: </td>
  74.       <td><input name="password" type="password" id="password" size="15">
  75.         (源文件中设定的密码)</td>
  76.     </tr>       
  77.     <tr>
  78.       <td><input name="myaction" type="hidden" id="myaction" value="dounzip"></td>
  79.       <td><input type="submit" name="Submit" value=" 解 压 "></td>
  80.     </tr>
  81.   </table>

  82. <?

  83. elseif($_REQUEST["myaction"]=="dounzip"):


  84. class zip
  85. {

  86. var $total_files = 0;
  87. var $total_folders = 0;

  88. function Extract ( $zn, $to, $index = Array(-1) )
  89. {
  90.    $ok = 0; $zip = @fopen($zn,'rb');
  91.    if(!$zip) return(-1);
  92.    $cdir = $this->ReadCentralDir($zip,$zn);
  93.    $pos_entry = $cdir['offset'];

  94.    if(!is_array($index)){ $index = array($index);  }
  95.    for($i=0; $index[$i];$i++){
  96.                    if(intval($index[$i])!=$index[$i]||$index[$i]>$cdir['entries'])
  97.                 return(-1);
  98.    }
  99.    for ($i=0; $i<$cdir['entries']; $i++)
  100.    {
  101.      @fseek($zip, $pos_entry);
  102.      $header = $this->ReadCentralFileHeaders($zip);
  103.      $header['index'] = $i; $pos_entry = ftell($zip);
  104.      @rewind($zip); fseek($zip, $header['offset']);
  105.      if(in_array("-1",$index)||in_array($i,$index))
  106.              $stat[$header['filename']]=$this->ExtractFile($header, $to, $zip);
  107.    }
  108.    fclose($zip);
  109.    return $stat;
  110. }

  111.   function ReadFileHeader($zip)
  112.   {
  113.     $binary_data = fread($zip, 30);
  114.     $data = unpack('vchk/vid/vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $binary_data);

  115.     $header['filename'] = fread($zip, $data['filename_len']);
  116.     if ($data['extra_len'] != 0) {
  117.       $header['extra'] = fread($zip, $data['extra_len']);
  118.     } else { $header['extra'] = ''; }

  119.     $header['compression'] = $data['compression'];$header['size'] = $data['size'];
  120.     $header['compressed_size'] = $data['compressed_size'];
  121.     $header['crc'] = $data['crc']; $header['flag'] = $data['flag'];
  122.     $header['mdate'] = $data['mdate'];$header['mtime'] = $data['mtime'];

  123.     if ($header['mdate'] && $header['mtime']){
  124.      $hour=($header['mtime']&0xF800)>>11;$minute=($header['mtime']&0x07E0)>>5;
  125.      $seconde=($header['mtime']&0x001F)*2;$year=(($header['mdate']&0xFE00)>>9)+1980;
  126.      $month=($header['mdate']&0x01E0)>>5;$day=$header['mdate']&0x001F;
  127.      $header['mtime'] = mktime($hour, $minute, $seconde, $month, $day, $year);
  128.     }else{$header['mtime'] = time();}

  129.     $header['stored_filename'] = $header['filename'];
  130.     $header['status'] = "ok";
  131.     return $header;
  132.   }

  133. function ReadCentralFileHeaders($zip){
  134.     $binary_data = fread($zip, 46);
  135.     $header = unpack('vchkid/vid/vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $binary_data);

  136.     if ($header['filename_len'] != 0)
  137.       $header['filename'] = fread($zip,$header['filename_len']);
  138.     else $header['filename'] = '';

  139.     if ($header['extra_len'] != 0)
  140.       $header['extra'] = fread($zip, $header['extra_len']);
  141.     else $header['extra'] = '';

  142.     if ($header['comment_len'] != 0)
  143.       $header['comment'] = fread($zip, $header['comment_len']);
  144.     else $header['comment'] = '';

  145.     if ($header['mdate'] && $header['mtime'])
  146.     {
  147.       $hour = ($header['mtime'] & 0xF800) >> 11;
  148.       $minute = ($header['mtime'] & 0x07E0) >> 5;
  149.       $seconde = ($header['mtime'] & 0x001F)*2;
  150.       $year = (($header['mdate'] & 0xFE00) >> 9) + 1980;
  151.       $month = ($header['mdate'] & 0x01E0) >> 5;
  152.       $day = $header['mdate'] & 0x001F;
  153.       $header['mtime'] = mktime($hour, $minute, $seconde, $month, $day, $year);
  154.     } else {
  155.       $header['mtime'] = time();
  156.     }
  157.     $header['stored_filename'] = $header['filename'];
  158.     $header['status'] = 'ok';
  159.     if (substr($header['filename'], -1) == '/')
  160.       $header['external'] = 0x41FF0010;
  161.     return $header;
  162. }

  163. function ReadCentralDir($zip,$zip_name){
  164.         $size = filesize($zip_name);

  165.         if ($size < 277) $maximum_size = $size;
  166.         else $maximum_size=277;
  167.        
  168.         @fseek($zip, $size-$maximum_size);
  169.         $pos = ftell($zip); $bytes = 0x00000000;
  170.        
  171.         while ($pos < $size){
  172.                 $byte = @fread($zip, 1); $bytes=($bytes << 8) | ord($byte);
  173.                 if ($bytes == 0x504b0506 or $bytes == 0x2e706870504b0506){ $pos++;break;} $pos++;
  174.         }
  175.        
  176.         $fdata=fread($zip,18);
  177.        
  178.         $data=@unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size',$fdata);
  179.        
  180.         if ($data['comment_size'] != 0) $centd['comment'] = fread($zip, $data['comment_size']);
  181.         else $centd['comment'] = ''; $centd['entries'] = $data['entries'];
  182.         $centd['disk_entries'] = $data['disk_entries'];
  183.         $centd['offset'] = $data['offset'];$centd['disk_start'] = $data['disk_start'];
  184.         $centd['size'] = $data['size'];  $centd['disk'] = $data['disk'];
  185.         return $centd;
  186.   }

  187. function ExtractFile($header,$to,$zip){
  188.         $header = $this->readfileheader($zip);
  189.        
  190.         if(substr($to,-1)!="/") $to.="/";
  191.         if($to=='./') $to = '';       
  192.         $pth = explode("/",$to.$header['filename']);
  193.         $mydir = '';
  194.         for($i=0;$i<count($pth)-1;$i++){
  195.                 if(!$pth[$i]) continue;
  196.                 $mydir .= $pth[$i]."/";
  197.                 if((!is_dir($mydir) && @mkdir($mydir,0777)) || (($mydir==$to.$header['filename'] || ($mydir==$to && $this->total_folders==0)) && is_dir($mydir)) ){
  198.                         @chmod($mydir,0777);
  199.                         $this->total_folders ++;
  200.                         echo "<input name='dfile[]' type='checkbox' value='$mydir' checked> <a href='$mydir' target='_blank'>目录: $mydir</a><br>";
  201.                 }
  202.         }
  203.        
  204.         if(strrchr($header['filename'],'/')=='/') return;       

  205.         if (!($header['external']==0x41FF0010)&&!($header['external']==16)){
  206.                 if ($header['compression']==0){
  207.                         $fp = @fopen($to.$header['filename'], 'wb');
  208.                         if(!$fp) return(-1);
  209.                         $size = $header['compressed_size'];
  210.                
  211.                         while ($size != 0){
  212.                                 $read_size = ($size < 2048 ? $size : 2048);
  213.                                 $buffer = fread($zip, $read_size);
  214.                                 $binary_data = pack('a'.$read_size, $buffer);
  215.                                 @fwrite($fp, $binary_data, $read_size);
  216.                                 $size -= $read_size;
  217.                         }
  218.                         fclose($fp);
  219.                         touch($to.$header['filename'], $header['mtime']);
  220.                 }else{
  221.                         $fp = @fopen($to.$header['filename'].'.gz','wb');
  222.                         if(!$fp) return(-1);
  223.                         $binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($header['compression']),
  224.                         Chr(0x00), time(), Chr(0x00), Chr(3));
  225.                        
  226.                         fwrite($fp, $binary_data, 10);
  227.                         $size = $header['compressed_size'];
  228.                
  229.                         while ($size != 0){
  230.                                 $read_size = ($size < 1024 ? $size : 1024);
  231.                                 $buffer = fread($zip, $read_size);
  232.                                 $binary_data = pack('a'.$read_size, $buffer);
  233.                                 @fwrite($fp, $binary_data, $read_size);
  234.                                 $size -= $read_size;
  235.                         }
  236.                
  237.                         $binary_data = pack('VV', $header['crc'], $header['size']);
  238.                         fwrite($fp, $binary_data,8); fclose($fp);
  239.        
  240.                         $gzp = @gzopen($to.$header['filename'].'.gz','rb') or die("Cette archive est compress閑");
  241.                         if(!$gzp) return(-2);
  242.                         $fp = @fopen($to.$header['filename'],'wb');
  243.                         if(!$fp) return(-1);
  244.                         $size = $header['size'];
  245.                
  246.                         while ($size != 0){
  247.                                 $read_size = ($size < 2048 ? $size : 2048);
  248.                                 $buffer = gzread($gzp, $read_size);
  249.                                 $binary_data = pack('a'.$read_size, $buffer);
  250.                                 @fwrite($fp, $binary_data, $read_size);
  251.                                 $size -= $read_size;
  252.                         }
  253.                         fclose($fp); gzclose($gzp);
  254.                
  255.                         touch($to.$header['filename'], $header['mtime']);
  256.                         @unlink($to.$header['filename'].'.gz');
  257.                        
  258.                 }
  259.         }
  260.        
  261.         $this->total_files ++;
  262.         echo "<input name='dfile[]' type='checkbox' value='$to$header[filename]' checked> <a href='$to$header[filename]' target='_blank'>文件: $to$header[filename]</a><br>";

  263.         return true;
  264. }

  265. // end class
  266. }

  267.         set_time_limit(0);

  268.         if ($_POST['password'] != $password) die("输入的密码不正确,请重新输入。");
  269.         if(!$_POST["todir"]) $_POST["todir"] = ".";
  270.         $z = new Zip;
  271.         $have_zip_file = 0;
  272.         function start_unzip($tmp_name,$new_name,$checked){
  273.                 global $_POST,$z,$have_zip_file;
  274.                 $upfile = array("tmp_name"=>$tmp_name,"name"=>$new_name);
  275.                 if(is_file($upfile[tmp_name])){
  276.                         $have_zip_file = 1;
  277.                         echo "<br>正在解压: <input name='dfile[]' type='checkbox' value='$upfile[name]' ".($checked?"checked":"")."> $upfile[name]<br><br>";
  278.                         if(preg_match('/\.zip$/mis',$upfile[name])){
  279.                                 $result=$z->Extract($upfile[tmp_name],$_POST["todir"]);
  280.                                 if($result==-1){
  281.                                         echo "<br>文件 $upfile[name] 错误.<br>";
  282.                                 }
  283.                                 echo "<br>完成,共建立 $z->total_folders 个目录,$z->total_files 个文件.<br><br><br>";
  284.                         }else{
  285.                                 echo "<br>$upfile[name] 不是 zip 文件.<br><br>";                       
  286.                         }
  287.                         if(realpath($upfile[name])!=realpath($upfile[tmp_name])){
  288.                                 @unlink($upfile[name]);
  289.                                 rename($upfile[tmp_name],$upfile[name]);
  290.                         }
  291.                 }
  292.         }
  293.         clearstatcache();
  294.        
  295.         start_unzip($_POST["zipfile"],$_POST["zipfile"],0);
  296.         start_unzip($_FILES["upfile"][tmp_name],$_FILES["upfile"][name],1);

  297.         if(!$have_zip_file){
  298.                 echo "<br>请选择或上传文件.<br>";
  299.         }
  300. ?>
  301. <input name="password" type="hidden" id="password" value="<?=$_POST['password'];?>">
  302. <input name="myaction" type="hidden" id="myaction" value="dodelete">
  303. <input name="按钮" type="button" value="返回" onclick="window.location='<?=$_SERVER[PHP_SELF];?>';">

  304. <input type='button' value='反选' onclick='selrev();'> <input type='submit' onclick='return confirm("删除选定文件?");' value='删除选定'>

  305. <script language='javascript'>
  306. function selrev() {
  307.         with(document.myform) {
  308.                 for(i=0;i<elements.length;i++) {
  309.                         thiselm = elements[i];
  310.                         if(thiselm.name.match(/dfile\[]/))        thiselm.checked = !thiselm.checked;
  311.                 }
  312.         }
  313. }
  314. alert('完成.');
  315. </script>
  316. <?

  317. elseif($_REQUEST["myaction"]=="dodelete"):
  318.         set_time_limit(0);
  319.         if ($_POST['password'] != $password) die("输入的密码不正确,请重新输入。");
  320.        
  321.         $dfile = $_POST["dfile"];
  322.         echo "正在删除文件...<br><br>";
  323.         if(is_array($dfile)){
  324.                 for($i=count($dfile)-1;$i>=0;$i--){
  325.                         if(is_file($dfile[$i])){
  326.                                 if(@unlink($dfile[$i])){
  327.                                         echo "已删除文件: $dfile[$i]<br>";
  328.                                 }else{
  329.                                         echo "删除文件失败: $dfile[$i]<br>";
  330.                                 }
  331.                         }else{
  332.                                 if(@rmdir($dfile[$i])){
  333.                                         echo "已删除目录: $dfile[$i]<br>";
  334.                                 }else{
  335.                                         echo "删除目录失败: $dfile[$i]<br>";
  336.                                 }                               
  337.                         }
  338.                        
  339.                 }
  340.         }
  341.         echo "<br>完成.<br><br><input type='button' value='返回' onclick="window.location='$_SERVER[PHP_SELF]';"><br><br>
  342.                  <script language='javascript'>('完成.');</script>";

  343. endif;

  344. ?>
  345.   </form>
  346. </body>
  347. </html>
复制代码


发表于 2023-11-24 11:00:23 | 显示全部楼层
如今的网络,跟以前完全不能比了,当年各种php asp cgi代码,网上一搜就有,随便下。现在,网上一搜仍然有,但是,要钱。
发表于 2023-11-24 11:02:21 来自手机 | 显示全部楼层
xzss 发表于 2023-11-24 10:57
是不是这个版本我也记不清了,但我这里有个文件

你的应该是对的,我记得就一个文件,旧电脑里应该有,但是已经扔到地下室多年了,不知道当年的奔四还能不能打开网页了
发表于 2023-11-24 11:08:39 | 显示全部楼层
xzss 发表于 2023-11-24 11:00
如今的网络,跟以前完全不能比了,当年各种php asp cgi代码,网上一搜就有,随便下。现在,网上一搜仍然有 ...

现在不但收费还强制关注公号
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|免费吧论坛

GMT+8, 2024-11-25 11:03 , Processed in 0.059710 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表