Код: Выделить всё
if (function_exists('exif_imagetype') && ($filedata['extension'] == 'png'))
Код: Выделить всё
if (function_exists('exif_imagetype') && ($filedata['extension'] == 'png'))
Читаю, но немного торможу, т.к. опыта во всем этом крайне мало.
Код: Выделить всё
UPDATE phpbb_attachments SET real_filename = 'under_construction.jpg', extension = 'jpg', mimetype = 'image/jpg' WHERE attach_id = 1;
Код: Выделить всё
if (function_exists('exif_imagetype') && ($filedata['extension'] == 'png'))
{
$sql = 'UPDATE ' . phpbb_attachments . 'SET real_filename =' . $filedata['physical_filename'] . '.jpg' . 'SET extension = 'jpg'' . 'WHERE attach_id = ' . $filedata['attach_id'];
$this->db->sql_query($sql);
}
Семён Семёныч!
$filedata
Код: Выделить всё
print"<pre>";print_r($filedata);print"</pre>";
if (function_exists('exif_imagetype') && ($filedata['extension'] == 'png'))
Код: Выделить всё
$sql_data = array(
'real_filename' => $filedata['physical_filename'],
'extension ' => $filedata['extension'],
);
$sql = 'UPDATE ' . ATTACHMENTS_TABLE . '
SET ' . $this->db->sql_build_array('UPDATE', $sql_data) . '
WHERE attach_id = ' . $filedata['attach_id'];
mimetype
тоже наужно менять.debug
Код: Выделить всё
PHP Fatal error: Uncaught Error: Call to a member function sql_build_array() on null in /var/www/mysite$
Stack trace:
#0 [internal function]: vlad\image_convert\event\listener->upload_image_convert(Object(phpbb\event\data), 'core.modify_upl...', Object(phpbb$
#1 /var/www/mysite/vendor/symfony/event-dispatcher/EventDispatcher.php(184): call_user_func(Array, Object(phpbb\event\data), 'core.modify$
#2 /var/www/mysite/vendor/symfony/event-dispatcher/EventDispatcher.php(46): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch$
#3 /var/www/mysite/phpbb/event/dispatcher.php(60): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('core.modify_upl...', Obje$
#4 /var/www/mysite/phpbb/event/dispatcher.php(46): phpbb\event\dispatcher->dispatch('core.modify_upl...', Object(phpbb\event\data))
#5 /var/www/mysite/phpbb/attachment/up in /var/www/mysite/ext/vlad/image_convert/event/listener.php on line 65
__construct
) среди аргументов функции должна быть строка \phpbb\db\driver\driver_interface $db,
и соответственно в services.yml - '@dbal.conn'
Отправлено спустя 2 минуты 12 секунд:Sheer писал(а): 06.11.2014 22:27Обратите внимание: аргументы класса Sheer\mytest\controller\mytest размещаются строго в том же порядке, в каком они перечислены в списке аргументов функции __construct.
__construct
должна быть при этом стока
Код: Выделить всё
$this->db = $db;
А тут UPDATE два раза - так нужно?Sheer писал(а): 09.09.2017 15:13Код: Выделить всё
$sql = 'UPDATE ' . ATTACHMENTS_TABLE . ' SET ' . $this->db->sql_build_array('UPDATE', $sql_data) . ' WHERE attach_id = ' . $filedata['attach_id'];
Спасибо! Внес изменения, теперь не ругается, но теперь ничего не происходит. Уже всю голову поломал )))
Код: Выделить всё
public function upload_image_convert($event)
{
$is_image = $event['is_image'];
$filedata = $event['filedata'];
$destination_file = $this->phpbb_root_path . $this->config['upload_path'] . '/' . $filedata['physical_filename'];
if ($is_image)
{
if (function_exists('exif_imagetype') && ($filedata['extension'] == 'png'))
{
// вот тут нужен код замены имени файла, расширения, миметипа этого вложения в дб
// затем будет идти код конвертации png в jpg (он у меня есть и работает), вопрос только в расширении файла
}
}
}
Выполняется.Sheer писал(а): 09.09.2017 15:13А выполняется ли условие if (function_exists('exif_imagetype') && ($filedata['extension'] == 'png'))