我有一个上传表单,其中包含多个文件附件name =“attachment []”
我需要将上传的文件传递给处理文件保存的类中的函数(以及其他操作)。
功能:
public function saveFile($userId, $ticketId, $fileType, $fileName, $fileContent)
{
// Create directory
$this->createDirectory($ticketId);
$file = fopen(FILE_SAVE_PATH . "/" . $ticketId . "/" . $fileName, 'w');
fwrite($file, $fileContent);
fclose($file);
}
发送函数数据的循环
foreach($_FILES['attachment']['name'] as $index => $value)
{
$fw->models->file->saveFile(
$si->input->session('bug/userData/id'),
$ticketId,
'',
$_FILES['attachment']['name'][$index],
base64_encode($_FILES['attachment']['tmp_name'][$index]));
}
正如您所看到的,我已经尝试了base64_encode,图像被“保存”但是当我尝试打开它时它已损坏。
谢谢。
答案 0 :(得分:1)
看看这个http://www.tizag.com/phpT/fileupload.php似乎你遗漏了一些保存上传的细节。 BASE64_ENCODE($ _ FILES [ '附着'] [ 'tmp_name的值'] [$指数]));不是文件
在对数组做任何事情之前尝试print_r($ _ FILES)。
答案 1 :(得分:0)
public function saveUploadedFile($userId, $ticketId, $fileType, $fileName, $tempFile)
{
//create directory
$this->createDirectory($ticketId);
$savePath = FILE_SAVE_PATH . "/" . $ticketId . "/" . $fileName;
return (move_uploaded_file($tempFile, $savePath)) ? TRUE : FALSE;
}
通过将函数传递给临时路径来修复它,谢谢
$ _ FILES [ '附着'] [ 'tmp_name的值'] [$指数]