Я новичок, пытаясь изучить 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();
Заранее спасибо!
2 ответа
Вам нужно изменить синтаксис:
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();
Используйте этот синтаксис:
public function displayImage($image)
Затем укажите его в своей функции как $ image вместо «9.jpg».
И вы должны вызвать функцию:
displayImage("9.jpg");
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.
imagecreatefromjpeg($this->filename)