コード例 #1
0
 protected function afterInit()
 {
     $this->dir = $this->cfg->dir;
     if ($this->cfg->subdir) {
         $this->subdir = $this->cfg->subdir . DS;
         $this->dir .= $this->subdir;
     }
     file::createDir($this->dir);
     $uploaded = false;
     if (strpos($this->cfg->name, '[')) {
         $tmp = explode('[', str_replace(']', '', $this->cfg->name));
         $tmpfile = utils::getValInArray($_FILES, $tmp);
         if (!empty($tmpfile) && is_array($tmpfile)) {
             $this->file = $tmpfile;
             $this->file['saved'] = false;
             $uploaded = $this->file['error'] == UPLOAD_ERR_OK;
         }
     } else {
         if (array_key_exists($this->cfg->name, $_FILES)) {
             $this->file = $_FILES[$this->cfg->name];
             $this->file['saved'] = false;
             $uploaded = $this->file['error'] == UPLOAD_ERR_OK;
         }
     }
     if ($this->cfg->current && !$uploaded) {
         $name = basename($this->cfg->current);
         $savePath = $this->dir . $name;
         $webPath = str_replace(DS, '/', $this->subdir . $name);
         $this->file = array('name' => $name, 'type' => file::getType($savePath), 'tmp_name' => '', 'error' => UPLOAD_ERR_OK, 'size' => file::size($savePath), 'saved' => array('name' => $name, 'savePath' => $savePath, 'webPath' => $webPath), 'savedFromValue' => true);
         $this->saved = $webPath;
     }
     $this->helper = factory::isCreable('helper_' . $this->cfg->helper) ? factory::getHelper($this->cfg->helper, $this->getHelperPrm('factory')) : null;
     if ($this->cfg->autoSave && !empty($this->file) && $this->isValid() === true) {
         $this->save();
     }
 }
コード例 #2
0
ファイル: http.class.php プロジェクト: nyroDev/nyroFwk
	/**
	 * Show a file to the client
	 *
	 * @param string $file File Path
	 */
	public function showFile($file) {
		if (file::exists($file)) {
			$type = file::getType($file);
			if (strpos($type, 'audio') === 0 || strpos($type, 'video') === 0) {
				$this->mediaDownload($file);
			} else {
				$this->cfg->compress = false;
				$this->neverExpire();
				$this->addHeader('Last-Modified', gmdate('D, j M Y H:i:s', filemtime($file)).' GMT', true);
				$this->addHeader('Content-Type', $type, true);
				$this->addHeader('Cache-Control', 'public', false);
				$this->addHeader('Pragma', null, false);
				$this->addHeader('Content-length', file::size($file), true);
				$this->sendText(file::read($file));
			}
		}
	}
コード例 #3
0
ファイル: select.php プロジェクト: dalinhuang/zotop
"><?php 
    echo $folder;
    ?>
</a></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
</tr>
<?php 
}
foreach ($files as $file) {
    $filepath = site::template($dir . '/' . $file);
    $filedata = file::data($filepath);
    $filesize = file::size($filepath, true);
    ?>
<tr class="item file">
	<td class="w20 center"><span class="zotop-icon zotop-icon-file"></span></td>
	<td class="w120"><input type="hidden" value="<?php 
    echo empty($dir) ? $file : $dir . '/' . $file;
    ?>
"/><?php 
    echo $file;
    ?>
</td>
	<td><?php 
    echo $filedata['description'] ? $filedata['description'] : $filedata['title'];
    ?>
</td>
	<td class="w60"><?php