Сделать как они говорят ;)
Что именно непонятно?
Кстати, а если php как модуль апача?
Я как-то обслушался на LastFm всё что можно, потом вспомнил что мне музыка из фильмов о 50-ых нравится (Бриолин, Плакса) и стал слушать по тегу doo-wop :)
прикольно было как во времени провалился... :)
А чем http://baza.garb.ru не устроила? :)
В опере и фф даже в стандартных консолях ошибок больше информации даётся, чем в ИЕ.
Не лучший вариант: вспоминается недавний ответ из техподдержки одной из коммерческих CMS - ваш хостинг не входит в список на сайте - меняйте хостинг.
Я подумал: o_O :)
В большинстве случаев зависимость от хостинга - это недостаток опыта программера и того, что он не предусмотрел разные варианты (если не оговорено другое, у меня например была разработка когда для ускорения заливки больших прайсов был использован LOAD DATA INFILE, но при этом это было оговорено с заказчиком).
Если же CMS универсальная, то добивайтесь нормальной работы - мне трудно представить, что вы могли сделать такое, что сайт не работает на некоторых хостингах (генерация статических страниц без прав, зенд, использование php5 специфичных фич ?).
update: ага, увидел : зенд и mod_rewrite.
Если первое нужно проверять, то второе должно быть фичей, а не обязательным требованием.
Думаю вряд ли удасться перебить LastFm :)
Вот с запада несколько (сотен, около тысячи :) ):
http://www.emilyrobbins.com/how-to-blog/comprehensive-list-of-615-free-wordpress-15-and-20-themes-templates-available-for-download-266.htm
Вот переписал скриптец.
Добавились новые параметры:
$logo - это имя файла с картинкой которая будет использоваться как водяной знак - положить в корень сайта (т.е., рядом со скриптом).
$flag - это строчка, которая будет дописываться в название результирующего файла, например, '_sm' - было image.jpg - станет image_sm.jpg
$x, $y - x, y - координаты точки в картинке результате откуда начнётся верхний левый угол водного знака. Советую оставить по умолчанию null и null - в этом случае скрипт вставит вотермарк в правый нижний угол значимой картинки (то есть, если будут слева и справа белые поля, то он не на них влепит, а именно на уменьшенную картинку).
<? $width= 200; // ширина полученного рисунка; $height = 100; // высота рисунка $background = 0xFFFFFF; #0xFFFFFF - это белый $quality = 100; // качество сжатия здесь 100% ; $logo = 'logo.png'; // название файла с водяным знаком $flag = '_sm'; // строчка ,которая будет добавляться к названию файла. q123.jpg -> q123_sm.jpg $x = null; // x - координата точки в картинке-результате куда будет вставлен вотермарк $y = null; // у- координата точки в картинке-результате куда будет вставлен вотермарк // (точно не помню, но по-моему с форума Нетката, по крайней мере я выудил её из своей разработки на неткате) // ну и по просьбе общественности дописано добавление водніх знаков в картинку. function img_resize($src, $dest, $logosrc, $width, $height, $rgb=0xFFFFFF, $quality=100, $flag, $x=null, $y=null) { if (!file_exists($src)) { echo "File ne exists"; return false; } $size = getimagesize($src); if ($size === false) { echo "Razmer ne exists"; return false; } // Определяем исходный формат по MIME-информации, предоставленной // функцией getimagesize, и выбираем соответствующую формату // imagecreatefrom-функцию. $format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1)); $icfunc = "imagecreatefrom" . $format; if (!function_exists($icfunc)) return false; $x_ratio = $width / $size[0]; $y_ratio = $height / $size[1]; $ratio = min($x_ratio, $y_ratio); $use_x_ratio = ($x_ratio == $ratio); $new_width = $use_x_ratio ? $width : floor($size[0] * $ratio); $new_height = !$use_x_ratio ? $height : floor($size[1] * $ratio); $new_left = $use_x_ratio ? 0 : floor(($width - $new_width) / 2); $new_top = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2); $isrc = $icfunc($src); $idest = imagecreatetruecolor($width, $height); imagefill($idest, 0, 0, $rgb); imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]); if ( !empty($logosrc) ) { if (!file_exists($logosrc)) { echo "Logo ne exists"; return false; } $size2 = getimagesize($logosrc); if ($size === false) { echo "Razmer logo ne exists"; return false; } $format = strtolower(substr($size2['mime'], strpos($size2['mime'], '/')+1)); $icfunc = "imagecreatefrom" . $format; if (!function_exists($icfunc)) return false; $lisrc = $icfunc($logosrc); $x = ( empty($x) ) ? $new_left + $new_width - $size2[0] : $x; $y = ( empty($y) ) ? $new_top + $new_height - $size2[1] : $y; imagecopyresampled($idest, $lisrc, $x, $y, 0, 0, $size2[0], $size2[1], $size2[0], $size2[1]); imagedestroy($lisrc); preg_match('~(.+)\.(.+)$~', $dest, $match); $dest = $match[1].$flag.'.'.$match[2]; } imagejpeg($idest, $dest, $quality); imagedestroy($isrc); imagedestroy($idest); return true; } //Взято из CodeIgniter (хэлпер file_helper) www.codeigniter.com function get_filenames($source_dir, $include_path = FALSE) { static $_filedata = array(); if ($fp = @opendir($source_dir)) { while (FALSE !== ($file = readdir($fp))) { if (@is_dir($source_dir.$file) && substr($file, 0, 1) != '.') { get_filenames($source_dir.$file."/", $include_path); } elseif (substr($file, 0, 1) != ".") { $_filedata[] = ($include_path == TRUE) ? $source_dir.$file : $file; } } return $_filedata; } } $files = get_filenames($_SERVER['DOCUMENT_ROOT'].'/photos1/'); foreach ($files as $file){ img_resize($_SERVER['DOCUMENT_ROOT'].'/photos1/'.$file, $_SERVER['DOCUMENT_ROOT'].'/photos2/'.$file, $_SERVER['DOCUMENT_ROOT'].'/'.$logo, $width, $height, $background, $quality, $flag, $x, $y); }
При вашем желании автор сией компиляции не откажется от donation :2cents: :D
Также принимаются багрепорты :)
Jefa, ну разве что попозжее. :)
или сегодня вечером или уже завтра. Это если php нормально дружит с прозрачными png (точно не помню как оно там). Но на сайтах делают значит должно получится.
p.s. там кстати ошибка была в скрипте - исправил.
p.p.s. Там ещё не добавляет к названиям _sm или какую-то другую строчку, потом и это сделаю, если время будет.