我尝试将文件上传到我的服务器也发送到我的数据库。
但是,我无法上传它们。
我可以通过以下代码看到我的两个文件,
echo $_FILES['file']['name'][0];
echo $_FILES['file']['name'][1];
$fileName = $_FILES['file']['name'][0];
$add = "img01.imgsinemalar.com/images/haber_anasayfa/" . $fileName;
if (move_uploaded_file($_FILES[file_up][tmp_name], $add)) {
NCore::db('NEWS')->insertAsArray(array('CONTENT' => $_POST['TvSpotdesc'], 'ADD_DATE' => $date, 'TITLE' => $_POST['newsTitle'],IMAGE_MAIN => $add))->execute();
echo "Haber başarıyla gönderildi.";
} else {
echo "Failed to upload file Contact Site admin to fix the problem";
}else {
echo $msg;
}
但是上面的代码没有上传我的文件,它会直接转到else语句,为什么?
无法上传文件请联系网站管理员以解决问题
答案 0 :(得分:1)
您的代码应输出两个通知并从此行发出警告:
if (move_uploaded_file($_FILES[file_up][tmp_name], $add)) {
这两个通知是因为您没有引用file_up
和tmp_name
以及警告,告知您move_uploaded_file
失败的原因as documented。您应该查看日志以便自己查看这些日志(开发时没有看到任何错误消息并不好玩)。
原因失败的原因是您无法将文件移动到远程服务器 - $add
不是本地路径。
答案 1 :(得分:0)
将$_FILES[file_up][tmp_name]
重命名为$_FILES['file']['tmp_name']
根据您粘贴的代码,没有file_up
这样的变量。此外,文件只能存储在同一台服务器上。所以改为相对路径,如/home/www/myapp/images/
而不是服务器名称。