【www.gdgbn.com--J2EE/EJB/服务器】

一个非常有用的方面, PHP是有能力管理文件上传到你的服务器。允许用户上传文件到您的服务器打开了一个整体的蠕虫病毒,所以请小心有利的文件上传。


PHP的-文件上传: H TML表单
在您可以使用PHP来管理您的上传,您必须先建立一个HTML表单,让用户选择要上传的文件。看到我们的HTML表单的教训进行更深入的研究形式。



Choose a file to upload:


www.111cn.net/phper/php.html

这是一个简短说明的重要组成部分,上面的代码:

是enctype = “ multipart /形式的数据” -要为我们将要建立的P HP文件的正常工作。
行动= “ uploader.php ” -的名字我们的P HP页面,将创建不久。
方法= “邮报” -通知浏览器,我们希望将信息发送到该服务器后使用。
输入类型= “隐藏”名称= “马... -集允许的最大文件大小,以字节为单位,可以上传。这种安全机制是很容易绕过,我们将显示了坚实的备份解决方案在P HP。我们已定下档案大小上限100KB为止在这个例子。
输入名称= “ uploadedfile ” -u ploadedfile是我们将如何存取档案在我们的P HP脚本。
保存这种形式的代码到文件中,并呼吁它upload.html 。如果您认为它在浏览器中它看起来应该如下:

显示:
 选择要上传的文件:
之后,用户点击提交,数据将张贴到服务器和用户将被重定向到uploader.php 。此PHP文件会的形式进程的数据和做的所有工作。

PHP的-文件上传:什么是P HP的怎么办?
现在,我们有权利HTML表单中我们可以开始代码的PHP脚本是要处理我们的上传。通常情况下, PHP文件应当作出重要决定,所有上传:保留档案或扔掉。文件可能是从扔掉的原因很多,其中包括:

该文件过大,你不想把它在您的服务器上。
你想的人上传图片并上传别的,像一个可执行文件( 。 exe ) 。
有问题的文件上传,因此你不能保持。
这个例子非常简单,忽略了代码,将增加这种功能。

PHP的-文件上传: u ploader.php
当uploader.php文件执行,上传的文件存在于一个临时存储区域的服务器上。如果该文件不是转移到不同的位置将被摧毁!为了节省宝贵的文件我们将要使用的变量$ _FILES关联数组。

通过$ _FILES数组PHP在哪里商店的所有信息档案。有两个因素这阵,我们需要了解这个例子。www.111cn.net/phper/php.html

uploadedfile -u ploadedfile是参考,我们在我们指定的H TML表单。我们将需要此通知通过$ _FILES阵列的文件,我们要玩。
变量$ _FILES [ " uploadedfile " ] [ "名称" ] -名称包含原始路径的用户上传文件。
变量$ _FILES [ " uploadedfile " ] [ " tmp_name " ] -t mp_name包含的路径,临时文件存放在服务器上。该文件应该存在于服务器的一个临时目录的临时名称。
现在,我们终于可以开始撰写一个基本的PHP脚本上传经理!以下是我们如何将获得的临时文件名,选择一个永久性的名称,并选择一个地方来存放档案。

// Where the file is going to be placed
$target_path = "uploads/";

/* Add the original filename to our target path. 
Result is "uploads/filename.extension" */
$target_path = $target_path . basename( $_FILES["uploadedfile"]["name"]); 

PHP的-文件上传: m ove_uploaded_file函数
现在,所有我们必须做的是调用move_uploaded_file功能,让PHP的尽自己的魔术。 move_uploaded_file职能的需要知道1 )道路的临时文件(检查! ) 2 )路径,它是转移到(检查! ) 。

$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!";
}

转载请注明: www.111cn.net/phper/php.html

本文来源:http://www.gdgbn.com/jsp/18173/