Php 为什么加载功能在codeigniter中不起作用
这段代码不工作,不仅如此,当我使用This->load->library('email')或它的错误显示为Php 为什么加载功能在codeigniter中不起作用,php,codeigniter,codeigniter-4,Php,Codeigniter,Codeigniter 4,这段代码不工作,不仅如此,当我使用This->load->library('email')或它的错误显示为 "message": "Undefined property: App\\Controllers\\Epicureser1::$load", 这是我目前使用的代码 $config['upload_path'] = './uploads/'; $config['allowed_types'] = 'gif|jpg|p
"message": "Undefined property: App\\Controllers\\Epicureser1::$load",
这是我目前使用的代码
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 100;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$this->load->library('upload',$config);
您显示的代码不是Codeigniter 4的一部分,而是Codeigniter 3的一部分 这是上传文件的老方法。如果您正试图实现上传文件,那么可以使用IncomingRequest类来完成
$files = $request->getFiles();
// Grab the file by name given in HTML form
if ($files->hasFile('uploadedFile'))
{
$file = $files->getFile('uploadedfile');
// Generate a new secure name
$name = $file->getRandomName();
// Move the file to it's new home
$file->move('/path/to/dir', $name);
echo $file->getSize('mb'); // 1.23
echo $file->getExtension(); // jpg
echo $file->getType(); // image/jpg
}
那不是真正的图书馆。如果您正在寻找的是如何在CodeIgniter4中加载库,那么这实际上非常简单。假设您想使用电子邮件库
首先,您应该在app/Config/email.php上配置电子邮件设置
要发送电子邮件,您只需访问电子邮件服务:
$email = \Config\Services::email();
$email->setFrom('your@example.com', 'Your Name');
$email->setTo('someone@example.com');
$email->setCC('another@another-example.com');
$email->setBCC('them@their-example.com');
$email->setSubject('Email Test');
$email->setMessage('Testing the email class.');
$email->send();
现在让我们假设您想要创建一个自定义库,为此您应该在app/Libraries文件夹中创建类
<?php
namespace App\Libraries;
class Custom
{
public function myFunction()
{
return true;
}
}
正如维拉尔在他的评论中所说:
如果您使用的是Codeigniter 4,那么超级对象$this 用于加载各种库、模型等。。。已被删除。 你应该看看 codeigniter.com/user\u guide/installation/upgrade\u 4xx.html即使不是 完全完成它将指导您完成主要更改
显然,
Epicureser1
没有load
属性。要么是在错误的对象上调用该属性,要么是在代码尝试使用该属性时尚未设置该属性。也就是说,你给我们的工作机会很少。我们不知道“$this”在上下文中是什么,除了它的类名可能是App\Controllers\Epicureser1
为什么是这样,但是在codeigniter文档中调用库上传我猜Epicureser1
没有扩展正确的类或者缺少一个应该添加该属性的特性。但是如果没有看到Epicurer1中的代码,就很难说了。如果您发布了Epicureser1
(至少是顶部)的代码,我们可能会发现更多。如果您使用的是Codeigniter 4,超级对象$this
,用于加载各种库、模型等。。。已被删除。你应该看看,即使它还没有完全完成,它也会引导你完成主要的更改。是的,我正在使用codeigniter 4,但如何使用它来获取电子邮件和上载库我的目标是将base64解码图像保存到文件夹中
$custom = new \App\Libraries\Custom();
$giveMeTrue = $custom->myFunction();