我正在努力制作CMS。我已经编辑了redactor,以便我可以使用它成功编辑文本。但是我现在正在将图像上传工作到文本编辑器中,并且遇到了一些我一直坚持的问题。
我已经能够进入可以选择要上传的图像的阶段......然后当它上传时,图像的路径正确地进入文本编辑器,但是图像似乎没有写入目录。
我在本地工作,并将目录设置为/ CMS / public / uploads /
这是我的上传功能。
<?php
// files storage folder
$dir = '/CMS/public/uploads/';
$_FILES['file']['type'] = strtolower($_FILES['file']['type']);
if ($_FILES['file']['type'] == 'image/png'
|| $_FILES['file']['type'] == 'image/jpg'
|| $_FILES['file']['type'] == 'image/gif'
|| $_FILES['file']['type'] == 'image/jpeg'
|| $_FILES['file']['type'] == 'image/pjpeg')
{
// setting file's mysterious name
$file = $dir.$_FILES['file']['name'];
// copying
move_uploaded_file($_FILES['file']['name'], $file);
// displaying file
$array = array(
'filelink' => $file
);
echo stripslashes(json_encode($array));
}
?>
此代码基本上告诉文件要复制到的位置。
有没有人知道为什么这可能不会复制目录?
由于
答案 0 :(得分:1)
我想这应该有用:将move_uploaded_file($_FILES['file']['name'], $file);
更改为move_uploaded_file($_FILES['file']['tmp_name'], $file);
$_FILES['file']['tmp_name']
是临时文件所在的位置,并从那里移动到指定的路径
稍微更改了您的代码:(希望这有效)
<?php
$type = strtolower($_FILES['file']['type']);
$allowed_type = array('image/png', 'image/jpg', 'image/gif', 'image/jpeg', 'image/pjpeg');
if(in_array($type, $allowed_type)) {
// setting file's mysterious name
$file = $_FILES['file']['name'];
$dir = '/CMS/public/uploads/'.$file;
// copying
move_uploaded_file($_FILES['file']['tmp_name'], $dir);
// displaying file
$array = array(
'filelink' => $file
);
echo stripslashes(json_encode($array));
}
?>