function getOtherFile($filename, $copy = false)
 {
     global $user;
     $filename = sotf_Utils::getFileFromPath($filename);
     $source = $this->getOtherFilesDir() . '/' . $filename;
     if (!is_file($source)) {
         raiseError("no such file: {$source}");
     }
     $target = $user->getUserDir() . '/' . $filename;
     while (file_exists($target)) {
         $target .= "_1";
     }
     if ($copy) {
         $success = copy($source, $target);
     } else {
         $success = rename($source, $target);
     }
     if (!$success) {
         raiseError("could not copy/move {$source}");
     }
     return true;
 }
示例#2
0
<?php

require "init.inc.php";
$filename = sotf_Utils::getParameter('filename');
$id = sotf_Utils::getParameter('id');
$prg =& new sotf_Programme($id);
$filename = sotf_Utils::getFileFromPath($filename);
$filename = $prg->getOtherFilesDir() . '/' . $filename;
$file =& new sotf_File($filename);
if ($file->type != "none") {
    header("Content-type: " . $file->mimetype . "\n");
    header("Content-transfer-encoding: binary\n");
    header("Content-length: " . filesize($filename) . "\n");
    // send file
    readfile($filename);
} else {
    exit($page->getlocalized("dowload_problem"));
}
 function deleteFile($filename)
 {
     $filename = sotf_Utils::getFileFromPath($filename);
     $targetFile = $this->getUserDir() . '/' . $filename;
     if (unlink($targetFile)) {
         return 0;
     } else {
         raiseError("Could not remove file {$targetFile}");
     }
 }