Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 2
Регистрация: 11.03.2016
Сообщений: 31
1

Как сделать так, чтобы php скрипт поочередно обрабатывал картинки поступившие после разархивации в папку?

18.05.2016, 13:32. Показов 855. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, программисты! Не понимаю, как сделать так, чтобы скрипт, который обрабатывает картинки, мог поочередно брать картинки из папки для обработки. Картинки я закачиваю zip файлом и разархивирую их в папку images. Что делать дальше?
Пытаюсь сделать так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$dir = 'c:/apache/localhost/www/File/images/';
$files = scandir($dir); // Берём всё содержимое директории
 
for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы
    if (($files[$i] != ".") && ($files[$i] != "..")) { // Текущий каталог и родительский пропускаем
        $put = $dir.$files[$i]; // Получаем путь к картинке 
            }
  }
  
$encrypt = new crackCapcha($put);
echo "<br><span style='font-size: 17px;'>СССР: ".$encrypt->resolve0."</span><br><br>";
echo "<br><span style='font-size: 17px;'>Германия: ".$encrypt->resolve01."</span><br><br>";
echo "<br><span style='font-size: 17px;'>Союзники: ".$encrypt->resolve02."</span><br><br>";
echo "<br><span style='font-size: 17px;'>Пособники: ".$encrypt->resolve03."</span><br><br>";
 
class crackCapcha {...}
но выдает ошибку: Notice: Undefined property: crackCapcha::$resolve0
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2016, 13:32
Ответы с готовыми решениями:

Как сделать так, чтобы только один виджет всегда обрабатывал события keyPressEvent?
У меня есть виджет который обрабатывает события нажатия клавиш. Рядом с ним расположен другой...

Как сделать так, чтобы события мыши обрабатывал QScrollArea, а не виджет, находящийся в нем?
Как сделать так, чтобы события мыши обрабатывал QScrollArea, а не виджет, находящийся в нем? По...

Как сделать, чтобы класс обрабатывал по одному элементу vector
привет всем ! как сделать так чтобы класс обрабатывал по одному элементу vector r, g, b, состоящий...

Сделать так, чтобы на экране поочередно возникали и исчезали круг, прямоугольник и треугольник
Помогите пожалуйста! Столкнулся с задачей движения в Паскале и не знаю, что делать! Вот задание:...

7
29 / 29 / 22
Регистрация: 27.12.2013
Сообщений: 368
18.05.2016, 15:45 2
Дай угадаю. Вот прям вангую... ошибка на этой строке?
PHP
1
$encrypt = new crackCapcha($put);
0
1 / 1 / 2
Регистрация: 11.03.2016
Сообщений: 31
18.05.2016, 18:37  [ТС] 3
Бинго! я исправила и как бы все работает но обрабатывает только первую картинку
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
session_start();
  
$dir = "c:/apache/localhost/www/File/images/"; 
$img_a = array(); // Создаем пустой массив для хранения названий изображений
 
if (is_dir($dir)){  
    if($od = opendir($dir)){ 
        while(($file = readdir($od)) !== false){ 
            if(strtolower(strstr($file, "."))===".jpg"){
                array_push($img_a, $file); 
                foreach($img_a as $value)
                {
                    echo $value, '<br>';
                    $way = $dir.$value;
                    echo $way, '<br>';
                }
                    
                
            }
        }
        closedir($od); 
    }
}
 
// пробуем распознать картинку 
//$encrypt = new crackCapcha('Dip.jpg'); 
$encrypt = new crackCapcha($way);
Добавлено через 45 секунд
Как сделать чтобы они шли по очереди?
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
18.05.2016, 18:56 4
Цитата Сообщение от Shtefanka Посмотреть сообщение
PHP
1
$way = $dir.$value;
Здесь хранится путь только к последней картинке
PHP
1
$way[] = $dir.$value;
А дальше в цикле обрабатываете каждое изображение.
0
1 / 1 / 2
Регистрация: 11.03.2016
Сообщений: 31
18.05.2016, 19:55  [ТС] 5
а как обработать в цикле каждое изображение?
Пробовала так:
PHP
1
2
3
4
5
6
7
8
 foreach($img_a as $value)
                {
                    $way[] = $dir.$value;
                }
                for ($i = 0; $i < count($way); $i++){
                    $way_a = $way[$i];
                    echo $way_a, '<br>';
                }
PHP
1
$encrypt = new crackCapcha($way_a);
0
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
19.05.2016, 18:13 6
PHP
1
2
3
foreach($way as $k=>$v){
echo $v."<br/>";
}
0
1 / 1 / 2
Регистрация: 11.03.2016
Сообщений: 31
20.05.2016, 19:49  [ТС] 7
Не помогло, все равно обрабатывает только последнюю картинку.
0
55 / 55 / 21
Регистрация: 01.03.2016
Сообщений: 594
21.05.2016, 08:16 8
Shtefanka, если ссылка $encrypt на объект ни где не используется, то поместите создание объекта new crackCapcha в цикл.
А если используется, то Вам правильно сказали, создавайте массив $way_a = $way[$i]; с именами. Потом (в самом низу) его перебирайте через foreach
PHP
1
2
3
4
5
$i = 0;
foreach($way_a as $name){
$i++;
$encrypt[$i] = new crackCapcha($name);
}
как пример. Я бы все конечно не так стал писать, думайте)
0
21.05.2016, 08:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2016, 08:16
Помогаю со студенческими работами здесь

Как сделать так чтобы показывалось загрузка картинки
Я использую switch case для того чтобы картинка товара менялось при выборе цвета товара. Но есть...

Как сделать так, чтобы средняя кнопка мыши открывала папку в новом окне?
Всем привет! Как сделать чтобы при нажатии в проводнике на папку средней кнопкой мыши папка...

Как сделать так, чтобы при наведении курсора на папку, слева появлялся check box?
И в какой винде можно?

как сделать так, чтобы скрипт постоянно переходил по ссылке
Подскажите, как сделать чтобы скрипт постоянно переходил по ссылке(после перехода он вернется на ту...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru