przewiń do treści

Zend Framework od podstaw

Włodzimierz Gajda

<?php

require_once 'Zend/Tool/Project/Provider/Abstract.php';
require_once 'Zend/Tool/Project/Provider/Exception.php';

class DaneProvider extends Zend_Tool_Project_Provider_Abstract
{

  public function wstaw()
  {
    defined('APPLICATION_PATH')
      || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

    defined('APPLICATION_ENV')
      || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ?
        getenv('APPLICATION_ENV') : 'development'));

    set_include_path(implode(PATH_SEPARATOR, array(
      realpath(APPLICATION_PATH . '/../library'),
      get_include_path(),
    )));

    require_once 'Zend/Application.php';

    $application = new Zend_Application(
      APPLICATION_ENV,
      APPLICATION_PATH . '/configs/application.ini'
    );

    $application->bootstrap('db');

    $Plik = new Application_Model_DbTable_Plik();
    $Plik->delete('');


    $plks = glob('data/*.*');
    foreach ($plks as $plk) {
      echo $plk . "\n";

      $path_parts = pathinfo($plk);

      $dane = array(
        'typmime' => My_Mime::getMimetypeOnExt($path_parts['extension']),
        'dane'    => file_get_contents($plk),
        'slug'    => basename($plk)
      );
      $Plik->createRow($dane)->save();
    }

  }

}

Listing 24.8. Plik DaneProvider.php po uzupełnieniu metody wstaw()

Rozdział 24. Zapisywanie w bazie danych plików binarnych

listing-24-08.txt