【发布时间】:2016-11-14 07:09:22
【问题描述】:
最后一天我一直在努力解决这个问题。
基本上$_FILES['logo']['tmp_name']中设置的临时文件不存在。
文件显然正在上传,如下图print_r() of $_FILES:
Array
(
[logo] => Array
(
[name] => Channelcat.jpg
[type] => image/jpeg
[tmp_name] => /tmp/php26YfhY
[error] => 0
[size] => 152142
)
)
我的/tmp 目录上的文件权限显然是 777。我怀疑这个问题可能与它使用的共享主机有关。
下面基本上是我要对文件执行的操作。
$logo = $_FILES['logo'];
if($logo['size'] > (1024000)) {
die('File size is too large.');
}
$path = __DIR__ . '/uploads/'. $logo['name'];
move_uploaded_file($logo['tmp_name'], $path);
我尝试过使用 is_uploaded_file($logo['tmp_name']),它返回 false 和 realpath($logo['tmp_name']),它返回一个空字符串。
move_uploaded_file 不会出错,但也不会将文件移动到指定目录。
【问题讨论】:
-
php26YfhY是一个文件名。是的,文件不能有扩展名。 -
php26YfhY是文件名,那么Channelcat.jpg是什么?? -
@jayme_brereton $path = DIR 。 '/tmp/'。 $标志['名称'];你是什么路径变量输出
-
你必须检查 php.ini 文件中的
php_value upload_max_filesize 6M