【发布时间】:2014-01-03 03:12:38
【问题描述】:
我不想要一个具有多个属性的字段,我需要 3 个单独的输入,它们将存储在一个 MYSQL 行中。当我运行页面时,它只将第一个图像存储在数据库和文件系统中。我确定这与“tmp_name”有关,但我不知道如何修复它。
Array
(
[name] => banner_large.jpg
[type] => image/jpeg
[tmp_name] => C:\wamp\tmp\php3936.tmp
[error] => 0
[size] => 37536
)
Array
(
[name] => banner_medium.jpg
[type] => image/jpeg
[tmp_name] => C:\wamp\tmp\php3947.tmp
[error] => 0
[size] => 23017
)
Array
(
[name] => banner_small.jpg
[type] => image/jpeg
[tmp_name] => C:\wamp\tmp\php3948.tmp
[error] => 0
[size] => 13887
)
$ct = 0;
foreach ($_FILES as $value) {
$filearray[$ct] = $value;
$ct++;
}
foreach ($filearray as $file) {
if ($file['error'] != 0) {
// error: report what PHP says went wrong
$this -> errors[] = $this -> upload_errors[$file['error']];
return false;
} else {
$this -> temp_path = $file['tmp_name'];
$this -> type = $file['type'];
if ($loop == 0) {
$this -> filename = basename($file['name']);
$this -> size = $file['size'];
} elseif ($loop == 1) {
$this -> filenamem = basename($file['name']);
$this -> sizem = $file['size'];
} else {
$this -> filenames = basename($file['name']);
$this -> sizes = $file['size'];
}
return true;
}
}
请帮忙。
【问题讨论】:
-
你没有在任何地方定义
$loop?此外,此代码不会将图像保存在任何地方。尝试上传完整代码 -
谢谢,$loop 是之前创建的,但我没有增加它。感谢您的帮助,数据库现在存储了所有三个文件,但文件系统中仍然只存储一个文件。我会再次尝试追踪它。代码太大,无法全部上传。
标签: php file-upload file-io