1

「致命的なエラー: 28 行目の /data/home/.../.../.../.../upload_image.php の非オブジェクトでメンバー関数 upload_image() を呼び出します」というエラーが表示されます. 関数 upload_image() は image.func.php ファイルにあり、エラーが見つかりません。upload_image() 関数はサムネイル関数であり、画像ハンドラー関数でもあるため、エラーが発生する可能性はかなりあると思います。エラー処理から詳細を取得しようとしていますが、この致命的なエラー以外は取得できません。

upload_image 関数は次のようになります。

    class Images{ 
private $db;

public function __construct($database) {
$this->db = $database;
}

public function upload_image($image_temp, $image_ext, $album_id) {
global $thumbs;
$image_name = $_FILES['image'] ['name'];
$time       = time();

$query = $this->db->prepare("INSERT INTO `images` VALUES (?, ?, ?, ?, ?, ?)");

$query->bindValue(1, $image_id);
$query->bindValue(2, $image_name);
$query->bindValue(3, $_SESSION['id']);
$query->bindValue(4, $album_id);
$query->bindValue(5, $time);
$query->bindValue(6, $image_ext);

try{

$query->execute();

$image_id = $this->db->lastInsertId();
$image_file = $image_id.'.'.$image_ext;

move_uploaded_file($image_temp, 'uploads/'.$album_id.'/'.$image_file);      

$thumbs->create_thumb('uploads/'.$album_id.'/', $image_file, 'uploads/thumbs/'.$album_id.'/');

$source_image = 'uploads/'.$album_id.'/'.$image_file;;
$destination = 'uploads/'.$album_id.'/'.$image_file;
$tn_w = 900;
$tn_h = 600;
$quality = 100;
$wmsource = 'watermark.png';    
   $this->image_handler($source_image,$destination,$tn_w,$tn_h,$quality,$wmsource);                                                                                             
}catch(PDOException $e){
die($e->getMessage());
}
}
}

ここでは、try および catch ブロックを使用してエラーに近づこうとしています。

init.php は次のようになります。

session_start();
require 'connect/database.php';
require 'classes/users.php';
require 'classes/general.php';
require 'classes/album.func.php';
require 'classes/image.func.php';
require 'classes/thumb.func.php';
require 'classes/bcrypt.php';

error_reporting(1);

$users      = new Users($db);
$general    = new General();
$albums     = new Albums($db);
$Images     = new Images($db);
$bcrypt     = new Bcrypt(12);
$thumbs     = new Create_thumb();

$errors = array();

if ($general->logged_in() === true)  {
$user_id    = $_SESSION['id'];
$user       = $users->userdata($user_id);
}

エラー報告が1に立っています。

エラーに近づく可能性は他にもありますか? ありがとう...

4

0 に答える 0