Вставка рисунков в новости без рисунков в 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, но не забываем делать бэкап базы.
Надо бы еще добавить проверку есть ли в новости рисунок и если есть не вставлять

Leave a Reply

You must be logged in to post a comment.