教你使文件PHP上传生效_PHP教程

WBOY
Libérer: 2016-07-15 13:26:59
original
834 Les gens l'ont consulté

PHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论。PHP是一种用于创建动态WEB页面的服务端脚本语言。如同ASP 和ColdFusion,用户可以混合使用PHP和HTML编写WEB页面,当访问者浏览到该页面时,服务端会首先对页面中的PHP命令进行处理,然后把处理后的结果连同HTML内容一起传送到访问端的浏览器。

但是与ASP或ColdFusion不同,PHP是一种源代码开放程序,拥有很好的跨平台兼容性。用户可以在Windows NT系统以及许多版本的Unix系统上运行PHP,而且可以将PHP作为Apache服务器的内置模块或CGI程序运行。除了能够精确的控制WEB页面的显示内容之外,用户还可以通过使用PHP发送HTTP报头。用户可以通过PHP设置cookies,管理用户身份识别,并对用户浏览页面进行重定向。PHP具有非常强大的数据库支持功能,能够访问几乎目前所有较为流行的数据库系统。此外,PHP可以与多个外接库集成,为用户提供更多的实用功能,如生成PDF文件等。

用户可以直接在WEB页面中输入PHP命令代码,因而不需要任何特殊的开发环境。在WEB页面中,所有PHP代码都被放置在“”中。此外,用户还可以选择使用诸如 等的形式。PHP引擎会自动识别并处理页面中所有位于PHP定界符之间的代码。

PHP脚本语言的语法结构与C语言和Perl语言的语法风格非常相似。用户在使用变量前不需要对变量进行声明。使用PHP创建数组的过程也非常简单。PHP还具有基本的面向对象组件功能,可以极大的方便用户有效组织和封装自己编写的代码。这里给大家介绍一下关于PHP上传的问题。

例子1. 使文件PHP上传生效

请查阅函数 is_uploaded_file() 和 move_uploaded_file() 以获取进一步的信息。以下范例处理由表单提供的文件上传。

<ol class="dp-xml">
<li class="alt"><span><span class="tag"></span><span class="tag-name">php</span><span> </span></span></li>
<li class=""><span>// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead  </span></li>
<li class="alt"><span>// of $_FILES.  </span></li>
<li class=""><span> </span></li>
<li class="alt">
<span>$</span><span class="attribute">uploaddir</span><span> = </span><span class="attribute-value">'/var/www/uploads/'</span><span>;  </span>
</li>
<li class="">
<span>$</span><span class="attribute">uploadfile</span><span> = $uploaddir . basename($_FILES['userfile']['name']);  </span>
</li>
<li class="alt"><span> </span></li>
<li class="">
<span>echo '</span><span class="tag"><span class="tag-name">pre</span><span class="tag">></span><span>';  </span></span>
</li>
<li class="alt"><span>if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {  </span></li>
<li class=""><span>   echo "File is valid, and was successfully uploaded.n";  </span></li>
<li class="alt"><span>} else {  </span></li>
<li class=""><span>   echo "Possible file upload attack!n";  </span></li>
<li class="alt"><span>}  </span></li>
<li class=""><span> </span></li>
<li class="alt"><span>echo 'Here is some more debugging info:';  </span></li>
<li class=""><span>print_r($_FILES);  </span></li>
<li class="alt"><span> </span></li>
<li class="">
<span>print "</span><span class="tag"></span><span class="tag-name">pre</span><span class="tag">></span><span>";  </span>
</li>
<li class="alt"><span> </span></li>
<li class="">
<span></span><span class="tag">?></span><span> </span>
</li>
</ol>
Copier après la connexion

接受PHP上传文件的脚本为了决定接下来要对该文件进行哪些操作,应该实现任何逻辑上必要的检查。例如可以用 $_FILES['userfile']['size'] 变量来排除过大或过小的文件,也可以通过 $_FILES['userfile']['type'] 变量来排除文件类型和某种标准不相符合的文件,但只把这个当作一系列检查中的第一步,因为此值完全由客户端控制而在 PHP 端并不检查。自 PHP 4.2.0 起,还可以通过 $_FILES['userfile']['error'] 变量来根据不同的错误代码来计划下一步如何处理。不管怎样,要么将该文件从临时目录中删除,要么将其移动到其它的地方。

如果表单中没有选择上传的文件,则 PHP 变量 $_FILES['userfile']['size'] 的值将为 0,$_FILES['userfile']['tmp_name'] 将为空。如果该文件没有被移动到其它地方也没有被改名,则该文件将在表单请求结束时被删除。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446565.htmlTechArticlePHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论。PHP是一种用于创建动态WEB页面的服务端脚本语...
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal