move_uploaded_file - 最大文件大小问题

时间:2014-01-03 13:59:06

标签: php upload size

我正在尝试使用PHP在我的服务器上上传文件, 但它失败了:

move_uploaded_file()返回false。

我的文件是230,000个字符(224 ko)的文本文件

但是,如果我尝试将文件缩小到4500个字符,那么效果很好。

是否有最多的字符数?

<?php

$host="";
$user="";
$pass="";
//$db = mysql_connect($host,$user,$pass);
//mysql_select_db('paul_biaudet',$db);
$dossier = 'update-';

$fichier = basename($_FILES['avatar']['name']);

$taille_maxi = 100000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.txt','.doc');
$extension = strrchr($_FILES['avatar']['name'], '.'); 
//security
if(!in_array($extension, $extensions)) 
{
     $erreur = 'Vous devez uploader un fichier texte';
}
if($taille>$taille_maxi)
{
     $erreur = 'too big';
}
if($_FILES['avatar']['name']!='shapes.txt' && $_FILES['avatar']['name']!='routes.txt' ){
    $erreur='...';
}
if(!isset($erreur)) //no error :  upload
{

     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) 
     {
     ...
    }
else 
 {
      echo 'fail';
 }

而且......这是一次失败

1 个答案:

答案 0 :(得分:3)

检查你的html代码是否有MAX_FILE_SIZE,例如

<input type="hidden" name="MAX_FILE_SIZE" value="100000">

检查upload-max-filesize和post-max-size 看到: http://www.php.net/manual/fr/ini.core.php#ini.upload-max-filesize

http://www.php.net/manual/fr/ini.core.php#ini.post-max-size

结果是什么:

<?php
echo ini_get('upload-max-filesize'),'<br />'
,ini_get('post-max-size'),'<br />';
?>

修改

  

upload_max_filesize = 2M且post_max_size = 8M

...奇怪 尝试使用以下内容进行上传:

ini_set('upload-max-filesize', '10M');
ini_set('post_max_size', '10M');