Как просматривать изображения jpg с помощью PHP-программы из командной строки

Есть ли способ просмотра изображений jpg в командной строке PHP?

Я хотел бы пройтись по каталогу фотографий в программе PHP командной строки и использовать нажатие клавиши, используя php stdin, для выполнения действия над этой фотографией, например, перемещения его в другой каталог. Я не смог найти метод для вывода каждого изображения из командной строки PHP.

Спасибо

Вот код, который у меня есть до сих пор. Если я могу просмотреть JPG, я думаю, что все будет в порядке …

<?php

// View the jpg images one at a time
$files = glob("images/*.jpg");
foreach($files as $jpg){
//    echo "<img src='$jpg'></br>";
echo "view image somehow" . PHP_EOL;

echo "The jpg variable equals '$jpg'" . PHP_EOL;

// show them a message to enter letter for category
echo "Enter the category, a(family), r(friends), c(coworkers), d(delete), ctrl-letter(two folders)" . PHP_EOL;

// the script will wait here until the user has entered something and hit ENTER
$category = read_stdin();

// This will display the category message including the category they entered.
echo "You chose $category . Next photo" . PHP_EOL;

switch ($category) {
case "a":
echo "$category equals family" . PHP_EOL;
r    ename("$jpg", "images/sorted/family/$jpg");
break;
case "r":
echo "$category equals friends" . PHP_EOL;
rename("$jpg", "images/sorted/friends/$jpg");
break;
case "c":
echo "$category equals coworkers" . PHP_EOL;
rename("$jpg", "images/sorted/coworkers/$jpg");
break;
default:
echo "$category is not equal to a,r, or c" . PHP_EOL;
}

}

// our function to read from the command line
function read_stdin()
{
$fr=fopen("php://stdin","r");   // open our file pointer to read from stdin
$input = fgets($fr,128);        // read a maximum of 128 characters
$input = rtrim($input);         // trim any trailing spaces.
fclose ($fr);                   // close the file handle
return $input;                  // return the text entered
}

?>

1

Решение

Вы отправили мне по почте об ImageMagick «дисплей».

Что вы можете сделать, это запустить «display» в фоновом режиме, а затем использовать «-remote» для отправки изображений и обновлений для отображения. Я сделал это с помощью сценариев оболочки под Linux, хотя я не думаю, что «отображение» работает аналогично для Windows.

Некоторые идеи о дистанционном управлении различными графическими программами смотрите в моих необработанных заметках (только для linux)
http://www.ict.griffith.edu.au/anthony/info/X/Image_Remote_Control.txt

0

Другие решения

Я закончил тем, что использовал команду «open», которая открывает изображение в «Preview»

Похоже, «qlmanage» также может быть вариантом. Я не мог заставить ImageMagick работать. Кажется, требуется установить X11, который не был включен в OS X в последних нескольких версиях. Страница поддержки Apple указывает на «xquartz» как сайт, с которого можно установить X11 на OS X. Я установил его, но после борьбы с его настройкой Imagemagick осмотрелся и обнаружил, что он «открыт». Спасибо

0