【问题标题】:PHP How can I get the file's name when it is too large?PHP 当文件太大时如何获取文件名?
【发布时间】:2014-12-29 07:12:52
【问题描述】:

文件太大时如何获取文件名?

我可以使用$_SERVER['CONTENT_LENGTH'] 获得它的长度,但是它的名字呢?

// check that post_max_size has not been reached
// convert_to_bytes is the function turn `5M` to bytes because $_SERVER['CONTENT_LENGTH'] is in bytes.
if (isset($_SERVER['CONTENT_LENGTH']) 
    && (int) $_SERVER['CONTENT_LENGTH'] > convert_to_bytes(ini_get('post_max_size'))) 
{
  // ... with your logic
  throw new Exception('File too large!');
}

例如,如果我上传 mp3,

very-large.mp3 (size 11MB)

我想知道它的名字是very-large.mp3 可以吗?还是我必须使用 javascript?

注意:

你会得到

Array()

当文件太大时使用$_FILES

那么你就不能得到$_FILES[file]["name"]

【问题讨论】:

  • 我不确定您到底在寻找什么,但您是在说$_FILES[file]["name"] and $_FILES[file]["size"]
  • 当文件太大时你会得到Array ( )$_FILES。那你怎么能得到$_FILES[file]["name"]???
  • 请不要用“php-5.5”标记问题,除非它们与 PHP 5.5 中的特定功能有关。不要使用标签告诉我们您使用的是哪个版本。

标签: javascript php upload


【解决方案1】:

因此,如果您有 <input type="file" name="userFile"/>,则使用它的名称从 $_FILES 全局变量中获取名称:echo "File {$_FILES['userFile']['name']} is too big.";

【讨论】:

  • 不,你会得到Array ( )$_FILES然后你怎么能得到$_FILES['userFile']["name"]???
  • AFAICS OP 想要获取由于大小限制而上传的文件的名称。在他的例子中,$_FILES 数组是空的,这就是他想说的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-28
  • 2013-05-02
  • 1970-01-01
  • 2011-07-08
  • 1970-01-01
  • 2016-03-08
相关资源
最近更新 更多