Web‑серверы и прикладные web‑сервисы: Nginx, Apache, HAProxy, панели управления и скрипты для администрирования.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
mdxclr
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2014-02-07 3:48:27
Непрочитанное сообщение
mdxclr » 2014-02-07 3:53:35
Добрый день.
Суть проблемы в том, что не работает код, написаный для Линукса. Выдает ошибку на cp. Пробовал переписать вместо cp - copy - ничего не делает, но ошибки не выдает. До этого код весь работает, проверял. Стрянет на моменте с copy.
Код: Выделить всё
($image,$suffix) = split (/\./, $picture);
print "Working with $picture\n";
foreach $key (sort keys %sizes) {
$target = join "", $image, "_", $key, ".", $suffix;
print "target is $target\n";
# only copy original for resizing if it doesn't already exist
if ( ! -e "$resizeddir/$target" ) {
# copy original into resized directory for justified_gallery_builder
# make a copy of original. if scale > original dimensions, original image will be used rather than upscaling
mkdir $resizeddir,0777;
system ("cp $picture $resizeddir/$picture") or die ".loh";
system ("cp $picture $resizeddir/$target") or die ".loh";
mdxclr
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Alvares
- прапорщик
- Сообщения: 485
- Зарегистрирован: 2008-07-10 12:48:08
- Откуда: Воронеж
-
Контактная информация:
Непрочитанное сообщение
Alvares » 2014-02-07 7:54:10
А если так
Кроме того
для Win не команда
должно быть
ну и cp->copy
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...
Alvares
-
mdxclr
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2014-02-07 3:48:27
Непрочитанное сообщение
mdxclr » 2014-02-07 14:45:56
Alvares писал(а):
А если так
Заменил на md - Can't locate object method "md" via package "resized" (perhaps you forgot to loa
d "resized"?
Так же убрал права - тоже самое. Потом убрал воопше создание папки (тк создал вручную) - ничего.
Поменять на "\" тоже ничего не дало. ошибка виглядит так:
Код: Выделить всё
D:\WinFiles\xampp\htdocs>justified_resize.pl
Running in: pwd
Working with 1.jpg
target is 1_b.jpg
The system cannot find the file specified.
The system cannot find the file specified.
identify.exe: unable to open image `resized/1_b.jpg': No such file or directory
@ error/blob.c/OpenBlob/2642.
target is 1_c.jpg
The system cannot find the file specified.
The system cannot find the file specified.
identify.exe: unable to open image `resized/1_c.jpg': No such file or directory
@ error/blob.c/OpenBlob/2642.
target is 1_m.jpg
The system cannot find the file specified.
The system cannot find the file specified.
pwd в моем случаи папка( $pwd = 'pwd';), файлы в ней видны.
identify сам по себе работает, проверял.
mdxclr
-
mdxclr
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2014-02-07 3:48:27
Непрочитанное сообщение
mdxclr » 2014-02-07 15:07:20
UPDATE:
для $pwd присвоил $pwd = `echo %cd%` и везде стер $resized, теперь создает копии файла, но не ресайзит их.
Проблема начинается с
Код: Выделить всё
my $fullratio = `identify -format \"\%wx\%h:\"$target`;
прописал отдельно в консоль - команда не работает.
Переправили на
Код: Выделить всё
identify -format '%[fx:w]x%[fx:h]' 254287_b.jpg
выдает '1920x1200' - отлично
Но незнаю как настроить дальше, тк после
Код: Выделить всё
(my $ratio, $null) = split ( /:/, $fullratio);
# parse dimensions of image
($width, $height) = split ( /x/, $ratio);
$height = int ($height);
$width = int ($width);
print "height: $height, width: $width\n";
Получаем по нулях.
mdxclr
-
mdxclr
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2014-02-07 3:48:27
Непрочитанное сообщение
mdxclr » 2014-02-07 15:47:57
Код: Выделить всё
$height = int (`identify -format %w $target`);
$width = int (`identify -format %h $target`);
Вот так работает

Но хочется чтобы одним запросом брало и w и h, как выше.
mdxclr
-
thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Непрочитанное сообщение
thefree » 2014-03-16 8:53:36
для вин надо все через \ и copy "path" "path", то есть путь к файлц должен быть в ""
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
thefree