如果您想在自己的网站页面实现文件上传功能,本文为您介绍通过PHP上传程序配置网页上的文件上传功能的方法。
前提条件
已安装FileZilla客户端。您可以单击
FileZilla下载FileZilla客户端。
说明 本文以FileZilla 3.59.1版本为例,请您以实际使用的FileZilla版本页面显示为准。
背景信息
本文提供的PHP上传程序属于实现网页文件上传功能的一种简单样例,包含php-upload.htm和php-upload.php两个文件。您也可以参考该样例中的代码编写自己的PHP上传程序,配置网页中不同风格的文件上传功能。
使用限制
- 本文仅适用于Linux操作系统云虚拟主机。
- 本示例中网站页面支持上传的文件大小小于50 KB。
- 本文上传的测试文件不支持中文命名形式,建议该文件采用英文形式进行命名。
操作步骤
- 打开代码编辑器(例如EditPlus)。
说明 您也可以根据自己的编程习惯选择其他代码编辑器。
- 分别复制如下示例代码并保存为php-upload.htm和php-upload.php文件。
注意 保存文件时,请您选择编码格式为ANSI格式,否则会引起乱码情况,如下图所示。

php-upload.htm文件的参考示例如下所示:
<html>
<body>
<form action="php-upload.php" method="post"
enctype="multipart/form-data">
<label for="file">文件名称:</label>
<input type="file" name="file" id="file" />
<input type="submit" name="submit" value="上传文件" />
</form>
</body>
</html>
php-upload.php文件的参考示例如下所示:
<?
if ($_FILES["file"]["size"] < 50000)
{
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 />";
if (file_exists($_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
$_FILES["file"]["name"]);
echo "Stored in: " . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>
- 使用FileZilla连接云虚拟主机。
- 创建任意目录(例如test),用于存放php-upload.htm和php-upload.php文件。
- 在云虚拟主机站点根目录/htdocs下的空白位置,右键单击鼠标,单击创建目录(C),创建任意目录(例如test)。
- 在创建目录对话框中,请输入将要创建的目录名(例如/htdocs/test),单击确定(O)。
- 设置新建目录的读取、写入和执行权限。
- 右键单击test目录后,单击文件权限(F)。
- 在改变文件属性页面,选中所有读取、写入和执行权限后,单击确定(O)。
文件的权限设置如下图所示:

- 选择本地主机上保存的php-upload.htm和php-upload.php文件,通过FileZilla上传到刚才创建的test目录中。
- 在浏览器中访问
http://您的域名/test/php-upload.htm
,如下图所示。
- 单击选择文件,在弹出的对话框中选择您需要上传的测试文件。
说明 本步骤以testfile.txt测试文件为例,您也可以选择其他类型的文件进行上传测试。
- 单击上传文件。
本示例中文件上传成功如下图所示,页面会显示上传的文件名称、文件类型以及文件大小等信息。您可以在网站目录
/htdocs/test中查看到已上传的
testfile文件。

说明 文件上传过程中,在PHP的临时文件夹会创建一个上传文件的临时副本,该临时副本会在程序运行结束时消失,并且会被自动保存在网站目录/htdocs/test中。