Как да сложа лимит на качването?

if((int) $_FILES['file']['size'] > 15728640)
{
$errors[] = 'Файла е по-голям от 15МБ.';
}

Конвертирай си ги чрез Гугъл http://www.google.bg/search?hl=bg&source=hp&biw=&bih=&q=15+MB+to+kilobytes&btnG=Google+%D0%A2%D1%8A%D1%80%D1%81%D0%B5%D0%BD%D0%B5#sclient=psy&hl=bg&source=hp&q=15+MB+to+bytes&aq=f&aqi=&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=67cd347d8de5b4e9&biw=1007&bih=581
 
Търси в php.ini файла за upload_max_filesize.

PHP:
<?php
phpinfo();
?>

Виж тук каква е стойноста на upload_max_filesize и я смени на каквато стойност желаеш, но трябва да бъде във формата - ЧислоM.

M за мегабайт.

Дано това помогне ;)
 
alex3 каза:
if((int) $_FILES['file']['size'] > 15728640)
{
$errors[] = 'Файла е по-голям от 15МБ.';
}

Конвертирай си ги чрез Гугъл http://www.google.bg/search?hl=bg&source=hp&biw=&bih=&q=15+MB+to+kilobytes&btnG=Google+%D0%A2%D1%8A%D1%80%D1%81%D0%B5%D0%BD%D0%B5#sclient=psy&hl=bg&source=hp&q=15+MB+to+bytes&aq=f&aqi=&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=67cd347d8de5b4e9&biw=1007&bih=581
Като го добавя, рефрешва страницата само
 
alex3 каза:
Смени си името от кода с твоя.

$_FILES['file']['size']
Ами то е същото file :D
Ето кода:
PHP:
	<?php
	if($_POST['upload']) {
		$desc = htmlspecialchars($_POST['desc']);
		$expire = date("d.m.Y", strtotime("+7 days"));
		$file = $_FILES['file'];
		$tmp_name = $_FILES['file']['tmp_name'];
		$name = $_FILES['file']['name'];
		$format = end(explode(".", $name));
		if($format != "png" && $format != "gif" && $format != "jpeg" && $format != "jpg" && $format != "JPG" && $format != "PNG" && $format != "GIF" && $format != "js" && $format != "mp3" && $format != "rar" && $format != "html" && $format != "zip") {
			echo "Вие сте избрали файл с непозволен формат!<br />Позволени формати:<br /><b>.zip</b>, <b>.html</b>, <b>.js</b>, <b>.png</b>, <b>.gif</b>, <b>.jpg/jpeg</b>, <b>.mp3/jpeg</b> и <b>.rar</b>";
		}
if((int) $_FILES['file']['size'] > 7340032)
{
echo 'Файла е голям';
}
		else {
$string = "0123456789qwertyuiopasdfghjklzxcvbnm";
$new_string = str_shuffle($string);
$limit = 5;
$new_string = substr($new_string, 0, $limit);
			$location = "files/$new_string.$format";
			move_uploaded_file($tmp_name, $location);
			$run_q = mysql_query("INSERT INTO files VALUES ('', '$name', '$desc', '$location', '$expire')") or die(mysql_error());
			echo "Файла е успешно качен!<br />Линк
			<input type='text' value='http://vu2033.admincp.webhost.k3b.us/$location' />";
		}
	}
	?>
 
Я пробвай така:

PHP:
$errors = array();
$submit = (isset($_POST['submit'])) ? true : false;

if($submit)
{
    $desc = htmlspecialchars($_POST['desc']);
		$expire = date("d.m.Y", strtotime("+7 days"));
		$file = $_FILES['file'];
		$tmp_name = $_FILES['file']['tmp_name'];
		$name = $_FILES['file']['name'];
		$format = end(explode(".", $name));
		
		$forbidden_extensions = array(
        'png', 'gif', 'jpeg', 'jpg', 'js', 'mp3', 'rar', 'zip'
		);
		
		
		
		if(in_array(strtolower($format), $fobidden_extensions))
		{
        $errors[] = "Вие сте избрали файл с непозволен формат!<br />Позволени формати:<br /><b>.zip</b>, <b>.html</b>, <b>.js</b>, <b>.png</b>, <b>.gif</b>, <b>.jpg/jpeg</b>, <b>.mp3/jpeg</b> и <b>.rar</b>";
		}

    if((int) $_FILES['file']['size'] > 7340032)
    {
        $errors[] = "Файла е голям";
    }
    
    if(!sizeof($errors))
    {
        $string = "0123456789qwertyuiopasdfghjklzxcvbnm";
        $new_string = str_shuffle($string);
        $limit = 5;
        $new_string = substr($new_string, 0, $limit);
        $location = "files/$new_string.$format";
        move_uploaded_file($tmp_name, $location);
        $run_q = mysql_query("INSERT INTO files VALUES ('', '$name', '$desc', '$location', '$expire')") or die(mysql_error());

echo <<<EOD
Файла е успешно качен!<br />Линк
<input type='text' value='http://vu2033.admincp.webhost.k3b.us/$location' />
EOD;
    } else {
        echo implode('<br />', $errors);
    }
}
 
alex3 каза:
Я пробвай така:

PHP:
$errors = array();
$submit = (isset($_POST['submit'])) ? true : false;

if($submit)
{
    $desc = htmlspecialchars($_POST['desc']);
		$expire = date("d.m.Y", strtotime("+7 days"));
		$file = $_FILES['file'];
		$tmp_name = $_FILES['file']['tmp_name'];
		$name = $_FILES['file']['name'];
		$format = end(explode(".", $name));
		
		$forbidden_extensions = array(
        'png', 'gif', 'jpeg', 'jpg', 'js', 'mp3', 'rar', 'zip'
		);
		
		
		
		if(in_array(strtolower($format), $fobidden_extensions))
		{
        $errors[] = "Вие сте избрали файл с непозволен формат!<br />Позволени формати:<br /><b>.zip</b>, <b>.html</b>, <b>.js</b>, <b>.png</b>, <b>.gif</b>, <b>.jpg/jpeg</b>, <b>.mp3/jpeg</b> и <b>.rar</b>";
		}

    if((int) $_FILES['file']['size'] > 7340032)
    {
        $errors[] = "Файла е голям";
    }
    
    if(!sizeof($errors))
    {
        $string = "0123456789qwertyuiopasdfghjklzxcvbnm";
        $new_string = str_shuffle($string);
        $limit = 5;
        $new_string = substr($new_string, 0, $limit);
        $location = "files/$new_string.$format";
        move_uploaded_file($tmp_name, $location);
        $run_q = mysql_query("INSERT INTO files VALUES ('', '$name', '$desc', '$location', '$expire')") or die(mysql_error());

echo <<<EOD
Файла е успешно качен!<br />Линк
<input type='text' value='http://vu2033.admincp.webhost.k3b.us/$location' />
EOD;
    } else {
        echo implode('<br />', $errors);
    }
}
Пак така..
 
Сложи на бутона за изпращане name="submit" или смени $submit = (isset($_POST['upload'])) ? true : false;

Ето взаймствай с тоя код:

http://web-tourist.net/userfiles/4/4114.zip
 
Styl3rbg каза:
http://upload.penchev-bg.eu/
Като препрати цъкаш на Качи файл :)

Пробва ли с архива, който ти дадох ?

Ето ти го готов, така трябва да стане вече.

PHP:
$errors = array();
$submit = (isset($_POST['upload'])) ? true : false;

if($submit)
{
    $desc = htmlspecialchars($_POST['desc']);
                $expire = date("d.m.Y", strtotime("+7 days"));
                $file = $_FILES['file'];
                $tmp_name = $_FILES['file']['tmp_name'];
                $name = $_FILES['file']['name'];
                $format = end(explode(".", $name));
                
                $forbidden_extensions = array(
        'png', 'gif', 'jpeg', 'jpg', 'js', 'mp3', 'rar', 'zip'
                );
                
                
                
                if(in_array(strtolower($format), $fobidden_extensions))
                {
        $errors[] = "Вие сте избрали файл с непозволен формат!<br />Позволени формати:<br /><b>.zip</b>, <b>.html</b>, <b>.js</b>, <b>.png</b>, <b>.gif</b>, <b>.jpg/jpeg</b>, <b>.mp3/jpeg</b> и <b>.rar</b>";
                }

    if((int) $_FILES['file']['size'] > 7340032)
    {
        $errors[] = "Файла е голям";
    }
    
    if(!sizeof($errors))
    {
        $string = "0123456789qwertyuiopasdfghjklzxcvbnm";
        $new_string = str_shuffle($string);
        $limit = 5;
        $new_string = substr($new_string, 0, $limit);
        $location = "files/$new_string.$format";
        move_uploaded_file($tmp_name, $location);
        $run_q = mysql_query("INSERT INTO files VALUES ('', '$name', '$desc', '$location', '$expire')") or die(mysql_error());

echo <<<EOD
Файла е успешно качен!<br />Линк
<input type='text' value='http://vu2033.admincp.webhost.k3b.us/$location' />
EOD;
    } else {
        echo implode('<br />', $errors);
    }
}
 
legolas каза:
PHP:
(int) $_FILES['file']['size']

това (int) мисля, че е ненужно ...

Попринцип не е, но нищо не пречи да го има.Не разбирам манупулиране на форми, но все и дали може да се излъже такава форма, пак е хубаво да се проверява дали резултата е с числа.
 
да хубаво е да се проверява дали е с число но в случея не е проверка а преобразуване, и ако числото не е в границите на (int) числата ???? :) :) според мен е грешно в случея
 
legolas каза:
да хубаво е да се проверява дали е с число но в случея не е проверка а преобразуване, и ако числото не е в границите на (int) числата ???? :) :) според мен е грешно в случея

Кода проверява дали не повече от 15мб, така че не може да допусне число извън integer (2гб), но все пак може да си прав.Зависи дали може да се манипулира тая информация. :?:
 

Back
Горе