Browse Source

passage par un rep temporaire

master
Cabillot Julien 6 years ago
parent
commit
90065bafc4
4 changed files with 21 additions and 7 deletions
  1. 0
      downloaded/.gitignore
  2. 2
      downloading/.gitignore
  3. 9
      include/config.php
  4. 17
      lib/Download.php

download/.gitignore → downloaded/.gitignore

2
downloading/.gitignore

@ -0,0 +1,2 @@
*
!.gitignore

9
include/config.php

@ -8,11 +8,16 @@ define('DB_COLL', 'mydl');
/** /**
* Defini le repertoire temporaire ou seront stocke les downloads * Defini le repertoire temporaire ou seront stocke les downloads
*/ */
define('DOWNLOADDIR', dirname(__FILE__).'/../download');
define('DOWNLOADINGDIR', dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'downloading');
/**
* Defini le repertoire definitif ou seront stocke les downloads
*/
define('DOWNLOADEDDIR', dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'downloaded');
/** /**
* Defini l'endroit ou se trouve le lock pour les download * Defini l'endroit ou se trouve le lock pour les download
*/ */
define('DOWNLOADLOCK', dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'download'.DIRECTORY_SEPARATOR.'lock');
define('DOWNLOADLOCK', DOWNLOADINGDIR.DIRECTORY_SEPARATOR.'lock');
include dirname(__FILE__).'/../lib/DbMongo.php'; include dirname(__FILE__).'/../lib/DbMongo.php';
include dirname(__FILE__).'/../lib/Download.php'; include dirname(__FILE__).'/../lib/Download.php';

17
lib/Download.php

@ -77,7 +77,6 @@ class Download {
['_id' => $this->_id], ['_id' => $this->_id],
['$push' => ['event' => $event]] ['$push' => ['event' => $event]]
); );
file_put_contents('toto', print_r($dbRet, true));
} }
/** /**
@ -86,9 +85,15 @@ file_put_contents('toto', print_r($dbRet, true));
* @return array Informations sur le transfert * @return array Informations sur le transfert
*/ */
public function get() { public function get() {
// TODO : utiliser un nom de fichier temporaire
set_time_limit(0);
$fp = fopen(DOWNLOADDIR.DIRECTORY_SEPARATOR.$this->filename, 'w+');
// TODO : tester si fichier existant (temp et definitif)
set_time_limit(0);
if (file_exists(DOWNLOADINGDIR.DIRECTORY_SEPARATOR.$this->filename) || file_exists(DOWNLOADEDDIR.DIRECTORY_SEPARATOR.$this->filename)) {
echo 'le fichier existe deja, exit';
exit();
}
$fp = fopen(DOWNLOADINGDIR.DIRECTORY_SEPARATOR.$this->filename, 'w+');
$ch = curl_init($this->premURL); $ch = curl_init($this->premURL);
curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
@ -96,7 +101,9 @@ file_put_contents('toto', print_r($dbRet, true));
curl_exec($ch); curl_exec($ch);
$retour = curl_getinfo($ch); $retour = curl_getinfo($ch);
curl_close($ch); curl_close($ch);
fclose($fp);
fclose($fp);
rename(DOWNLOADINGDIR.DIRECTORY_SEPARATOR.$this->filename, DOWNLOADEDDIR.DIRECTORY_SEPARATOR.$this->filename);
// TODO : verifier le retour ? // TODO : verifier le retour ?
$this->addEvent([ $this->addEvent([

Loading…
Cancel
Save