【发布时间】:2012-02-21 11:17:15
【问题描述】:
我想创建一个选项,让用户可以将照片上传到他们在网站上的个人资料。
当用户上传照片时,可以在根文件夹“C:\wamp\www”内生成一个带有用户登录 ID 的文件夹。换句话说,每个用户将有一个文件夹存储他们的个人资料图像,文件夹名称将是用户 ID。
这是我在 PHP 上的第一个项目,我不确定我的想法是否可行。 我需要一些帮助和指导才能走得更远。我将欣赏并充分利用这里给出的任何参考资料。提前致谢。
【问题讨论】:
标签: php
我想创建一个选项,让用户可以将照片上传到他们在网站上的个人资料。
当用户上传照片时,可以在根文件夹“C:\wamp\www”内生成一个带有用户登录 ID 的文件夹。换句话说,每个用户将有一个文件夹存储他们的个人资料图像,文件夹名称将是用户 ID。
这是我在 PHP 上的第一个项目,我不确定我的想法是否可行。 我需要一些帮助和指导才能走得更远。我将欣赏并充分利用这里给出的任何参考资料。提前致谢。
【问题讨论】:
标签: php
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
$UserId = $_SESSION_USER_ID;
$path = "C://wamp/www/images/";
mkdir($path,$UserId);
if (file_exists($path. $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
$path . $_FILES["file"]["name"]);
echo "Stored in: " . $path . $_FILES["file"]["name"];
}
}
?>
这里,$_SESSION_USER_ID 是您的用户登录 ID,它将在 C://wamp/www/images/ 中创建目录并在适当的目录中上传图像。
【讨论】:
您可能想完整阅读this tutorial,了解如何使用 PHP 上传文件。还有许多其他关于如何使用 PHP 上传文件的教程。只需谷歌“PHP文件上传”。如果您有什么要展示的或有任何理解问题,请询问。祝你好运!
【讨论】:
您应该记住,大多数系统对目录可以容纳的子目录和文件的数量都有限制。请查看此答案,了解有关组织目录结构https://superuser.com/questions/66331/what-is-the-maximum-number-of-folders-allowed-in-a-folder-in-linux 的一些替代建议。或者,任何严肃的实现都会考虑 Mongo GridFS 将图像保存在数据库中,而不是单独的文件中。
【讨论】: