我是一个初学者,正在尝试学习PHP。
我创建了一个名为Image的类(在一个名为image.php的文件中),它包含一些基本功能。我希望能够创造一个新的'与我的硬盘驱动器上的jpeg关联的图像对象,然后将该文件名作为参数传递给类中的函数,以便对其执行选项。
此时我想要做的就是让函数将图像输出到浏览器。目前,我调用它时显示功能正常,但我必须在功能代码中将文件命名为。如何在类外定义文件名,然后将其传递给类函数?
class Image
{
// property declaration
public $filename = 'Not set';
public function displayImage()
{
// File
$filename = imagecreatefromjpeg("9.jpg");
// Content type
header('Content-type: image/jpeg');
// Output
imagejpeg($filename);
}
}
尝试实例化并在此处调用:
include 'image.php';
$first = new Image();
$first->filename = "9.jpg";
$first->displayImage();
提前致谢!
答案 0 :(得分:1)
使用以下语法:
public function displayImage($image)
然后在您的函数中将其称为$ image而不是“9.jpg”
你可以调用函数:
displayImage("9.jpg");
答案 1 :(得分:0)
您需要更改语法:
class Image {
public $filename;
// This is the constructor, called every new instance
function __construct($imageurl="default.jpg") {
$this->$filename = $imageurl;
}
public function displayImage(){
header('Content-type: image/jpeg');
$img = imagecreatefromjpeg($this->filename);
imagejpeg($img);
}
}
您现在可以通过多种方式调用它:
include 'image.php';
// Option 1:
$first = new Image("9.jpg");
$first->displayImage();
// Option 2:
$second = new Image();
$second->filename = "9.jpg";
$second->displayImage();