我的PHP脚本花了很多时间来恢复小的zip文件

时间:2015-10-16 11:23:32

标签: javascript php jquery ajax wordpress

我正在尝试恢复zip文件。但是脚本花了很多时间来恢复小尺寸的文件。在我的身边,我的脚本需要7分钟才能恢复29 MB的zip文件。当我尝试使用Ajax恢复该文件时,我的脚本被击中,我收到此错误无法加载资源:服务器响应状态为500(内部服务器错误)。这是我的PHP要恢复的代码

$filepath='../wp-content/plugins/wp-cloud-safe/lib/www.extremenox.co_16_10_2015_06_%i_1445006234.zip';
$backupType="Restore";
RestoreBackup($filepath,$backupType,'Dropbox');
function RestoreBackup($filepath,$backupType,$Storage)
{
 $newpath=$filepath;
 $zip2 = new ZipArchive;
 mkdir(ABSPATH."Restore", 0777);
 if ($zip2->open($newpath) === TRUE) {  
 $zip2->extractTo(ABSPATH."Restore/");
 $zip2->close();
 $directory_path = ABSPATH."Restore/";
 $rootPath = realpath($directory_path); 
 $files = new RecursiveIteratorIterator(
  new RecursiveDirectoryIterator($rootPath),
  RecursiveIteratorIterator::LEAVES_ONLY
  );
  foreach ($files as $name => $file)
  {
      if(!is_dir($name))
       {
          // echo "in direct";
          if($backupType=='incremental')
          {
            // echo "in incri";

          $source =$name;

          $path2=explode('incremental',$name);

          $destination =$path2[1];

          copy($source,$destination);

          }

           else

           {

        //echo "in restore";    



           $source =$name;

           $path2=explode('Restore',$name);

           $destination =$path2[1];

          copy($source,$destination);



           }



 // exit;

       }

  }

update_option('check_activity_status','clear');

echo "Backup Restored Sucessfully from  ".$Storage."!!";

unlink($filepath);

$path=realpath(ABSPATH."Restore/");

Delete($path);
  }
     }

如果我使用Ajax尝试此代码,那么这是我的JavaScript代码发送请求到PHP页面

  var backupID="3";
  var storageName="dropbox";
  jQuery.ajax({

  type: "POST",

  data: {backupID:backupID,storageName:storageName},

  url:'../wp-content/plugins/wp-cloud-safe/lib/wpSafeCloud_RestoreBackups.php',

  dataType: "html",

  success: function(html)
  {}

     }); 

任何正文都可以告诉问题是什么?为什么脚本在没有Ajax请求的情况下运行良好。

0 个答案:

没有答案