2013-07-18 95 views
0

我有一个PHP文件上传到位,其中表单目标是一个iframe。照片上传不上传大于2MB的文件

它上传的文件小于2mb罚款。但更大的东西不会上传。我在代码中看不到任何理由。

<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> 

而且继承人的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

可能是因为将POST数据限制为2MB的服务器/ php配置。 –

+0

http://stackoverflow.com/questions/2184513/php-change-the-maximum-upload-file-size只是编辑你的php.ini文件 –

回答

1

可能改变你的PHP服务器的配置将有助于(例如用于10MB):

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

确保你的php.ini配置支持大文件。 upload_max_filesizepost_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文件中发现的php.ini编辑/ php.ini中

0

您可以更改您的服务器设置。查找php.ini文件并搜索“upload_max_filesize”