Скрипт для скачивания альбомов с photo.qip.ru

07.08.2017

Сервис фотографий photo.qip.ru закрывают, и решил я накидать небольшой скрипт, позволяющий сохранить все фотографии из публичного альбома.

Внимание: скрипт не актуален, т.к. сервис уже закрыт.

index.php (Download)

 <?
  class c_script
  {
    var $_sTask						= '';
    var $_aPaths					= array();
    var $_aParams					= array();

    function fExec()
    {
      $this->_aPaths['www'] = 'http://'.$_SERVER['HTTP_HOST'].($_SERVER['SCRIPT_URL']);
      $this->_aPaths['abs'] = dirname($_SERVER['SCRIPT_FILENAME']);
      $this->_aPaths['self'] = basename($_SERVER['SCRIPT_NAME']);

      $this->_sTask = $this->getRequest('task');

      $this->setParam('user');
      $this->setParam('albom');

      switch ($this->_sTask)
      {
        default:
          $this->fInclude('view.php');
          c_view::ShowForm();
        break;

        case 'scan':
          $this->fInclude('grabber.php');
          $graber_photofile = new c_graber_photofile($this->getParam('user'),$this->getParam('albom'));
          $graber_photofile->Start();
          echo '<div align="justify"><h1>ГОТОВО!!!</h1><a href="'.$this->_aPaths['www'].'/'.$this->_aPaths['self'].'?task=show_result&user='.$this->getParam('user').'&albom='.$this->getParam('albom').'">Просмотр результата</a></div>';
        break;

        case 'show_result':
          $this->fInclude('view.php');
          c_view::ShowPics();
          echo '<div align="justify"><h1>ГОТОВО!!!</h1></div>';
        break;
      }
    }

    function getRequest($sName, $DefVal = '')
    {
      return isset($_REQUEST[$sName]) ? $_REQUEST[$sName] : $DefVal;
    }

    function setParam($sName, $DefVal = '')
    {
      $this->_aParams[$sName] = $this->getRequest($sName, $DefVal);
    }

    function getParam($sName, $DefVal = '')
    {
      return isset($this->_aParams[$sName]) ? $this->_aParams[$sName] : $DefVal;
    }

    function Error($msg, $bFatal = TRUE)
    {
      echo '<H1 style="color :red;">'.$msg.'</H1>';
      if ($bFatal)
      {
        Die();
      }
    }

    function fInclude($sName)
    {
      $sPath = $this->_aPaths['abs'].'/'.$sName;
      if (file_exists($sPath))
      {
        require_once($sPath);
      }
      else
      {
        $this->Error('file not exists :" ' . $sPath. ' "');
      }
    }
  }


  $script = new c_script();
  $script->fExec();
?>


Яндекс.Метрика