function Save($name)
{
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['file']['name']);
if(move_uploaded_file($_FILES['file']['name'], $target_path))
{
echo "The file ". basename( $_FILES['file']['name']).
" has been uploaded";
}
else
{
echo "There was an error uploading the file, please try again!";
}
//save
$link = mysql_connect('localhost', 'root', 'root');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
@mysql_select_db('test') or die( "Unable to select database");
$query = "INSERT INTO test (name)" .
"VALUES ('" . $name . "')";
mysql_query($query);
mysql_close();
}
所以插入发生但我无法看到我上传到uploads /目录的.txt文件。但是它插入了DB文件。文件的全名。
为什么?
答案 0 :(得分:0)
我怀疑是因为权限问题。请你检查你是否有足够的权限写入你上传的目录。给那个目录“写”访问权限
答案 1 :(得分:0)
您的上传显然是失败的,但是您的函数编写方式,无论如何数据库插入都会继续发生。对于初学者,您可能希望将//save
功能移动到if
语句(显示成功消息的位置)。然后,至少在没有上载的情况下您将无法获取数据库记录。
至于文件上传失败的原因,开始调查的一个好地方是:上传文件夹的存在和权限设置。
答案 2 :(得分:0)
试试这个:
ls -al
chmod 0777 /uploads
答案 3 :(得分:0)
您是否设置了表单的enctype
?
<form method="post" enctype="multipart/form-data" ...
多年前这对我来说经常被骗:)