Загрузка нескольких файлов на сервер

Статус
В этой теме нельзя размещать новые ответы.
да вроде все нормально, только вместо

Код:
'$member_id[name]'

надо написать

Код:
'{$member_id[name]}'

чтобы подставлялось значение элемента массива, надо ставить фигурные скобки.
 
да вроде все нормально, только вместо

Код:
'$member_id[name]'

надо написать

Код:
'{$member_id[name]}'

чтобы подставлялось значение элемента массива, надо ставить фигурные скобки.
не надо
PHP:
,'".$member_id['name']."',
 
  • Нравится
Реакции: jik
Теперь возникла проблема с выводом прикрепленных файлов, попытка вывести аттач приводит к ошибке:

Fatal error: Maximum execution time of 30 seconds exceeded in E:\AppServ\www\engine\classes\mysql.class.php on line 181

вот как его вывожу, привожу весь код что бы было понятно:
PHP:
function files($modulname, $modul_dbtitle, $modul_kostitle, $modul_filesdir)
{
	global $tpl, $db, $config, $cat_i_down, $is_logged, $member_id, $user_group, $numrowsfiles, $filesConfig, $metatags, $lang;
	$filesConfig['nfmain'] = intval($filesConfig['nfmain']);
	if (isset($_REQUEST['cstart'])) $cstart = intval($_GET['cstart']);
	if (!$cstart) $cstart = 1;
	if ($cstart){
		$cstart = $cstart - 1;
		$cstart = $cstart * $filesConfig['nfmain'];
	}
	$thisdate = date ("Y-m-d H:i:s", (time()+ ($config['date_adjust']*60)));
	$sql_select = "SELECT id, autor, date, url, screen_url, description, title, screenshot, filename, keywords, size,  platform, version, category, comm_num, allow_comm, vote_num, news_read FROM " . PREFIX ."_".$modul_dbtitle." WHERE approve = '0' AND date < '$thisdate' ORDER BY date DESC LIMIT ".$cstart.",".$filesConfig['nfmain']."";
	$sql_select_att = "SELECT * FROM " . PREFIX . "_downloads_attach ";
	if ($filesConfig['auto_category'] == 1)
	{
		$tpl->load_template(''.$modulname.'/auto_category.tpl');
		$tpl->set_block("'\\[catheader\\](.*?)\\[/catheader\\]'si","\\1");
		$tpl->set_block("'\\[catline\\].*?\\[/catline\\]'si","");
		$tpl->set_block("'\\[catbreak\\].*?\\[/catbreak\\]'si","");
		$tpl->set_block("'\\[catfooter\\].*?\\[/catfooter\\]'si","");
		$tpl->compile('content');
		ShowCategory($modulname, 0, '  ');
		if ($filesConfig['numfiles'] == "1") {
		//$num_filesmain = "<br><center>Всего файлов в ".$modul_kostitle.": <b>$numrowsfiles</b><br><a href=\"http://smarts.org.ua."/\"><b><font color=red>Добавить файл в ОБМЕННИК</font></b></a></center>";
		$num_filesmain = "<br><center>Всего файлов в ".$modul_kostitle.": <b>$numrowsfiles</b></center>";
		$tpl->set('{num_filesmain}',"$num_filesmain");
		}
		else {
		$tpl->set('{num_filesmain}',"");
		}
		$tpl->set_block("'\\[catheader\\].*?\\[/catheader\\]'si","");
		$tpl->set_block("'\\[catline\\].*?\\[/catline\\]'si","");
		$tpl->set_block("'\\[catbreak\\].*?\\[/catbreak\\]'si","");
		$tpl->set_block("'\\[catfooter\\](.*?)\\[/catfooter\\]'si","\\1");
		$tpl->copy_template .= "<br>";
		$tpl->compile('content');
		$tpl->clear();

	}
	else
	{
		$tpl->load_template(''.$modulname.'/category.tpl');
		foreach($cat_i_down as $cats)
		{
			$tpl->set("{cat_".$cats['id']."}", $cats['news_number']);
		}

		if ($filesConfig['numfiles'] == "1")
		{
			//$num_filesmain = "<br><center>Всего файлов в ".$modul_kostitle.": <b>$numrowsfiles</b><br><a href=\"http://www.fmnokia.net/add".$modulname."/\"><b><font color=red>Добавить файл в ОБМЕННИК</font></b></a></center>";
			$num_filesmain = "<br><center>Всего файлов в ".$modul_kostitle.": <b>$numrowsfiles</b></center>";
			$tpl->set('{num_filesmain}',"$num_filesmain");
		}
		else
		{
			$tpl->set('{num_filesmain}',"");
		}

		$tpl->compile('content');
		$tpl->clear();
	}

	$sql_result = $db->query($sql_select);

	if (isset ($cstart)) $i = $cstart;
	$news_found = FALSE;

	$tpl->load_template($custom_template.''.$modulname.'/files.tpl');
	$tpl->copy_template = "
    <SCRIPT LANGUAGE=\"JavaScript\">
    function confirmbroken(url){
    var agree=confirm(\"Сообщить о потерянном файле администрации? В целях безопасности ваше имя и ip будут временно записаны.\");
    if (agree)
    document.location=url;
    }
    </SCRIPT><a name=\"comment\"></a>".$tpl->copy_template;

	while($row = $db->get_row($sql_result)){

		$news_found = TRUE;
		$attachments[] = $row['id'];
		$row['date'] = strtotime($row['date']);
		$i++;

		if (!$row['category'])
		{
			$my_cat = "---"; $my_cat_link = "---";
		}
		else
		{

			$my_cat = array (); $my_cat_link = array ();
			$cat_list = explode (',', $row['category']);

			foreach ($cat_list as $element)
			{
				if ($element)
				{
					if ($cat_i_down[$element]['parentid'] == 0)
					{
						$my_cat[] = $cat_i_down[$element]['name'];
						if ($config['allow_alt_url'] == "yes")
						$my_cat_link[] = "<a href=\"".$config['http_home_url']."".$modulname."/cat{$cat_i_down[$element]['id']}.html\">{$cat_i_down[$element]['name']}</a>";
						else
						$my_cat_link[] = "<a href=\"".$config['http_home_url']."index.php?do=".$modulname."&op=cat&id={$cat_i_down[$element]['id']}\">{$cat_i_down[$element]['name']}</a>";
					}
					else
					{
						$my_cat[] = $cat_i_down[$element['parentid']]['name'] . " » " . $cat_i_down[$element]['name'];
						if ($config['allow_alt_url'] == "yes")
						$my_cat_link[] = "<a href=\"".$config['http_home_url']."".$modulname."/cat{$cat_i_down[$element]['parentid']}.html\" title=\"Перейти в раздел: <b>{$cat_i_down[$cat_i_down[$element]['parentid']]['name']}</b>\">{$cat_i_down[$cat_i_down[$element]['parentid']]['name']}</a>" . " » ". "<a href=\"".$config['http_home_url']."".$modulname."/cat{$element}.html\" title=\"Перейти в категорию: <b>{$cat_i_down[$element]['name']}</b>\">{$cat_i_down[$element]['name']}</a>";
						else
						$my_cat_link[] = "<a href=\"".$PHP_SELF."?do=".$modulname."&op=cat&id={$cat_i_down[$element]['parentid']}\" title=\"Перейти в раздел: <b>{$cat_i_down[$cat_i_down[$element]['parentid']]['name']}</b>\">{$cat_i_down[$cat_i_down[$element]['parentid']]['name']}</a>" . " » " . "<a href=\"".$PHP_SELF."?do=".$modulname."&op=cat&id={$cat_i_down[$element]['id']}\" title=\"Перейти в категорию: <b>{$cat_i_down[$element]['name']}</b>\">{$cat_i_down[$element]['name']}</a>";
					}

				}
			}
			$my_cat = stripslashes(implode (', ', $my_cat));
			$my_cat_link = stripslashes(implode (', ', $my_cat_link));
		}

		$row['category'] = intval ($row['category']);

		$news_find = array(
		'{date}'				=> langdate($config['timestamp_active'], $row['date']),
		'{comments-num}'		=> $row['comm_num'],
		'{views}'				=> $row['news_read'],
		'{category}'			=> $my_cat,
		'{link-category}'		=> $my_cat_link,
		'{category-icon}'		=> $cat_info[$row['category']]['icon'],
		'{news-id}'			=> $row['id'],
		'{php-self}'			=> $PHP_SELF,
		);

		$tpl->set('',  $news_find);
		$tpl->set('{search-id}',"");

		if (($is_logged OR $filesConfig['down_guest'] == 1))
		{
			if ($filesConfig['allow_filestoemail'] == 1 OR ($member_id['user_group'] == "1"))
			$email_link = " | <a href=\"".$config['http_home_url']."index.php?do=".$modulname."&op=email&id=".$row['id']."\" title=\"Получить файл на email. Используется адрес из Вашего профиля\"><b>Получить на email</b></a>";
			else
			$email_link = "";

			if ($filesConfig['hide_url'] == "1")
			{
				$tpl->set('{urlmobile}',"<a href=\"http://smarts.org.ua/index.php?do=".$modulname."&op=showfile&lid=".$row['id']."\"><b>Скачать</b></a>". $email_link);
				$tpl->set('{url}',"<a title=\"Скачать файл - ".$row['title']."\" href=\"".$config['http_home_url']."index.php?do=".$modulname."&op=showfile&lid=".$row['id']."\"><b>Скачать</b></a>".$email_link);
			}
			else
			{
				if (!empty($row['filename']))
				{$tpl->set('{url}',"<a title=\"Скачать файл - ".$row['title']."\" href=\"".$config['http_home_url']."uploads/".$modul_filesdir."/{$cat_i_down[$row['category']]['dir']}/{$row['filename']}\"><b>Скачать</b></a>".$email_link);
				$tpl->set('{urlmobile}',"<a href=\"http://smarts.org.ua/uploads/".$modul_filesdir."/{$cat_i_down[$row['category']]['dir']}/{$row['filename']}\"><b>Скачать</b></a>");}
				else
				{$tpl->set('{url}',"<a title=\"Скачать файл - ".$row['title']."\" href=\"".$row['url']."\"><b>Скачать</b></a>".$email_link);
				$tpl->set('{urlmobile}',"<a href=\"".$row['url']."\"><b>Скачать</b></a>");}
			}
		}
		else
		$tpl->set('{url}',"");

		if (!empty($row['screenshot']) OR $filesConfig['default_screenshot'] == 1 OR (!empty($row['screen_url'])))
		{
			if (!empty($row['screenshot']))
			{
				$tpl->set('{urlscr}',"<a href=\"http://smarts.org.ua/uploads/".$modul_filesdir."/{$cat_i_down[$row['category']]['dir']}/thumbs/{$row['screenshot']}\" border=\"0\">&raquo;Скриншот&laquo;</a>");
				$tpl->set('{screenshot}',"<img align=\"left\" src=\"".$config['http_home_url']."uploads/".$modul_filesdir."/{$cat_i_down[$row['category']]['dir']}/thumbs/{$row['screenshot']}\" border=\"0\">");
			}
			elseif (!empty($row['screen_url']))
			{
				$tpl->set('{urlscr}',"<img src=\"{$row['screen_url']}\" border=\"0\">");
				$tpl->set('{screenshot}',"<img align=\"left\" src=\"{$row['screen_url']}\" border=\"0\">");
			}
			elseif ($filesConfig['default_screenshot'] == 1 AND empty($row['screenshot']))
			{
				$tpl->set('{urlscr}',"Скриншот отсутствует.");
				$tpl->set('{screenshot}',"<img align=\"left\" src=\"".$config['http_home_url']."templates/{$config['skin']}/images/".$modulname."/noimage.jpg\" border=\"0\">");
			}
		}
		else
		{	
			$tpl->set('{urlscr}',"");	
			$tpl->set('{screenshot}',"");
		}

		$size = $row['size'];
		$mb = (1024 * 1024);
		if ($size > $mb)
		{
			$tpl->set('{size}', sprintf ("%01.2f", ($size/$mb)) . " Мб");
		}
		elseif ($row['size'] >= 1024)
		{
			$tpl->set('{size}', sprintf ("%01.2f", ($size/1024)) . " Кб");
		}
		else
		{
			$tpl->set('{size}', sprintf("%s байт", $size));
		}

		if ($is_logged)
		{
			if ($config['allow_alt_url'] == "yes")
			$tpl->set('[broken]',"<a title=\"Сообщить о потерянном файле\" href=\"javascript:confirmbroken('".$config['http_home_url']."".$modulname."/brokenfile_".$row['id'].".html')\">");
			else
			$tpl->set('[broken]',"<a title=\"Сообщить о потерянном файле\" href=\"javascript:confirmbroken('".$config['http_home_url']."index.php?do=".$modulname."&op=brokenfile&fileid=".$row['id']."')\">");
			$tpl->set('[/broken]',"</a>");
		}
		else $tpl->set_block("'\\[broken\\](.*?)\\[/broken\\]'si","");



		if ($config['allow_alt_url'] == "yes")
		$tpl->set('{author}', "<a href=\"".$config['http_home_url']."user/".urlencode($row['autor'])."/\">".$row['autor']."</a>");
		else
		$tpl->set('{author}', "<a href=\"".$config['http_home_url']."?subaction=userinfo&amp;user=".urlencode($row['autor'])."\">".$row['autor']."</a>");

		if (($member_id['user_group'] == "1"))
		{
			$tpl->set('[edit]',"<a onClick=\"return dropdownmenu(this, event, MenuFilesBuild('".$row['id']."', 'description'), '170px')\"href=\"".$config['http_home_url'].$config['admin_path']."?mod=admin_".$modulname."&action=edit_file&id=".$row['id']."\"target=\"_blank\">");
			$tpl->set('[/edit]',"</a>");
		}
		else $tpl->set_block("'\\[edit\\](.*?)\\[/edit\\]'si","");

		if ($row['allow_comm'])
		{
			if ($config['allow_alt_url'] == "yes")
			$tpl->set('[com-link]',"<a title=\"Почитать комментарии\" href=\"".$config['http_home_url']."".$modulname."/file".$row['id'].".html#comment\">");
			else
			$tpl->set('[com-link]',"<a title=\"Почитать комментарии\" href=\"".$config['http_home_url']."index.php?do=".$modulname."&op=download&fileid=".$row['id']."#comment\">");
			$tpl->set('[/com-link]',"</a>");
		}
		else $tpl->set_block("'\\[com-link\\](.*?)\\[/com-link\\]'si","");

		if (!$is_logged)
		{
			$tpl->set('[not-logged]',"");
			$tpl->set('[/not-logged]',"");
			$tpl->set_block("'\\[is-logged\\](.*?)\\[/is-logged\\]'si","");
		}
		else
		{
			$tpl->set('[is-logged]',"");
			$tpl->set('[/is-logged]',"");
			$tpl->set_block("'\\[not-logged\\](.*?)\\[/not-logged\\]'si","");
		}

		// Favorites
		if ($is_logged)
		{
			if (!strstr ($member_id['favoritesfiles'], $row['id']) OR
			$config['allow_cache'] == "yes")
			$tpl->set('{favorites}',"<a title=\"Добавить файл в избранное\" id=\"fav-id-".$row['id']."\" href=\"$PHP_SELF?do=favorites".$modulname."&doaction=add&id=".$row['id']."\"><img src=\"".$config['http_home_url']."templates/{$config['skin']}/dleimages/plus_fav.gif\" onclick=\"doFavoritesfiles('".$row['id']."', 'plus'); return false;\" title=\"".$lang['news_addfav']."\" align=\"absmiddle\" border=\"0\"></a>");
			else
			$tpl->set('{favorites}',"<a title=\"Добавить файл в избранное\" id=\"fav-id-".$row['id']."\" href=\"$PHP_SELF?do=favorites".$modulname."&doaction=del&id=".$row['id']."\"><img src=\"".$config['http_home_url']."templates/{$config['skin']}/dleimages/minus_fav.gif\" onclick=\"doFavoritesfiles('".$row['id']."', 'minus'); return false;\" title=\"".$lang['news_minfav']."\" align=\"absmiddle\" border=\"0\"></a>");
		}
		else
		$tpl->set('{favorites}',"");
		// Favorites

		if ($row['version'] != "")
		{
			$tpl->set('{version}', "<b>".stripslashes($row['version'])."</b>");
		}
		else
		{
			$tpl->set('{version}',"");
		}

		if ($row['platform'] != "")
		{
			$tpl->set('{platform}', "- ".$row['platform']."");
		}
		else
		{
			$tpl->set('{platform}',"");
		}

		if ( stristr( $tpl->copy_template, "[group=" ) )
		{
			$tpl->copy_template = preg_replace( "#\\[group=(.+?)\\](.*?)\\[/group\\]#ies","check_group('\\1', '\\2')", $tpl->copy_template);
		}

		$tpl->set('{title}', stripslashes($row['title']));
		$metatags['title'] = "{$config['home_title']}";

		if ($config['allow_alt_url'] == "yes")
		$tpl->set('[title]',"<a href=\"".$config['http_home_url']."".$modulname."/file".$row['id'].".html\">");
		else
		$tpl->set('[title]',"<a href=\"".$config['http_home_url']."index.php?do=".$modulname."&op=download&fileid=".$row['id']."\">");
		$tpl->set('[/title]',"</a>");

		$tpl->set('{description}', stripslashes("<div id='file-id-".$row['id']."'>".$row['description']."</div>"));
         
		 ##=========================== Показуем аттач (вот мой код) ====================================##
		 //$sql_select_att = "SELECT * FROM " . PREFIX . "_downloads_attach WHERE file_id = '$row[id]'";
		 //$row_att = $db->query($sql_select_att);
		 while($row_att = $db->query($sql_select_att)){
		 
		 				$tpl->set('{url_att}',"<a title=\"Прикрепленный файл: - ".$row_att['name']."\" href=\"".$config['http_home_url']."index.php?do=".$modulname."&op=showfile&lid=".$row_att['id']."\"><b>Скачать</b></a>");

		 
		 
		 
		 
		 }
		##=====================================================================================
		if ($user_group[$member_id['user_group']]['allow_hide'])
		$tpl->set_block("'\\[hide\\](.*?)\\[/hide\\]'si","\\1");
		else
		$tpl->set_block("'\\[hide\\](.*?)\\[/hide\\]'si","<div class=\"quote\">".$lang['news_regus']."</div>");
		$tpl->compile('content');
	}
	$tpl->copy_template = "<table border='0'   cellpadding='0' cellspacing='0' valign='top' width='100%'><tr>";
	$tpl->copy_template .= "<td align=\"right\">";
	$tpl->copy_template .= "<br>";
	$tpl->compile('content');
	$tpl->clear();
	$db->free($sql_result);
	#}

код который я вставлял снизу, он помечен комментариями
 
должно быть так:

PHP:
##==казуем аттач (Этото что я добавил для показа атача)=========## 
$sql_select_att = "SELECT * FROM " . PREFIX . "_downloads_attach WHERE file_id = '$row[id]'"; 
$query = $db->query($sql_select_att); 
while($row_att = $db->get_row($query)){ 
    $tpl->set('{url_att}',"<a title=\"Прикрепленный файл: - ".$row_att['name']."\" href=\"".$config['http_home_url']."index.php?do=".$modulname."&op=showfile&lid=".$row_att['id']."\"><b>Скачать</b></a>"); 
}
 
Помгло, только вот 2 проблемы появились :)

1. Почемуто не срабатывает цикл, тоесть допустим в базе 3 файла с file_id файла которого мы выводим, но почемуто выводтся только 1 результат, остальные куда-то пропали!
2. в тех файлах в которых нет аттачей, отображаются просто {url_att}. можно ли его както скрыть ?
 
1) Цикл не срабатывает потому что в цикле каждый раз одной и той же переменной присваивается новое значение, а надо накопить значения по всем прикрепленным файлам, а затем присвоить накопленное значение этой переменной.
2) Если прикрепленных файлов нет, то и цикл не выполняется, а значит и переменной {url_att} не присваивается никакого значения, на которое она должна быть заменена.

Эти проблемы решаются так:

PHP:
##==показываем аттач (Это то, что я добавил для показа атача)=========##  
$url_att = '';
$sql_select_att = "SELECT * FROM " . PREFIX . "_downloads_attach WHERE file_id = '$row[id]'";  
$query = $db->query($sql_select_att);  
while($row_att = $db->get_row($query)){  
    $url_att .= "<a title=\"Прикрепленный файл: - ".$row_att['name']."\" href=\"".$config['http_home_url']."index.php?do=".$modulname."&op=showfile&lid=".$row_att['id']."\"><b>Скачать</b></a>";
}
$tpl->set('{url_att}',"$url_att"); // если цикл не выполнялся, то будет присвоена пустая строка
 
Помогите пожалуста сделать проверку для прикрепляемых файлов!

вот код который отвечает за проверки, попытка вставки своей проверки приводит к ошибке^

Parse error: syntax error, unexpected T_ELSEIF in www\engine\modules\files\addfile.php on line 559

PHP:
##================================загрузка файла================================================##
		$MAX_SIZE = $filesConfig['maxsize'];

		$FILE_EXTS  = explode (",", $filesConfig['accepted_files']);
		$FILE_EXTS_ATT = explode (",", $filesConfig['accepted_files_att']); //добавленно
	
		foreach($FILE_EXTS as $value) $FILE_EXTS[] = ".".$value;
		foreach($FILE_EXTS_ATT as $value) $FILE_EXTS_ATT[] = ".".$value;   //добавленно

		$upload_dir = ROOT_DIR."/uploads/".$modul_filesdir."/$files_dir/";
		$upload_dir_att = ROOT_DIR."/uploads/".$modul_filesdir."/att/$files_dir/"; 

		if(!is_dir($upload_dir ))
		mkdir("$upload_dir", 0777);
		if(!is_dir($upload_dir_att ))
		mkdir("$upload_dir_att", 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");
		
		
		
		##++++++++++++++++++++++++++++++++++++++++++++++Проверка аттачей++++++++++++++++++++++++++++++++++++++++++++++##
		
		
		elseif (!empty($_FILES['subfile_1']['name'])) {   // это строка на которую ссылается ошибка
			$file_type_att_1 = $_FILES['subfile_1']['type'];
			$file_name_att_1 = FILES['subfile_1']['name'];
			$file_name_arr_att_1 = explode(".",$file_name);
			$type_att_1 = end($file_name_arr_att_1);
			$file_name_att_1 = totranslit (stripslashes($file_name_arr_att_1[0])).".".totranslit($type_att_1);
			$filesize1_att_1 = $_FILES['subfile_1']['size'];
			$file_ext_att_1 = strtolower(substr($file_name_att_1,strrpos($file_name_att_1,".")));
			
		
			if (!empty($_FILES['subfile_1']['name'])  ) {
				$filesize_att_1 = $filesize1_att_1;
			}
			if (empty($_FILES['subfile_1']['name'])  ) {
				$filesize_att_1 = $size * 1024;
				$file_name_att_1 = 0;
			}
			elseif ( $filesize1_att_1 > $MAX_SIZE)
			{
				echo "<center><b>Этот файл превышает максимально допустимый размер закачиваемого файла!</b></center><br>";
				$stop = "Code files 1";
			}

			//File Extension Check
			else if (!in_array($file_ext_att_1, $FILE_EXTS_ATT))
			{
				echo "<center>Извините, но такой тип файла - <b>$file_name_att_1($file_type_att_1)</b> не разрешён для загрузки</center><br>";
				$stop = "Code files 2";
				}
				
		}
		else
		{
			echo "<center><b>Файл не был задан!</b><center>";
			$stop = "Code files 5";
		}

		
		##+++++++++++++++++++++++++++++++++++++++++++ Конец проверки аттача певого файла++++++++++++++++++++++++++++++##


Мой код и строка на которую ссылается ошибка поечена комментариями!
 
где-то лишний elseif
Отформатируй текст и проверь все if/elseif/else
 
Разобрался с проверками но никак кне могу понять почему у меня показует размер только одного файла, а остальных 2-х пропускает!

PHP:
##=========================== Показуем аттач ====================================##
		
         $url_att = ''; 
		 $size_att = '';
         $sql_select_att = "SELECT * FROM " . PREFIX . "_downloads_attach WHERE file_id = '$row[id]'";   
         $query = $db->query($sql_select_att);   
          while($row_att = $db->get_row($query)){
                $url_att .= "<strong> Прикрепленный файл: $num_rows</strong>  <a title=\"Скачать файл - ".$row_att['name']."\" href=\"".$config['http_home_url']."uploads/".$modul_filesdir."/{$cat_i_down[$row['category']]['dir']}/{$row_att['name']}\"><b>{$row_att['name']}</b></a><br>";  
                $size_att = $row_att['size'];
				$mb_att = (1024 * 1024);
		if ($size_att > $mb)
		{
			$tpl->set('{size_att}', sprintf ("%01.2f", ($size_att/$mb_att)) . " Мб");
		}
		elseif ($row_att['size'] >= 1024)
		{
			$tpl->set('{size_att}', sprintf ("%01.2f", ($size_att/1024)) . " Кб");
		}
		else
		{
			$tpl->set('{size_att}', sprintf("%s байт", $size_att));
		}
		}
		$tpl->set('{url_att}',"$url_att"); // если цикл не выполнялся, то будет присвоена пустая строка 
		$tpl->set('{size_att}',"$size_att");

И еще один вопрос в конце этой строки я поставил <br> чтобы следующий аттач выводился с новой строки, а как теперь мне поставить {size_att} чтобы он выводился в одну строчку с прикрепленным файлом? Он выводится под файлом :(

PHP:
$url_att .= "<strong> Прикрепленный файл: $num_rows</strong>  <a title=\"Скачать файл - ".$row_att['name']."\" href=\"".$config['http_home_url']."uploads/".$modul_filesdir."/{$cat_i_down[$row['category']]['dir']}/{$row_att['name']}\"><b>{$row_att['name']}</b></a><br>";
 
в цикле While размер каждого файла записывается в одну и ту же переменную {size_att}. Можно сделать так:

PHP:
$mb = (1024 * 1024); 
while($row_att = $db->get_row($query)){ 
   $sz = $row_att['size']; 
   if ($sz > $mb) { 
     $size_att = sprintf ("%01.2f", ($sz/$mb)) . " Мб"; 
   } elseif ($sz >= 1024) { 
     $size_att = sprintf ("%01.2f", ($sz/1024)) . " Кб";
   } else { 
     $size_att = sprintf("%d байт", intval($sz)) ;
   } 
   $url_att .= "<strong> Прикрепленный файл: $num_rows (размер $size_att)</strong>  <a title=\"Скачать файл - ".$row_att['name']."\" href=\"".$config['http_home_url']."uploads/".$modul_filesdir."/{$cat_i_down[$row['category']]['dir']}/{$row_att['name']}\"><b>{$row_att['name']}</b></a><br>";   
} 
$tpl->set('{url_att}',"$url_att"); // если цикл не выполнялся, то будет присвоена пустая строка  
$tpl->set('{size_att}','');
А для чего здесь переменная $num_rows?:

PHP:
$url_att .= "<strong> Прикрепленный файл: $num_rows ...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху