一个非常有用的方面, PHP是有能力管理文件上传到你的服务器。允许用户上传文件到您的服务器打开了一个整体的蠕虫病毒,所以请小心有利的文件上传。
PHP的-文件上传: H TML表单
在您可以使用PHP来管理您的上传,您必须先建立一个HTML表单,让用户选择要上传的文件。看到我们的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>
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
php接口的使用实例函数interface Ren1
{const XINGMING="张三";
function shuohua1();
function shuohua2();}
interface Ren2 extends Ren1
{function shuohua3();
function shuohua4();}
interface Ren3
{function shuohua5();}
interface Ren4
{function shuohua6();}
class Ren5
{function shuohua7()
{echo "7777<br>";}}
class Ren extends Ren5 implements Ren2,Ren3,Ren4
{function shuohua1()
{echo "1111<br>";}
function shuohua2()
{echo "2222<br>";}
function shuohua3()
{echo "3333<br>";}
function shuohua4()
{echo "4444<br>";}
function shuohua5()
{echo "5555<br>";}
function shuohua6()
{echo "6666<br>";}}
$r=new Ren();
echo Ren::XINGMING."<br>";
$r->shuohua1();
$r->shuohua2();
$r->shuohua3();
$r->shuohua4();
$r->shuohua5();
$r->shuohua6();
$r->shuohua7();
例输出:
张三
1111
2222
3333
4444
5555
6666
7777
PHP的-magic quotes
之前到PHP 6日有一个功能叫做magic quotes创建,以协助保护新手程序员写坏表格处理代码。magic quotes将自动躲避危险的表单数据可能被用于SQL注入用反斜杠 。该所字符转义的PHP包括:报价' ,双引号“ ,反斜线和NULL字符。
广告Tizag.com
然而,这个新手保护证明,造成更多的问题比解决的问题,而不是在PHP 6 。如果您的PHP版本的任何版本是6日之前,那么你应该使用这个教训,了解如何magic quotes可能会影响你。
magic quotes-他们使?
第一件事首先,你需要查看如果您有magic quotes使你的服务器。该get_magic_quotes_gpc函数将返回0 (关闭)或1 (上) 。这些布尔值适合成为一个很好的发言,如果其中1是真实的, 0是虚假的。
if(get_magic_quotes_gpc())
echo "Magic quotes are enabled";
else
echo "Magic quotes are disabled";
输出是与你php是否开启
magic quotes在行动
现在可以作出一个简单的形式显示处理器的机器如何与magic quotes将启用那些可能逃脱危险的人物。这种形式提交给自己,所以你只需要作一个文件, “魔法quotes.php ”来测试它。
<?php
echo "Altered Text: ".$_POST['question'];
?>
<form method='post'>
Question: <input type='text' name='question'/><br />
<input type='submit'>
</form>
去除反斜线-s tripslashes( )函数
在使用PHP的反斜线清除函数stripslashes它的智能添加一些magic quotes像我们的检查“ ,他们已启用? ”上述区段。这样,您不会不小心被删除斜线认为是合法的,今后如果你的PHP的magic quotes设置变化的未来。
<?php
echo "Removed Slashes: ";
// Remove those slashes
if(get_magic_quotes_gpc())
echo stripslashes($_POST['question']);
else
echo $_POST['question'];
?>
<form method='post'>
Question: <input type='text' name='question'/><br />
<input type='submit'>
</form>
PHP header 函数教程
定义和用法
header ( )函数发送一个原始HTTP头到客户端。
重要的是要看到,标题( )必须在任何所谓的实际产出发送(在PHP 4和以后,您可以使用输出缓冲来解决这个问题) :
<?php
// This results in an error.
// The output above is before the header() call
header('Location: http://www.example.com/');
?>
语法:
header(string,replace,http_response_code)
Parameter | Description |
---|---|
string | 必需的。指定的标题字符串发送 |
replace | 任择。指示是否标题应取代以前或添加第二个标题。预设值是true (将取代) 。假(允许多个标题同一类型) |
http_response_code | 任择。部队的HTTP响应代码到指定的值(可在PHP 4.3和更高) |
提示和说明
注:自PHP 4.4这一功能可以防止一个以上的标题发送一次。这是一个保护,防止头注入攻击。
范例1
防止页面缓存:
// Date in the past header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache"); header("Pragma: no-cache");
示例2
让用户将提示保存生成的PDF文件(内容处置标题是用来提供建议的文件名,并迫使浏览器来显示保存对话框) :
header("Content-type:application/pdf");
// It will be called downloaded.pdf header("Content-Disposition:attachment;filename='downloaded.pdf'");// The PDF source is in original.pdf readfile("original.pdf");
语法:
定义和用法
该文件( )读取一个文件到一个数组。
每个数组元素包含从该文件,与换行符仍然重视。
语法
file(path,include_path,context)
Parameter | Description |
---|---|
path | 文件路径 |
include_path | 任择。将此参数设置为'1 '如果你想搜寻档案中的include_path中(在php.ini中) ,以及 |
context | 任择。指定范围内的档案处理。背景是一组选项,可以修改的行为流。可以跳过用空。 |
提示和说明
提示:此功能成为二进制安全的PHP 4.3 。 (意思是这两个二进制数据,如图像和字符数据可以写入这个功能) 。
-------------------------------------------------- ------------------------------
例如print_r(file("test.txt")); ?>
输出。
Array ( [0] => a[1] => b. [2] => c, [3] => d? )