apache 0 Опубликовано: 26 июня 2007 Рассказать Опубликовано: 26 июня 2007 За такой модуль немалое! Есть люди которые не зарабатывают денег на сайте, и посему 25 бачей за мод это немало, особенно если принять во внимание то что цена самого двига ненамного больше Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 26 июня 2007 Рассказать Опубликовано: 26 июня 2007 apache, я же расписал вам путь решения вашей проблемы. "А воз и ныне там" © Цитата Ссылка на сообщение Поделиться на других сайтах
dataman 0 Опубликовано: 26 июня 2007 Рассказать Опубликовано: 26 июня 2007 lifestar, Ну, если у Вас уже есть не только рецепт , как приготовить чудо снадобье, а и сама панацея - может , паделитесь с софорумцами ? Тем более , что , вы блин сами можете такой же за пару часов написать. Цитата Ссылка на сообщение Поделиться на других сайтах
apache 0 Опубликовано: 27 июня 2007 Рассказать Опубликовано: 27 июня 2007 Вото вот Просто тут к сожалению не все владеют PHP и то что для вас пустяк для некоторых непосильный труд! я например специализируюсь в раскрутке Цитата Ссылка на сообщение Поделиться на других сайтах
dataman 0 Опубликовано: 27 июня 2007 Рассказать Опубликовано: 27 июня 2007 Так оно и понятно . Истинные гуру ПХП не пользуютця чудесным ДЛЕ, но всё ищщут и ищщут. Недостатки, методы оптимизации, новые решения .. и всё время забывают найденное реализовать. А знающие общие принцыпы, м в совершенистке владеющие Ctrl C + Сtrl V обмениваются мыслями об улучшкении, пожеланиями и иногда чегото сами там незначительно улучшают . Кажнаму сваё Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 27 июня 2007 Рассказать Опубликовано: 27 июня 2007 (изменено) Модуля у меня нет, но вот вам кусок кода из админки галереи лайфстар (по нему можно многое понять, ибо ничего сложного нет). /*****************************/ /* загружаем архив с фотками */ /*****************************/ // С локального компьютера if (!$imageurl) { $images = $_FILES['file']['tmp_name']; $images_name = $_FILES['file']['name']; $images_size = $_FILES['file']['size']; $img_name_arr = explode(".",$images_name); $type = strtolower(end($img_name_arr)); if ($type!='zip') msg("error","Ошибка !!!","Файл должен быть архивом ZIP!", "java script:history.go(-1)"); if($image_size > (5000*1024)) msg("error","Ошибка !!!","Файл слишком большой! Максимальный размер: 50Мб", "java script:history.go(-1)"); if($images_name != "") $images_name = totranslit(stripslashes($img_name_arr[0])).".".$type; // Создаём папку с альбомом, для этого делаем запрос, чтобы получить последнее ID $row = $db->super_query("SELECT id FROM " . PREFIX . "_photo ORDER BY 'id' DESC LIMIT 0,1"); $last_id = $row['id']; $new_id = $last_id+1; if (!is_dir(ROOT_DIR."/img/photo/".$new_id)) @mkdir (ROOT_DIR."/img/photo/".$new_id, 0755); else msg("error","Ошибка !!!","Директория для этого фотоальбома под номером $new_id уже существует.", "java script:history.go(-1)"); $current_photo_dir = ROOT_DIR.'/img/photo/'.$new_id; @move_uploaded_file($images, $current_photo_dir.'/'.$images_name); if(@file_exists($current_photo_dir.'/'.$images_name)) @chmod ($current_photo_dir.'/'.$images_name, 0666); } else { // С удалённого URL // Создаём папку с альбомом, для этого делаем запрос, чтобы получить последнее ID $row = $db->super_query("SELECT id FROM " . PREFIX . "_photo ORDER BY 'id' DESC LIMIT 0,1"); $last_id = $row['id']; $new_id = $last_id+1; if (!is_dir(ROOT_DIR."/img/photo/".$new_id)) @mkdir (ROOT_DIR."/img/photo/".$new_id, 0755); else msg("error","Ошибка !!!","Директория для этого фотоальбома под номером $new_id уже существует.", "java script:history.go(-1)"); $current_photo_dir = ROOT_DIR.'/img/photo/'.$new_id; $imageurl = str_replace("\\", "/", $imageurl);//" $images_name = end (explode ("/",$imageurl)); $img_name_arr = explode(".",$images_name); $type = end($img_name_arr); $image_size = @filesize_url($imageurl); if ($type!='zip') msg("error","Ошибка !!!","Файл должен быть архивом ZIP!", "java script:history.go(-1)"); if($images_name != "") $images_name = totranslit(stripslashes($img_name_arr[0])).".".totranslit($type); @copy($imageurl, $current_photo_dir.'/'.$images_name); } //**********************************************// // Разархивируем Фотки // //**********************************************// // Подключаем библиотеку PCL Zip require_once(ENGINE_DIR.'/inc/lib/pclzip.lib.php'); // Создаем объект $zip. Передаем имя архива. if(@file_exists($current_photo_dir.'/'.$images_name)) $zip = new PclZip($current_photo_dir.'/'.$images_name); else die('Файл не загружен'); $content = $zip->extract(PCLZIP_OPT_PATH, $current_photo_dir); // Удаляем архив @unlink ($current_photo_dir.'/'.$images_name); ///////// Создаём превьюшки //////////////// include_once ENGINE_DIR.'/inc/makethumb.php'; @mkdir ($current_photo_dir."/thumbs", 0755); if ($handle = opendir($current_photo_dir)) { $i=1; while (false !== ($file = readdir($handle))) { if ($file!='.' && $file!='..' && $file!='thumbs') { // Список разрешённых файлов $allowed_extensions = array("gif","jpg","png"); $file_arr = explode(".",$file); $file_type = strtolower(end($file_arr)); if (in_array($file_type, $allowed_extensions)) { // ******* // Переименовываем файлы // Новое имя файла $new_name='/'.$file; $thumb=new thumbnail($current_photo_dir.$new_name); // создаём превьюшку if ($thumb->size_auto(140)) { $thumb->jpeg_quality(80); $thumb->save($current_photo_dir."/thumbs".$new_name); } if (@file_exists($current_photo_dir."/thumbs".$new_name)) @chmod ($current_photo_dir."/thumbs".$new_name, 0666); // накладываем на большое фото лого $thumb=new thumbnail($current_photo_dir.'/'.$new_name); $thumb->insert_watermark(300); $thumb->save($current_photo_dir.'/'.$new_name); $i++; // Удаляем все не графические файлы } else @unlink ($current_photo_dir.'/'.$file); } } closedir($handle); } Тут несколько строчек лишних (раньше я переименовывал файлы, ну да разберётесь) Изменено 27 июня 2007 пользователем lifestar Цитата Ссылка на сообщение Поделиться на других сайтах
Гость Опубликовано: 28 июня 2007 Рассказать Опубликовано: 28 июня 2007 <#thank#> Цитата Ссылка на сообщение Поделиться на других сайтах
hazir 0 Опубликовано: 23 декабря 2007 Рассказать Опубликовано: 23 декабря 2007 купите за 10$ платный мод Цитата Ссылка на сообщение Поделиться на других сайтах
GREY-SPB 0 Опубликовано: 23 декабря 2007 Рассказать Опубликовано: 23 декабря 2007 Открываем следующий файлик: /engine/inc/files.php Ищем там строчку: if($_REQUEST['subaction'] == "upload") { ПЕРЕД ней вставляем следующий код: function ClearDir($fdir) { $dir = opendir($fdir); while ($file = readdir($dir)) { if ($file != '.' and $file != '..' and $file != '.htaccess' and $file != 'system'){ @unlink($fdir . '/' . $file); } } } if($_REQUEST['subaction'] == "uploadzip") { $current_image = "fromzip"; $image = $_FILES[$current_image]['tmp_name']; $image_name = $_FILES[$current_image]['name']; $image_size = $_FILES[$current_image]['size']; $img_name_arr = explode(".",$image_name); $type = end($img_name_arr); if ($type != "zip") { $img_result = "<div><font color=red>Разрешена загрузка только архивов zip.</font></div>"; } else { $result_img = ROOT_DIR. "/zip/" . $image_name; @move_uploaded_file($image, $result_img) or $img_result = "<div><font color=red>$lang[images_uperr_3]</font></div>"; } if ($img_result == '') { include_once ENGINE_DIR.'/inc/pclzip.lib.php'; $arc = new PclZip( $result_img ); if ($arc->extract(PCLZIP_OPT_PATH, ROOT_DIR . '/zip/unziped' ) == 0) { ClearDir(ROOT_DIR . '/zip'); ClearDir(ROOT_DIR . '/zip/unziped'); die("Error : " . $arc->errorInfo(true)); } $file_prefix = time()."_"; $fdir = ROOT_DIR . '/zip/unziped'; $dir = opendir($fdir); while ($file = readdir($dir)) { if ($file != '.' and $file != '..' and $file != '.htaccess' and is_file($fdir. '/' . $file)){ $img_name_arr = explode(".",$file); $type = end($img_name_arr); if (!in_array($type, $allowed_extensions)) continue; $imageurl = $fdir. '/' . $file; $image_name = $file; if (!is_dir(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX)) { @mkdir(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX, 0777); @chmod(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX, 0777); @mkdir(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/thumbs", 0777); @chmod(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/thumbs", 0777); } if (!is_dir(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX)) { echo "Directory Error /uploads/posts/".FOLDER_PREFIX."/ cannot created."; die(); } @copy($imageurl, ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/".$file_prefix.$image_name) or $img_result = "<div><font color=red>$lang[images_uperr_3]</font></div>"; if (file_exists(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/".$file_prefix.$image_name)) { @chmod (ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/".$file_prefix.$image_name, 0666); $img_result .= "<div><font color=green>$current_image -> $lang[images_upok]</font></div>"; $row = $db->super_query ("SELECT COUNT(*) as count FROM " . PREFIX . "_images where author = '$author' AND news_id = '$add_id'"); if (!$row['count']) { $added_time = time()+ ($config['date_adjust']*60); $inserts = FOLDER_PREFIX."/".$file_prefix.$image_name; $db->query ("INSERT INTO " . PREFIX . "_images (images, author, news_id, date) values ('$inserts', '$author', '$add_id', '$added_time')"); } else { $row = $db->super_query ("SELECT images FROM " . PREFIX . "_images where author = '$author' AND news_id = '$add_id'"); if ($row['images'] == "") $listimages = array(); else $listimages = explode("|||", $row['images']); $error_image = ""; foreach ($listimages as $dataimages) { if ($dataimages == FOLDER_PREFIX."/".$file_prefix.$image_name) $error_image = "stop"; } if ($error_image != "stop") { $listimages[] = FOLDER_PREFIX."/".$file_prefix.$image_name; $row['images'] = implode("|||", $listimages); $db->query ("UPDATE " . PREFIX . "_images set images='$row[images]' where author = '$author' AND news_id = '$add_id'"); } } include_once ENGINE_DIR.'/inc/makethumb.php'; $thumb=new thumbnail(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/".$file_prefix.$image_name); if ($thumb->size_auto($config['max_image'])) { $thumb->jpeg_quality($config['jpeg_quality']); if ($config['allow_watermark'] == "yes") $thumb->insert_watermark($config['max_watermark']); $thumb->save(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/thumbs/".$file_prefix.$image_name); @chmod (ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/thumbs/".$file_prefix.$image_name, 0666); } if (file_exists(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/thumbs/".$file_prefix.$image_name)) $img_result_th .="<div><font color=blue>$current_image -> $lang[images_thok]</font></div>"; $config['max_up_side'] = intval($config['max_up_side']); if ($config['allow_watermark'] == "yes" OR $config['max_up_side']) { $thumb=new thumbnail(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/".$file_prefix.$image_name); $thumb->jpeg_quality($config['jpeg_quality']); if ($config['max_up_side']) $thumb->size_auto($config['max_up_side']); if ($config['allow_watermark'] == "yes") $thumb->insert_watermark($config['max_watermark']); $thumb->save(ROOT_DIR."/uploads/posts/".FOLDER_PREFIX."/".$file_prefix.$image_name); } }//if file is uploaded succesfully } } ClearDir(ROOT_DIR . '/zip'); ClearDir(ROOT_DIR . '/zip/unziped'); } } Далее ищем такой кусок кода: echo <<<HTML <div class="hr_line"></div> <div style="padding:4px;">{$img_result}{$img_result_th}</div> </form> HTML; ПОСЛЕ него вставляем: echo <<<HTML <form action='' method='post' enctype="multipart/form-data"> <input type="hidden" name="subaction" value="uploadzip"> <input type="hidden" name="area" value="{$area}"> <input type="hidden" name="images_number" id="images_number" value="1"> <div class="unterline"></div> <table id="tblSample" class="upload"> <tr id="row"> <td> Zip-архив с фото: <br /><input type="file" size="70" name="fromzip"> <input type="submit" class="buttons" value=" {$lang['db_load_a']} "> </td> </tr> </table> <div class="hr_line"></div> </form> HTML; На этом подготовка для загрузки zip-архива закончена, теперь добавим кнопку "Вставить все сразу", это делается в этом же файле. Ищем кусок кода: $listimages = explode("|||", $row['images']); $i = 0; $this_size_2 = 0; $total_size = 0; ПОСЛЕ него добавляем: $insert_all = ""; Далее ищем такой кусок: if (!$wysiwyg) $thumb_link="<a class=maintitle href=\"java script:insertthumb('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."','')\">$dataimages</a>"; else $thumb_link="<a class=maintitle href=\"java script:insertthumb('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."', '".$config['http_home_url']."uploads/posts/".$folder_prefix."thumbs/".$dataimages."')\">$dataimages</a>"; } else { $thumb_link="<a class=maintitle href=\"java script:insertimage('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."')\">$dataimages</a>"; } ЗАМЕНЯЕМ его (целиком) на следующий: if (!$wysiwyg) { $thumb_link="<a class=maintitle href=\"java script:insertthumb('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."','')\">$dataimages</a>"; $insert_all .= "insertthumb('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."','');"; } else { $thumb_link="<a class=maintitle href=\"java script:insertthumb('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."', '".$config['http_home_url']."uploads/posts/".$folder_prefix."thumbs/".$dataimages."')\">$dataimages</a>"; $insert_all .= "insertthumb('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."', '".$config['http_home_url']."uploads/posts/".$folder_prefix."thumbs/".$dataimages."');"; } } else { $thumb_link="<a class=maintitle href=\"java script:insertimage('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."')\">$dataimages</a>"; $insert_all .= "insertimage('".$config['http_home_url']."uploads/posts/".$folder_prefix.$dataimages."');"; } И предпредпоследний штрих, ищем строчку: <td colspan=4 align=\"right\"><input class=edit type=submit value=' $lang[images_del] '> ЗАМЕНЯЕМ ее на эту: <td colspan=4 align=\"right\"><input class=edit type=button value=' Вставить все сразу ' onclick=eval(\"$insert_all\");> <input class=edit type=submit value=' $lang[images_del] '> Вот собсно и все. Файлик можно закрывать. Предпоследнее что осталось - скачать библиотеку для работы с zip-архивами >>> и распаковать ее в папку: /engine/inc/ И последнее: создаем в корне двига (там где лежат index.php и admin.php) папку "zip", а в ней подпапку "unziped", и ставим на обе папки права доступа "777". Мод не мой, я просто разместил объяву. (с) Цитата Ссылка на сообщение Поделиться на других сайтах
revix.ru 0 Опубликовано: 23 декабря 2007 Рассказать Опубликовано: 23 декабря 2007 спасибо, я загрузил zip но он не выдает список картинок, что может быть? Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.