⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 public.inc.php

📁 创建虚拟磁盘。用户可以创建磁盘
💻 PHP
字号:
<?php 
##
#	Project: PHPDisk
#	This is NOT a freeware, use is subject to license terms.
#
#	Site: http://www.phpdisk.com
#
#	$Id: public.inc.php 249 2009-03-10 14:59:03Z along $
#
#	Copyright (C) 2008-2009 PHPDisk Team. All Rights Reserved.
#
##

if(!defined('IN_PHPDISK') || !defined('IN_INDEX')) {
	exit('[PHPDisk] Access Denied');
}
define('SCRIPT_NAME',$item);

require_once lang(SCRIPT_NAME);

$lang = array_merge($pub_lang,$lang);

require_once PHPDISK_ROOT.'includes/zip.class.php';
require_once PHPDISK_ROOT.'includes/upload.func.php';

$upload_max = get_byte_value(ini_get('upload_max_filesize'));
$post_max = get_byte_value(ini_get('post_max_size'));
$settings_max = $settings['max_file_size'] ? get_byte_value($settings['max_file_size']) : 0;
$max_php_file_size = min($upload_max, $post_max);
$max_file_size_byte = ($settings_max && $settings_max <= $max_php_file_size) ? $settings_max : $max_php_file_size;
$max_user_file_size = get_size($max_file_size_byte,'B',0);

switch($action){
	case 'index':
				if($task == 'doupload'){
			if($p_formhash != formhash()){
				exit($lang['system_error']);
			}
		
			$extract_zip_files = (int)gpc('extract_zip_files','P',0);
			$can_upload = true;
			$errmsg = array();
						$per_folder = 1000;
			$folder_index = ((int)$stats['public_files_count'] >0) ? floor($rs['public_files_count']/$per_folder) : 0;
						$user_dir = PHPDISK_ROOT.$settings['public_file_path'].'/';
			$v_user_dir = $settings['public_file_path'];
			$user_dir0 = $user_dir.$folder_index.'/';
			$v_user_dir0 = $v_user_dir.'/'.$folder_index.'/';
			if(!is_dir($user_dir)){
				mkdir($user_dir ,0777);
				write_file($user_dir.'index.htm','PHPDisk');
			}
			if(!is_dir($user_dir0)){
				mkdir($user_dir0 ,0777);
				write_file($user_dir0.'index.htm','PHPDisk');
			}
		
			if(isset($_POST) && isset($_FILES) && is_array($_FILES)){
			
								while(list($name , $file) = each($_FILES)){
					if(($file['name'] == 'batch.zip' || $extract_zip_files) && is_zip($file['tmp_name'])){
						process_zip_file($file['tmp_name']);
						unset($_FILES[$name]);
						@unlink($file['tmp_name']);
					}
				}
				reset ($_FILES);
				
								$insert_num = 0;
		
				while(list($name,$file) = each($_FILES)){
															switch($file['error']){
						case 0 :
							$can_upload = true;
						break;
						case 1 :
							$can_upload = false;
							$errmsg[] = '<span class="txtred">'.$file['name'].' => '.$lang['upload_failure'].': '.$lang['exceed_php_max_size'].'</span>';
						break;
						case 2 :
							$can_upload = false;
							$errmsg[] = '<span class="txtred">'.$file['name'].' => '.$lang['upload_failure'].': '.$lang['exceed_form_max_size'].'</span>';
						break;
						case 3 :
							$can_upload = false;
							$errmsg[] = '<span class="txtred">'.$file['name'].' => '.$lang['upload_failure'].': '.$lang['partial_upload'].'</span>';
						break;
					}
										if($file['size'] > $max_file_size_byte){
						$can_upload = false;
						$errmsg[] = '<span class="txtred">'.$file['name'].' => '.$lang['upload_failure'].': '.$lang['upload_file_exceed_max'].'</span>';
					}
										if($can_upload && $file['name'] != '' && $file['size'] >0 ){
		
						$file_extension = $db->escape(get_extension($file['name']));
						$esp = strlen($file_extension)+1;
						if($file_extension){
							$file_name = $db->escape(substr($file['name'],0,strlen($file['name'])-$esp));
						}else{
							$file_name = $db->escape($file['name']);
						}
						$file_key = random(8);
						
						$file_mime = strtolower($db->escape($file['type']));
						
						$mime_arr = array('image/gif','image/png','image/bmp','image/jpeg','image/pjpeg','image/tiff');
						$extension_arr = array('gif','png','jpeg','jpg','jpe','bmp','tif','tiff');
						if(in_array($file_extension,$extension_arr) || in_array($file_mime,$mime_arr)){
							$is_image = 1;
						}else{
							$is_image = 0;
						}
						$file_real_name = md5(uniqid(mt_rand(),true).microtime());
												$real_file = $user_dir0.$file_real_name;
						$is_checked = (int)$settings['check_public_file'] ? 0 : 1;
		
												if(upload_file($file['tmp_name'],$real_file)){
							$error = false;
							$sysmsg[] = '<span class="txtgreen">'.$file['name'].' -> '.$lang['upload_success'].'</span>';
														$ins_str .= "('$file_name','$file_key','','$file_extension','$is_image','$file_mime','$folder_index','$file_real_name','".filesize($real_file)."','$timestamp','$pd_uid','$is_checked'),";
							$insert_num++;
						}
											}
					@unlink ($file['tmp_name']);
				} 				if(!$error && $ins_str){
										$ins_str = substr($ins_str,0,-1);
					$sql = "insert into pd_publics(file_name,file_key,file_description,file_extension,is_image,file_mime,folder_index,file_real_name,file_size,file_time,userid,is_checked) values $ins_str";
					$db->query($sql);
										$public_files_count = (int)$stats['public_files_count']+1;
					$db->query("replace into pd_stats(vars,value) values('public_files_count','$public_files_count');");
					write_cache('stats');
				}
				
				$sysmsg = array_merge($sysmsg,$errmsg);
			}else{
				$sysmsg[] = $lang['upload_error'];
			}
		}else{
			if(!$settings['public_upload']) {
				$sysmsg[] = $lang['cannot_public_upload'];
			}
			if(!$pd_gid && !$settings['anonymous_upload']){
				$sysmsg[] = $lang['cannot_anonymous_upload'];
			}
		}
		
		require_once template(SCRIPT_NAME,TPL_NAME);
		
	break;
	
	default:
		redirect(urr("index","item=public&action=index"),'',0);
}	

?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -