Тема: Отправка Принт скрин в почте (Поддержка Dcms-Social/DS v.1.8.x-1.9.0) Онлайн (10 Aug 2019 в 18:58) нам потребуется 1. Таблица в бд mail_files [in] CREATE TABLE IF NOT EXISTS `mail_files` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_user` int(11) NOT NULL, `id_mail` int(11) NOT NULL, `name` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL, `ras` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`), KEY `time` (`time`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; [/in] 2. Создать папку sys/mail и выставить права 777 3. Файл screen.php тут стандартная шапка [in] $dаtа = $_POST[\'avatar\']; $NAME_FILE = substr_replace(sha1(microtime(true)), \'\', 12); mysql_query("INSERT INTO `mail_files` (`id_user`, `id_mail`, `name`, `ras`) VALUES (\'".$user[\'id\']."\', \'0\', \'".$NAME_FILE."\', \'png\')"); list($type, $dаtа) = explode(\';\', $dаtа); list(, $dаtа) = explode(\',\', $dаtа); $dаtа = bаsе64_decode($dаtа); file_put_contents(H.\'sys/mail/\' . $NAME_FILE. \'.png\', $dаtа); @chmod(H.\'sys/mail/\' . $NAME_FILE. \'.png\', 0777); $succes = true; $result = "success"; echo $result; [/in] 4. Открываем файл mail.php - где отправка сообщений после mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values(\'$user[id]\', \'$ank[id]\', \'".my_esc($msg)."\', \'$time\')"); вставим [in] $ID_MAIL = mysql_insert_id(); $res = mysql_query("SELECT * FROM `mail_files` WHERE `id_user` = \'".$user[\'id\']."\' AND `id_mail` =\'0\'"); while ($row = mysql_fetch_assoc($res)) { mysql_query("UPDATE `mail_files` SET `id_mail` = \'".$ID_MAIL."\' WHERE `id` = \'".$row[\'id\']."\' LIMIT 1"); } [/in] если у textarea нет id добавим id="screen", если есть оставляем и запомним наш id После </form> добавим [in] echo \'<img id="preview"></img>\'; [/in] После echo output_text($post[\'msg\'])."\\n"; вставим вывод наших файлов стили своими ручками, рекомендую display flex [in] echo "<div class=\'sort-file\'>"; $res = mysql_query("SELECT * FROM `mail_files` WHERE `id_user` = \'".$ank2[\'id\']."\' AND `id_mail` =\'".$post[\'id\']."\'"); while ($row = mysql_fetch_assoc($res)) { $ras = $row[\'ras\']; if ($ras==\'jpg\' || $ras==\'png\' || $ras==\'gif\' || $ras==\'jpeg\'){ echo \'<div class="sort-files">\'; echo \'<a href="/sys/mail/\'.$row[\'name\'].\'.\'.$row[\'ras\'].\'" target="_blank">\'; echo \'<div class="sort-files-img"><img src="/sys/mail/\'.$row[\'name\'].\'.\'.$row[\'ras\'].\'"></div>\'; echo \'<span>\'.$row[\'name_file\'].\'.\'.$row[\'ras\'].\'</span>\'; echo \'</a>\'; echo \'</div>\'; } else { echo \'<div class="sort-files">\'; echo \'<a href="/sys/mail/\'.$row[\'name\'].\'.\'.$row[\'ras\'].\'" target="_blank">\'.$row[\'name_file\'].\'.\'.$row[\'ras\'].\'</a>\'; echo \'</div>\'; } echo \'<div class="clear"></div>\'; } echo "</div>\\n"; [/in] теперь сам скрипт [in] <script> document.getElementById(\'тут id нашей textarea\').onpaste = function (event) { var items = (event.clipboarddаtа || event.originalEvent.clipboarddаtа).items; console.log(JSON.stringify(items) ); // find pasted image among pasted items var blob = null; for ( var i = 0; i < items.length; i++ ) { if (items[i].type.indexOf("image") === 0) { blob = items[i].getAsFile(); } } if (blob !== null) { var reader = new FileReader(); reader.onload = function(event) { console.log(event.target.result); document.getElementById("preview").src = event.target.result; myimg(event.target.result) }; reader.readAsdаtаURL(blob); } } function myimg(dаtа){ var formdаtа = new Formdаtа(); formdаtа.append(\'avatar\', dаtа); $.ajax({ type:\'POST\', url: \'/screen.php\', dаtа: formdаtа, cache:false, contentType: false, processdаtа: false, success:function(dаtа){ console.log(dаtа);//тут можно придумать анимацию загрузки }, error:function(dаtа){ console.log(dаtа); } }); } </script> [/in] если скрипт не срабатывает попробуйте подключить jQuery данный скрипт позволит вам отправлять скрины как вк, PrintScreenSysRq, а далее ctrl+V Источник: http://gix.su/forum/5/7/267/