Php 移动上传的文件()错误。收到警告,无法移动文件
当我所做的只是将文件上传到数据库时,我的代码工作得非常好。但当我试图将它也存储在文件夹中时,我得到了一个警告:Php 移动上传的文件()错误。收到警告,无法移动文件,php,mysql,database,Php,Mysql,Database,当我所做的只是将文件上传到数据库时,我的代码工作得非常好。但当我试图将它也存储在文件夹中时,我得到了一个警告: Warning: move_uploaded_file(): Unable to move 'F:\xammp\xammp\tmp\php34C9.tmp' to 'uploads/' in F:\xammp\xammp\htdocs\custom-cms-praktis\main.php on line 47 我想我遗漏了一些重要的东西,但我想不出是什么-\这是我的代码: <
Warning: move_uploaded_file(): Unable to move 'F:\xammp\xammp\tmp\php34C9.tmp' to 'uploads/' in F:\xammp\xammp\htdocs\custom-cms-praktis\main.php on line 47
我想我遗漏了一些重要的东西,但我想不出是什么-\这是我的代码:
<?php
$server = "localhost";
$user = "root";
$password = "";
$db = "cms_development";
$conn = new mysqli($server,$user,$password,$db);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if (isset($_POST['username']) && isset($_POST['submit'])) {
$fileName = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];
$fileSize = $_FILES['file']['size'];
$fileType = $_FILES['file']['type'];
$author = $_POST['username'];
$email = $_POST['email'];
$fp = fopen($tmp_name, 'r');
$content = fread($fp, fileSize($tmp_name));
$content = addslashes($content);
fclose($fp);
if (!get_magic_quotes_gpc()) {
$fileName = addslashes($fileName);
}
if (move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/")) {
$query = "INSERT INTO upload (name, size, type, content, author, email ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content', '$author', '$email')";
mysql_query($query) or die('Error, Bad Query');
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
<form method="post" action="" enctype="multipart/form-data">
<input type="text" name="username" value="" placeholder="Name">
<input type="text" name="email" value="" placeholder="Email">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input type="file" name="file">
<input type="submit" value="Submit" name="submit">
</form>
</div>
检查文件夹“uploads/”是否存在
如果您不知道在哪个目录下工作,请使用
echo getcwd()代码>
打印
我认为应该在该目录中:F:\xammp\xammp\htdocs\custom cms praktis\uploads可能重复您确定该目录/上载。检查是否创建或权限问题,或者可能是代码文件和uploads/在同一目录中。@YagnikDetroja,lol,文件夹名称是“upload”而不是“uploads”。真不敢相信我错过了这样的机会。这有点尴尬,但是谢谢anyway@codeplus好的,很好,但是您将路径写为“上传”。如果文件夹名为upload,那么为什么要尝试在“uploads”中移动文件。在你的代码中检查这个。如果(move_uploads_file($_FILES[“file”][“tmp_name”],“uploads/”){仔细阅读您的代码,然后嘲笑其他人。