php но и малък проблем

StoyanDimitrov

Registered
Опитвам се да направа upload чрез php, но проблемът ми е, че не приема файлове по-големи от 2Мб?
Някакви идей защо?Мерси предварително!

<?php

$name = $_FILES["myfile"]["name"];
$type = $_FILES["myfile"]["type"];
$size = $_FILES["myfile"]["size"];
$temp = $_FILES["myfile"]["tmp_name"];
$error = $_FILE["myfile"]["error"];

if ($error > 0)
die("Error uploading file!Code $error.");
else
{

if($type == "image/png" || $size > 1000000)
{
die("That format is allowed!")
}
{
move_uploaded_file($temp,"uploaded/".$name);
echo "Upload complete";
}

}


?>
 
Защо слагаш die ?
Код:
<?php

$name = $_FILES["myfile"]["name"];
$type = $_FILES["myfile"]["type"];
$size = $_FILES["myfile"]["size"];
$temp = $_FILES["myfile"]["tmp_name"];
$error = $_FILE["myfile"]["error"];

if ($error > 0)
die("Error uploading file!Code $error.");
else
{

if($type == "image/png" || $size > 1000000){
move_uploaded_file($temp,"uploaded/".$name);
echo "Upload complete";
}

}


?>
 
всичко си работи. мога да прикачвам файлове без проблем, но почна ли да прикачвам файл с размер по-голям от 2мб, нищо не става и файла не е в папката
 
Код:
<?php

$name = $_FILES["myfile"]["name"];
$type = $_FILES["myfile"]["type"];
$size = $_FILES["myfile"]["size"];
$temp = $_FILES["myfile"]["tmp_name"];
$error = $_FILE["myfile"]["error"];

if ($error > 0)
die("Error uploading file!Code $error.");
else
{

if($type == "image/png" && $size > 1000000){
move_uploaded_file($temp,"uploaded/".$name);
echo "Upload complete";
}

}


?>
 
StoyanDimitrov каза:
всичко си работи. мога да прикачвам файлове без проблем, но почна ли да прикачвам файл с размер по-голям от 2мб, нищо не става и файла не е в папката

А колко искаш да е макс.големина на файла който може да се качва?

Защото в момента е така "ако файлът е картинка и размерът е над 1мб", а по-добре да е "ако файлът е картинка и размерът е по-малък или равен на 10мб" примерно :) демек

...

...

Код:
<?php

$name = $_FILES["myfile"]["name"];
$type = $_FILES["myfile"]["type"];
$size = $_FILES["myfile"]["size"];
$temp = $_FILES["myfile"]["tmp_name"];
$error = $_FILE["myfile"]["error"];

if ($error > 0)
die("Error uploading file!Code $error.");
else
{

 if($type == "image/png" && $size <= 10485760)
{
move_uploaded_file($temp,"uploaded/".$name);
echo "Upload complete";
}
else echo "type is not image or the size is over 10MB";

}


?>

:)
 
Проблема е от настройката на php, има лимит и по default той е 2MB. На кой хостинг си? :) Имаш ли възможност да променяш тези настройки

Пробвай така:

Код:
<?php

ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');

$name = $_FILES["myfile"]["name"];
$type = $_FILES["myfile"]["type"];
$size = $_FILES["myfile"]["size"];
$temp = $_FILES["myfile"]["tmp_name"];
$error = $_FILE["myfile"]["error"];

if ($error > 0) {
die("Error uploading file!Code $error.");
} else {
if($type == "image/png") {
move_uploaded_file($temp,"uploaded/".$name);
echo "Upload complete";
}
}
?>

edit: впрочем, махнах ограничението от файла, в момента максимума на качвам файл е 64MB, може да го промениш от първите редове ;)
едит2: това е доста прост ъплоуд, и има проблем с сигурността, предлагам ти след като приключиш да тестваш да направиш и проверка по разширение и exif_imagetype функцията
 
голям смях....
пробах всичките кодове и не става....просто не приема повече от 2мб
ок, нека почнем от начало! Да речем, че искам всякакъв тип файлове, не зависимо от екстеншъна и размера. Сървърът/хостингът си е мой, така че не е проблем в настройките.
Благодаря на всички ви за помоща
 
Добре, да пробваме така
Този код дава ли ти някаква php грешка след качването?
Код:
<?php
error_reporting(E_ALL);
ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');

$name = $_FILES["myfile"]["name"];
$type = $_FILES["myfile"]["type"];
$size = $_FILES["myfile"]["size"];
$temp = $_FILES["myfile"]["tmp_name"];
$error = $_FILE["myfile"]["error"];

if ($error > 0) {
die("Error uploading file!Code $error.");
} else {
if($type == "image/png") {
move_uploaded_file($temp,"uploaded/".$name);
echo "Upload complete";
}
}
?>
 
въпреки че ми дава грешка Notice: Undefined variable: _FILE in D:\Web Sites\Provisions\upload.php on line 10

продължава да си качва файлове по-малки от 2мб, но като пробвам 2057кб и показва същото съобщение, но файлът не е в папката
 

Back
Горе