2013-07-18 3 views
0

У меня есть загрузка файла php на месте, в котором целью формы является iframe.Загрузка фотографий не выгружает файлы размером более 2 МБ

Загружает файлы размером менее 2 МБ. Но ничего большего он не будет загружать. Я не вижу причин, почему это происходит в коде.

<div id="upload_wrapper"> 

<img src="../images/logo.png" alt="logo5" width="" height="" style="padding:0px;" /> 
<h3>Profile picture upload</h3> 

    <form id="upload" name="upload" enctype="multipart/form-data" method="post" action="index.php" target="upload_target"> 
    <input name="folder" type="hidden" value="<?php echo $folder ?>" /> 
    <input name="filename" type="hidden" value="<?php echo $filename ?>" /> 
    <input name="uploaded_file" type="file" size="5120" id="uploaded_file" /> 
    <input id="sent" name="sent" type="submit" value="Upload" /> 
    </form> 
</div> 
<div id="loading" style="background:url(ajax-loader.gif) no-repeat left; height:50px; width:370px; display:none;"> 
    <p style="margin-left:40px; padding-top:15px;">Uploading File... Please wait</p> 
</div> 
<div id="image_wrapper" style="display:none;"><p id="preview"></p></div> 
<iframe id="upload_target" name="upload_target" style="width:10px; height:10px; display:none"></iframe> 
</div> 

И Heres код загрузки PHP

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

$targetFolder = $_POST['folder'] . "/"; 
$filename2 = $_POST['filename']; 

if (!is_dir($targetFolder)) 
{ 
    mkdir($targetFolder, 0777); 
} 

    $tempFile = $_FILES['uploaded_file']['tmp_name']; 
    $targetPath = dirname(__FILE__) . '/' . $targetFolder; 
    $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['uploaded_file']['name']; 

    // Validate the file type 
    $fileTypes = array('jpg'); // File extensions 
    $fileParts = pathinfo($_FILES['uploaded_file']['name']); 

    if (in_array($fileParts['extension'],$fileTypes)) 
    { 
     $uploadfile = $targetFolder. basename($filename2 .".".$fileParts['extension']); 
     move_uploaded_file($tempFile,$uploadfile); 
     $fileName = $uploadfile; 
    } 

    echo "<div id='filename'>$fileName</div>"; 

} 
+0

Возможно, из-за конфигурации сервера/php, ограничивающей POST-данные до 2 МБ. –

+0

http://stackoverflow.com/questions/2184513/php-change-the-maximum-upload-file-size просто отредактируйте файл php.ini –

ответ

1

Возможно изменение конфигурации вашего PHP сервера поможет (пример 10Мб):

ini_set('upload_max_filesize', '10M'); 
0

убедитесь, что ваша поддержка конфигурации php.ini большой файлы. upload_max_filesize и post_max_size также вы можете изменить временную конфигурацию, используя ini_set, прежде чем обрабатывать процесс загрузки.

0

попробовать это может быть, это будет работать положить его в код, а затем попробовать

define ("MAX_SIZE","1000"); // put your max size value 
$size=filesize($_FILES['uploaded_file']['tmp_name']); 

//compare the size with the maxim size we defined and print error if bigger 
    if ($size > MAX_SIZE*1024) 
    { 
echo '<h1>You have exceeded the size limit!</h1>'; 
$errors=1; 
    } 

или еще вы должны изменить в php.ini, найденных в документе корень/PHP/php.ini

0

Вы можете изменить настройки своего сервера. Найдите файл php.ini и выполните поиск «upload_max_filesize»

Смежные вопросы