Acidrayne
Местный житель
- Регистрация
- 30 Сен 2007
- Сообщения
- 296
- Реакции
- 20
- Автор темы
- #11
Так содержимое $_FILES посмотрел с помощью print_r ($_FILES);
вот что мне выдало:
Файлы впринципе загружаются, хотя сразу полез в TEMP их там уже небыло!
посмотрите может я что то не так делаю вот как я вставил ваш код:
Я думаю вы его узнаете, потому, что я не убрал ваши комментарии function do_upload_subfile_1 Фуннкцию сделал пока для одного файла subfile_1
вот что мне выдало:
Array ( [file_a] => Array ( [name] => linuxbook.rar [type] => application/x-compressed [tmp_name] => C:\WINDOWS\TEMP\php181.tmp [error] => 0 [size] => 69197 ) [thumb_a] => Array ( [name] => foto_9652.gif [type] => image/gif [tmp_name] => C:\WINDOWS\TEMP\php182.tmp [error] => 0 [size] => 6439 ) [subfile_1] => Array ( [name] => lection2.rar [type] => application/x-compressed [tmp_name] => C:\WINDOWS\TEMP\php183.tmp [error] => 0 [size] => 298905 ) [subfile_2] => Array ( [name] => lection.rar [type] => application/x-compressed [tmp_name] => C:\WINDOWS\TEMP\php184.tmp [error] => 0 [size] => 298905 ) [subfile_3] => Array ( [name] => linuxbook.rar [type] => application/x-compressed [tmp_name] => C:\WINDOWS\TEMP\php185.tmp [error] => 0 [size] => 69197 ) )
Файлы впринципе загружаются, хотя сразу полез в TEMP их там уже небыло!
посмотрите может я что то не так делаю вот как я вставил ваш код:
PHP:
##================================Функция загрузки файла=========================================##
function do_upload($upload_dir, $file_prefix) {
global $file_name;
$temp_name = $_FILES['file_a']['tmp_name'];
$file_path = $upload_dir.$file_name;
$result = move_uploaded_file($temp_name, $file_path);
$zip = new ZipArchive();
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));
if ($file_ext == ".zip" )
{
$zip->open($file_path, ZIPARCHIVE::CREATE);
$zip->deleteName('smart60.ru');
$zip->deleteName('smart60.ru.txt');
$zip->addFile(ROOT_DIR . "/Smarts.org.ua.url", "Smarts.org.ua.url");
$zip->addFile(ROOT_DIR."/uploads/files_new/Opisanie.txt", "Opisanie.txt");
}
else
{
$zip->open($file_path.".zip", ZIPARCHIVE::CREATE);
$zip->addFile($file_path, $file_name);
$zip->addFile(ROOT_DIR . "/Smarts.org.ua.url", "Smarts.org.ua.url");
$zip->addFile(ROOT_DIR. "/uploads/files_new/Opisanie.txt", "Opisanie.txt");
// echo $file_path;
@unlink($file_path);
$file_name .= ".zip";
}
$zip->close();
if ($file_ext != ".zip" )
@unlink($file_path);
$file_path = $upload_dir.$file_name;
if (!chmod($file_path,0666))
echo "<center><b>Не удалось установить права доступа для файла в 0666!!!</b></center>";
else
echo ($result)?"" :
"<center><b>Непредвиденная ошибка при загрузке файла!!!<br />Одна из причин: привышен размер загружаемого файла на сервер (php.ini).</b></center>";
}
function do_upload2($upload_dir, $link_url, $file_prefix) {
global $file_name;
$temp_name = $link_url;
$file_path = $upload_dir.$file_name;
$result = copy($temp_name, $file_path);
$zip = new ZipArchive();
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));
if ($file_ext == ".zip" )
{
$zip->open($file_path, ZIPARCHIVE::CREATE);
$zip->addFile(ROOT_DIR . "/Smarts.org.ua.url", "Smarts.org.ua.url");
}
else
{
$zip->open($file_path.".zip", ZIPARCHIVE::CREATE);
$zip->addFile($file_path, $file_name);
$zip->addFile(ROOT_DIR . "/Smarts.org.ua.url", "Smarts.org.ua.url");
echo $file_path;
@unlink($file_path);
$file_name .= ".zip";
}
$zip->close();
if ($file_ext != ".zip" )
@unlink($file_path);
@unlink($temp_name);
$file_path = $upload_dir.$file_name;
if (!chmod($file_path,0666))
echo "<center><b>Не удалось установить права доступа для файла в 0666!!!</b></center>";
else
echo ($result)?"" :
"<center><b>Непредвиденная ошибка при загрузке файла!!!<br />Одна из причин: привышен размер загружаемого файла на сервер (php.ini).</b></center>";
}
##===============================================================================================##
##===============================================================================================##
##================================Функция загрузки дополнительных файлов========================##
function do_upload_subfile_1 ($upload_dir, $file_prefix) {
// когда файл загружается на сервер, он записывается во временный каталог под временным именем. Получаем это имя и записываем имя в $tmp_name
$temp_name = $_FILES['subfile_1']['tmp_name']; // убери все-таки скобки и поставь subfile_1 :)
// из временного каталога загруженный файл надо переписать туда. куда мы хотим. Вот в этот каталог, например:
$file_path = $upload_dir.$file_name;
// а это само перемещение файла из временного каталога.
$result = move_uploaded_file($temp_name, $file_path);
}
##===============================================================================================##
if (isset ($_REQUEST['mod'])) $do = $_POST['mod']; else $mod = "";
include(ENGINE_DIR.'/data/'.$modulname.'_config.php');
include_once(ENGINE_DIR.'/classes/parse.class.php');
$parse = new ParseFilter(Array(), Array(), 1, 1);
if (isset($_REQUEST['mod']) AND $_REQUEST['mod'] == "addfile" AND $is_logged){
$description = $db->safesql($parse->BB_Parse($parse->process($_POST['description']), false));
$parse->ParseFilter();
$title = $db->safesql($parse->process($_POST['title']));
$version = $db->safesql($parse->process($_POST['version']));
$platform = $db->safesql($parse->process($_POST['platform']));
$metatags = $description;
$keywords = $metatags['keywords'];
$cat_title = intval($_POST["cat_title"]);
if(trim($title) == "" or !$title) {
$stop = 'Введите название файла!';
}
elseif(strlen($title) > 200) {
$stop = 'Введено слишком длинное название';
}
elseif(trim($description) == "" or !$description) {
$stop = 'Введите описание файла!';
}
elseif(strlen($version) > 200) {
$stop = 'Поле <i>Версия файла</i> не может быть таким длинным';
}
elseif(strlen($platform) > 200) {
$stop = 'Поле <i>Платформа/формат файла</i> не может быть таким длинным';
}
elseif ($cat_title==0 OR empty($cat_title))
{
$stop = 'Выберите категорию для добавляемого файла!';
}
elseif ($cat_title!=0 AND $cat_i_down[$cat_title]['status_down']==0)
{
$stop = 'В данную категорию загрузка файлов запрещена!';
}
else {
$files_dir=$cat_i_down[$cat_title]['dir'];
##================================загрузка файла================================================##
$MAX_SIZE = $filesConfig['maxsize'];
$FILE_EXTS = explode (",", $filesConfig['accepted_files']);
foreach($FILE_EXTS as $value) $FILE_EXTS[] = ".".$value;
$upload_dir = ROOT_DIR."/uploads/".$modul_filesdir."/$files_dir/";
if(!is_dir($upload_dir))
mkdir("$upload_dir", 0777);
else
@chmod ($upload_dir, 0777);
$file_prefix = time()."_";
##====== Добавлено
if ($link_url!="")
{
if ($filesConfig['allow_addfile_url'] == "1") {
$link_url = str_replace("\\", "/", $link_url);
$file_name = $file_prefix.end (explode ("/",$link_url));
$file_name_arr = explode(".",$file_name);
$file_type = end($file_name_arr);
$type = end($file_name_arr);
$file_name = totranslit (stripslashes($file_name_arr[0])).".".totranslit($type);
$filesize1 = @filesize_url($link_url);
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));
$filesize = $filesize1;
if ( $filesize1 > $MAX_SIZE)
{
// Тут мы выводим ошибкуу
echo "<center><b>Этот файл превышает максимально допустимый размер закачиваемого файла!</b></center><br>";
$stop = "Code files 1";
}
//File Extension Check
elseif (!in_array($file_ext, $FILE_EXTS))
{
echo "<center>Извините, но такой тип файла - <b>$file_name($file_type)</b> не разрешён для загрузки</center><br>";
$stop = "Code files 2";
}
else
$do_upload_file = 2;
}
}
##====== Добавлено1
elseif (!empty($_FILES['file_a']['name'])) {
$file_type = $_FILES['file_a']['type'];
$file_name = $file_prefix.$_FILES['file_a']['name'];
$file_name_arr = explode(".",$file_name);
$type = end($file_name_arr);
$file_name = totranslit (stripslashes($file_name_arr[0])).".".totranslit($type);
$filesize1 = $_FILES['file_a']['size'];
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));
if (!empty($_FILES['file_a']['name']) ) {
$filesize = $filesize1;
}
if (empty($_FILES['file_a']['name']) ) {
$filesize = $size * 1024;
$file_name = 0;
}
elseif ( $filesize1 > $MAX_SIZE)
{
echo "<center><b>Этот файл превышает максимально допустимый размер закачиваемого файла!</b></center><br>";
$stop = "Code files 1";
}
//File Extension Check
else if (!in_array($file_ext, $FILE_EXTS))
{
echo "<center>Извините, но такой тип файла - <b>$file_name($file_type)</b> не разрешён для загрузки</center><br>";
$stop = "Code files 2";
}
else
{
$do_upload_file = 1;
}
}
else
{
echo "<center><b>Файл не был задан!</b><center>";
$stop = "Code files 5";
}
$thistime = date ("Y-m-d H:i:s");
##===============================================================================================##
##==========================================Создание и сохранение скриншота======================##
if ($filesConfig['allow_screenshot'] == 1) {
if ((!empty($_FILES['thumb_a']['name'])) or ($imageurl!=""))
$file_prefix = time()."_";
$MAX_SIZE_THUMB = $filesConfig['maxsize_thumb'];
$allowed_extensions_thumb = "gif,jpg,png,jpe,jpeg";
$FILE_EXTS_THUMB = explode (",", $allowed_extensions_thumb);
foreach($FILE_EXTS_THUMB as $value) $FILE_EXTS_THUMB[] = ".".$value;
$upload_dir_thumb = ROOT_DIR."/uploads/".$modul_filesdir."/$files_dir/thumbs/";
if(!is_dir($upload_dir))
mkdir("$upload_dir", 0777);
else
@chmod ($upload_dir, 0777);
if(!is_dir($upload_dir_thumb))
mkdir("$upload_dir_thumb", 0777);
else
@chmod ($upload_dir_thumb, 0777);
if ($imageurl!="") {
if ($filesConfig['allow_addfile_url'] == "1") {
$urlcopy = "yes";
$imageurl = str_replace("\\", "/", $imageurl);
$file_name_thumb = end (explode ("/",$imageurl));
$file_name_arr_thumb = explode(".",$file_name_thumb);
$file_type_thumb = end($file_name_arr_thumb);
$type_thumb = end($file_name_arr_thumb);
$file_name_thumb = totranslit (stripslashes($file_name_arr_thumb[0])).".".totranslit($type_thumb);
$filesize1_thumb = @filesize_url($imageurl);
$file_ext_thumb = strtolower(substr($file_name_thumb,strrpos($file_name_thumb,".")));
if($file_name_thumb != "") $file_name_thumb = totranslit(stripslashes($file_name_thumb));
if ( $filesize1_thumb > $MAX_SIZE_THUMB) {
echo "<center><b>Этот файл превышает максимально допустимый размер закачиваемого скриншота!</b></center><br>";
$stop = "Code image 1";
}
//Thumb Extension Check
elseif (!in_array($file_ext_thumb, $FILE_EXTS_THUMB)){
echo "<center>Извините, но такой тип изображения - <b>$file_name_thumb($file_type_thumb)</b> не разрешён для загрузки</center><br>";
$stop = "Code image 2";
}
else
$temp_name_thumb = $_FILES['thumb_a']['tmp_name'];
$file_path_thumb = $upload_dir_thumb.$file_prefix.$file_name_thumb;
if (($urlcopy= "yes") AND ($stop == "")){
@copy($imageurl, $file_path_thumb);
//Make and save a screenshot
$thumb=new thumbnail($file_path_thumb);
if ($thumb->size_auto($filesConfig['widththumb'])) {
$thumb->jpeg_quality($config['jpeg_quality']);
if ($filesConfig['allow_watermark'] == "1") $thumb->insert_watermark($filesConfig['max_watermark']);
$thumb->save($file_path_thumb);
@chmod ($file_path_thumb, 0666);
}
}
}
}
elseif (!empty($_FILES['thumb_a']['name'])) {
$file_type_thumb = $_FILES['thumb_a']['type'];
$file_name_thumb = $_FILES['thumb_a']['name'];
$file_name_arr_thumb = explode(".",$file_name_thumb);
$type_thumb = end($file_name_arr_thumb);
$file_name_thumb = totranslit (stripslashes($file_name_arr_thumb[0])).".".totranslit($type_thumb);
$filesize1_thumb = $_FILES['thumb_a']['size'];
$file_ext_thumb = strtolower(substr($file_name_thumb,strrpos($file_name_thumb,".")));
//Thumb Size Check
if ( $filesize1_thumb > $MAX_SIZE_THUMB)
{
echo "<center><b>Этот файл превышает максимально допустимый размер закачиваемого скриншота!</b></center><br>";
$stop = "Code image 1";
}
//Thumb Extension Check
elseif (!in_array($file_ext_thumb, $FILE_EXTS_THUMB)) {
echo "<center>Извините, но такой тип изображения - <b>$file_name_thumb($file_type_thumb)</b> не разрешён для загрузки</center><br>";
$stop = "Code image 2";
}
else
$temp_name_thumb = $_FILES['thumb_a']['tmp_name'];
$file_path_thumb = $upload_dir_thumb.$file_prefix.$file_name_thumb;
if (is_uploaded_file($_FILES['thumb_a']['tmp_name']) AND ($stop == ""))
{
//Download screenshot
@move_uploaded_file($temp_name_thumb, $file_path_thumb);
//Make and save a screenshot
$thumb=new thumbnail($file_path_thumb);
if ($thumb->size_auto($filesConfig['widththumb'])) {
$thumb->jpeg_quality($config['jpeg_quality']);
if ($filesConfig['allow_watermark'] == "1") $thumb->insert_watermark($filesConfig['max_watermark']);
$thumb->save($file_path_thumb);
@chmod ($file_path_thumb, 0666);
}
}
else
{
echo "<center>Скриншот не был загружен на сервер.</center>";
$stop = "Code image 3";
}
}
else
{
echo "<center><b>Скриншот не был задан.</b></center>";
$stop = "Code image 3";
}
}
##===============================================================================================##
}
##=============================Сохранение данных в базу данных===================================##
// Проверка на ошибки
if (($stop == "") AND ($do_upload_file !="")){
if($do_upload_file == 2)
{
echo do_upload2($upload_dir,$link_url,$file_prefix);
}
elseif($do_upload_file == 1)
{
echo do_upload($upload_dir,$file_prefix);
}
}
else
{
$stop .= " <a href=\"javascript:history.go(-1)\">$lang[all_prev]</a>";
msgbox ($lang['add_err_6'], $stop);
}
// END Проверка на ошибки
if (!$stop){
$added_time = time()+ ($config['date_adjust']*60);
$thistime = date ("Y-m-d H:i:s", $added_time);
if ($member_id['user_group'] == "1" or $member_id['user_group'] == "3") {
$fpid=intval($cat_i_down[$cat_title]['parentid']);
$db->query("INSERT INTO " . PREFIX . "_".$modul_dbtitle." (autor, date, size, version, platform, description, title, screenshot, filename, category, approve, allow_rate, allow_br) values ('$member_id[name]', '$thistime', '$filesize1', '$version', '$platform', '$description', '$title', '$file_prefix$file_name_thumb', '$file_name', '$cat_title', '0', '1', '1')");
$db->query("UPDATE " . PREFIX . "_cat_".$modul_dbtitle." SET news_number=news_number+1 where id ='$cat_title'");
if ($fpid !=0) {
$db->query("UPDATE " . PREFIX . "_cat_".$modul_dbtitle." SET news_number=news_number+1 where id ='$fpid'");
}
} else {
$db->query("INSERT INTO " . PREFIX . "_".$modul_dbtitle." (autor, date, size, version, platform, description, title, screenshot, filename, category, approve, allow_rate, allow_br) values ('$member_id[name]', '$thistime', '$filesize1', '$version', '$platform', '$description', '$title', '$file_prefix$file_name_thumb', '$file_name', '$cat_title', '1', '1', '1')");
$db->query("UPDATE " . PREFIX . "_users set news_num=news_num+1 where user_id='$member_db[10]'");
}
if ($member_id['user_group'] == "1" or $member_id['user_group'] == "3") {
if ($config['allow_alt_url'] == "yes")
msgbox ('Файл успешно добавлен', "{$msg} <a href=\"{$config['http_home_url']}"."addfile/\">$lang[add_noch]</a> $lang[add_or] <a href=\"{$config['http_home_url']}".$modulname."/\">$lang[all_prev]</a>");
else
msgbox ('Файл успешно добавлен', "{$msg} <a href=\"$PHP_SELF?do=addfile\">$lang[add_noch]</a> $lang[add_or] <a href=\"$PHP_SELF?do=".$modulname."\">$lang[all_prev]</a>");
} else {
if ($config['allow_alt_url'] == "yes")
msgbox ('Файл успешно добавлен.', "{$msg} После проверки файл появится в файловом архиве.<br><a href=\"{$config['http_home_url']}"."addfile/\">$lang[add_noch]</a> $lang[add_or] <a href=\"{$config['http_home_url']}".$modulname."/\">$lang[all_prev]</a>");
else
msgbox ('Файл успешно добавлен.', "{$msg} После проверки файл появится в файловом архиве.<br><a href=\"$PHP_SELF?do=addfile\">$lang[add_noch]</a> $lang[add_or] <a href=\"$PHP_SELF?do=".$modulname."\">$lang[all_prev]</a>");
}
@unlink(ENGINE_DIR.'/cache/system/cat_'.$modulname.'.php');
@unlink(ENGINE_DIR.'/cache/system/count_all_'.$modulname.'.php');
@unlink(ENGINE_DIR.'/cache/system/numrows'.$modulname.'.php');
clear_cache('new'.$modulname.'');
clear_cache('top_downloads_'.$modulname.'');
}
##===============================================================================================##
} elseif ($is_logged)
{
$tpl->load_template(''.$modulname.'/addfile.tpl');
// Если хотим пользоваться полными bbcode то раскоментить след строку.
// $addtype = "addnews";
include_once ENGINE_DIR.'/modules/bbcode.php';
$tpl->set('{title}', '');
if ($filesConfig['allow_screenshot'] == 1) {
$tpl->set('[allow_screenshot]',"");
$tpl->set('[/allow_screenshot]',"");
}
else {$tpl->set_block("'\\[allow_screenshot\\](.*?)\\[/allow_screenshot\\]'si","");}
if ($filesConfig['allow_addfile_url'] == 1) {
$tpl->set('[allow_addfile_url]',"");
$tpl->set('[/allow_addfile_url]',"");
}
else {$tpl->set_block("'\\[allow_addfile_url\\](.*?)\\[/allow_addfile_url\\]'si","");}
$tpl->set('{description}','');
$tpl->set('{version}','');
$tpl->set('{platform}','');
$tpl->set('{file_extensions}',$filesConfig['accepted_files']);
$tpl->set('{bbcode}',$bb_code);
$cats = CategoryfileSelection( 0, 0);
$tpl->set('{category}',$cats);
$tpl->copy_template = "<form method=\"post\" name=\"entryform\" id=\"entryform\" action=\"\" ENCTYPE=\"multipart/form-data\">\n".$tpl->copy_template."
<input type=hidden name=mod value=addfile>
</form>";
$tpl->compile('content');
$tpl->clear();
}
?>
Я думаю вы его узнаете, потому, что я не убрал ваши комментарии function do_upload_subfile_1 Фуннкцию сделал пока для одного файла subfile_1