我正在试图找出如何将图像上传到文件夹。我不想通过列出目录中的所有文件来列出它。
我想要做的是让用户插入一些值放入MySQL,然后在文件上传完成后取出文件名并将其插入MySQL字段“filename”。
事实上,我真的不知道如何在PHP中进行文件上传,更不用说如何在文件完全上传之前不将信息添加到数据库。有人可以帮帮我吗?
我还想知道如何将max filesize限制为一定的大小。我有一段时间没有关注技术了,所以我想知道现在几天平均数码相机拍摄照片的平均尺寸是多少?
答案 0 :(得分:1)
让我们确保我们在页面中有一个表单。让我们称之为form.php:
<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
然后我们在与form.php相同的文件夹中创建一个名为uploader.php的文件。
// change the username and password to your database information
mysql_connect("localhost", "username", "password");
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
// Here we will insert into the database
mysql_query("INSERT INTO fileuploads (filename) VALUES ('".$target_path."')");
现在确保你有一个名为fileuploads的表,其字段为“filename”。
不要忘记在form.php和uploader.php所在的文件夹中创建一个名为“uploads”的目录
我希望这对你有用。
答案 1 :(得分:0)
您可以通过此网址http://php.net/manual/en/function.move-uploaded-file.php中的示例轻松找到PHP文件上传详细信息 要验证大小,你应该在php中使用getimagesize()函数。请查看此处的示例代码http://php.net/manual/en/function.getimagesize.php
答案 2 :(得分:0)
好吧,你似乎已经把它分解成了自己的步骤,所以你似乎明白该怎么做。
您需要的第一件事是用PHP上传文件。你可以在上面找到一个教程here。您将需要一个HTML格式的表单和一个可以处理它的PHP文件。这也是您指定文件大小的地方。
示例HTML
<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
示例PHP
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
然后,一旦上传了文件,就需要将其存储在数据库中。您需要连接到您的数据库(tutorial here)
然后你需要将信息添加到表中,文件名在var $_FILES['uploadedfile']['name']
中,所以你需要一些代码
mysql_query("INSERT INTO files (Date, Filename)
VALUES ('$date', '$_FILES['uploadedfile']['name']')");
有关插入数据库的更多信息,请访问here