Correction status:qualified
Teacher's comments:
作业:
1. 文件上传的原理与实现
2. 实例演示构造函数的功能
3. 实例演示类继承的作用与功能
1. 文件上传的原理与实现
通过PHP 可以吧文件上传到服务器上
首先创建一个HTML表单
<html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <br /> <button id="btn">上传</button> </form> </body> </html>
点击 "运行实例" 按钮查看在线实例
<form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。
<input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。
注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。
<?php if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_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 "Stored in: " . $_FILES["file"]["tmp_name"] . "<br />"; echo "上传成功"; } ?>
点击 "运行实例" 按钮查看在线实例
2构造函数的功能
构造函数是类中的特殊方法,在类实例化时会被自动调用,可用来初始化对象成员
<?php class Demo04 { public $product; public $price; public function __construct($product, $price) { $this->product = $product; $this->price = $price; } } $obj =new Demo04('电脑', '5800');
点击 "运行实例" 按钮查看在线实例
3. 实例演示类继承的作用与功能
继承已为大家所熟知的一个程序设计特性,PHP 的对象模型也使用了继承。继承将会影响到类与类,对象与对象之间的关系。
比如,当扩展一个类,子类就会继承父类所有公有的和受保护的方法。除非子类覆盖了父类的方法,被继承的方法都会保留其原有功能。
继承对于功能的设计和抽象是非常有用的,而且对于类似的对象增加新功能就无须重新再写这些公用的功能。
class Demo05 { // 对象属性 public $product; public $price; // 构造方法 public function __construct($product, $price) { $this->product = $product; $this->price = $price; } // 对象方法 public function getInfo() { return '品名: ' .$this->product .', 价格: ' . $this->price . '<br>'; } } // 子类Sub1, 代码复用 class Sub1 extends Demo05 { // ... } // 实例化子类Sub, 尽管子类中无任何成员,但是它可以直接调用父类Demo05中的全部成员 $sub1 = new Sub1('手机', 3500); echo '总价: ' . $sub1->getInfo() . '<hr>';
点击 "运行实例" 按钮查看在线实例