Вставка рисунков в новости без рисунков в CMS DLE
Импорт рисунков в новости на php. Создаем файл php в корне сайта, выставляем ваши настройки для базы и директории где находятся рисунки для вставки(количество рисунков должно быть больше или равно количеству постов в базе), делаем бэкап базы на всякий случай и запускаем скрипт открыв его в браузере.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | <?php //#### КОНФИГ ДАННЫЕ БАЗЫ РАСПОЛОЖЕНИЯ ФАЙЛОВ И ТД ########################### $dbName = 'baza_dle92'; $dbLogin = 'login'; $dbPassword = 'parol'; $prefix = 'dle'; $domen="http://dle92.ru/"; $dir = "uploads/img/"; //задаём имя директории с рисунками для вставки $img_parametry="vspace=\"5\" hspace=\"5\" border=\"0\" align=\"left\" "; //можно задать параметры для рисунков ####################################################################### //error_reporting(0); ini_set('max_execution_time',0); define ( 'DATALIFEENGINE', true ); define ( 'ROOT_DIR', dirname ( __FILE__ ) ); @include ('engine/data/config.php'); mysql_connect('localhost',$dbLogin,$dbPassword) or die('не могу подключиться через юзера'); mysql_select_db($dbName) or die('не могу подключиться к бд'); if(is_dir($dir)) { //проверяем наличие директории //echo $dir.' - директория существует;<br>'; $files = scandir($dir); //сканируем (получаем массив файлов) array_shift($files); // удаляем из массива '.' array_shift($files); // удаляем из массива '..' //print_r($files); $ccount_files = count($files); include_once 'engine/classes/thumb.class.php'; $query=mysql_query("SELECT * FROM ".$prefix."_post "); $count_post = mysql_num_rows($query); //echo $count_post; if($ccount_files >= $count_post){ $i = 0; while($posts=mysql_fetch_array($query)){ $short = $posts['short_story']; $full = $posts['full_story']; if($full =='') $full = $short; $title = $posts['title']; $filename = $files[$i]; $src = $dir.$filename; $imgsize=getimagesize($src); if($imgsize[0] > $config['max_image'] || $imgsize[1] > $config['max_image']){ $thumb = new thumbnail( $src); if( $thumb->size_auto( $config['max_image'] ) ) { $thumb->jpeg_quality( $config['jpeg_quality'] ); $thumb->save( "uploads/thumbs/" . $filename ); } if( @file_exists( "uploads/thumbs/" . $filename ) ); @chmod( "uploads/thumbs/" . $filename, 0666 ); } if(@$thumb){ $short="<a href=\"".$domen.$src. "\" onclick=\"return hs.expand(this)\" > <img ".$img_parametry." src=\"".$domen."uploads/thumbs/" . $filename."\" alt=\"".$title."\" title=\"".$title."\" /> </a> ".$short; $full="<a href=\"".$domen.$src."\" onclick=\"return hs.expand(this)\" > <img ".$img_parametry." src=\"".$domen."uploads/thumbs/" . $filename."\" alt=\"".$title."\" title=\"".$title."\" /> </a> ".$full; unset($thumb); } else { $short="<img src=\"".$domen. $src ."\" ".$img_parametry." alt=\"".$title."\" title=\"".$title."\"/> ".$short; $full="<img src=\"".$domen. $src ."\" ".$img_parametry." alt=\"".$title."\" title=\"".$title."\" /> ".$full; } //echo $short; $update=mysql_query("UPDATE ".$prefix."_post SET short_story='".$short."', full_story='".$full."' WHERE id='".$posts['id']."' LIMIT 1")or die(mysql_error()); $i++; } } else echo 'Недостаточно рисунков для вставки<br>'; } else echo $dir.' -такой директории нет;<br>'; ?> |
PS у себя проверял все работает на dle 9.2, но не забываем делать бэкап базы.
Надо бы еще добавить проверку есть ли в новости рисунок и если есть не вставлять