Заблокирован
1

Как сделать такую проверку?

23.05.2013, 18:13. Показов 1263. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь сделать проверку существует ли картинка с названием pict в папке.. Тоесть если в папке есть картинка с именем icon , то картинка не загружалась. А если нет - загружалась. Почему не работает..? Поправьте плиз меня

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$valid_types = array("gif","jpg", "png", "jpeg"); 
 $filename = 'pict.'.$valid_types.''; 
 
 if ($i == 0 or file_exists($filename)) { 
 include('/inc/classImage.php'); 
 $image = new SimpleImage(); 
 $image->load(''.$url.''); 
 $image->resizeToWidth(200); 
 $image->save('/screen/'.$id.'/pict.'.$ext.''); 
 } 
 $i++; 
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2013, 18:13
Ответы с готовыми решениями:

Как сделать такую проверку?
как сделать проверку в ассоциативном массиве : Если в массиве нет ключей равных какой то переменной...

Php mysqli как сделать вывод из базы в массив и сделать проверку на сходство
Здравствуйте, подскажите пожалуйста как сделать что-то подобное. Есть база данных В базе таблица...

Как сделать такую загрузку?
Подскажите пожалуйста, уважаемые программисты, как можно сделать у себя, то есть как реализовать...

Как сделать такую галерею?
Как сделать такую галерею? http://www.gbmt.ru/ru/display/3d.php Если вас не затруднит , то...

10
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
23.05.2013, 18:22 2
Цитата Сообщение от firuk Посмотреть сообщение
PHP
2
$filename = 'pict.'.$valid_types.'';
что вы хотели сделать этой строчкой?
0
Заблокирован
23.05.2013, 18:24  [ТС] 3
подобрать расширение картинки.. Так как не известно какое оно может быть..
0
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
23.05.2013, 18:31 4
а пробовали сделать echo $filename?
у меня такое выражение выводит pict.Array
что ожидали вы увидеть в этой переменно?
0
Заблокирован
23.05.2013, 18:37  [ТС] 5
спасибо за ответ. а как тогда сделать чтобы расширения подбирались из массива..?
0
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
23.05.2013, 18:40 6
самый очевидный вариант это проверить на существование файлы всех четырех типов с помощью file_exists
0
Заблокирован
23.05.2013, 18:42  [ТС] 7
можешь помочь это сделать? Я ток учусь, сильно не ругай
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
23.05.2013, 19:34 8
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$valid_types = array('gif','jpg', 'png', 'jpeg');
 
$exists = false;
for($i = 0, $cnt = count($valid_types); $i < $cnt; $i++)
{
    if(file_exists('pict.' . $valid_types[$i]))
    {
        $exists = $valid_types[$i];
        break;
    }
}
 
if(!$exists)
{
    //не существует
}
else
{
    //существует, в $exists содержится расширение существующего файла (если надо)
}
0
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 28
23.05.2013, 23:44 9
KOPOJI, У меня структура немного другая, вот моя загрузка, как туда внудрить проверку которую ты написал?

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
28
29
30
31
32
33
34
$id = intval($_GET['id']);
$valid_types = array("gif","jpg", "png", "jpeg");
$urls=$_POST['url'];
 
if(!is_dir("".$_SERVER['DOCUMENT_ROOT']."/screen/".$id."")) {
mkdir("".$_SERVER['DOCUMENT_ROOT']."/screen/".$id, 777);
}
 
$i = 0;
foreach($urls as $url) {
if(empty($url)) break;
$ext = strtolower(substr($url,1 + strrpos($url, ".")));
if (!in_array($ext, $valid_types)) {
echo 'Не верный формат картинок!';
include 'foot.php';
exit;}
$name = uniqid();
$fp = fopen(''.$_SERVER['DOCUMENT_ROOT'].'/screen/'.$id.'/'.$name.'.'.$ext.'','w+b');
$mysqli->query("INSERT INTO `screen` SET `file_id`='$id', `name`='$name', `exp`='$ext';");
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_USERAGENT, 'Boroda/2.0 J2ME/MIDP');
curl_setopt($curl, CURLOPT_FILE, $fp);
curl_exec($curl);
curl_close($curl);
fclose($fp);
if ($i ==  0) {
include('classSimpleImage.php');
$image = new SimpleImage();
$image->load(''.$url.'');
$image->resizeToWidth(200);
$image->save(''.$_SERVER['DOCUMENT_ROOT'].'/screen/'.$id.'/icon.'.$ext.'');
}
$i++;
}
Добавлено через 46 секунд
пробую сделать так, не работает:


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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
$id = intval($_GET['id']);
$valid_types = array("gif","jpg", "png", "jpeg");
$urls=$_POST['url'];
 
if(!is_dir("".$_SERVER['DOCUMENT_ROOT']."/screen/".$id."")) {
mkdir("".$_SERVER['DOCUMENT_ROOT']."/screen/".$id, 777);
}
 
$i = 0;
foreach($urls as $url) {
if(empty($url)) break;
$ext = strtolower(substr($url,1 + strrpos($url, ".")));
if (!in_array($ext, $valid_types)) {
echo 'Не верный формат картинок!';
include 'foot.php';
exit;}
$name = uniqid();
$fp = fopen(''.$_SERVER['DOCUMENT_ROOT'].'/screen/'.$id.'/'.$name.'.'.$ext.'','w+b');
$mysqli->query("INSERT INTO `screen` SET `file_id`='$id', `name`='$name', `exp`='$ext';");
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_USERAGENT, 'Boroda/2.0 J2ME/MIDP');
curl_setopt($curl, CURLOPT_FILE, $fp);
curl_exec($curl);
curl_close($curl);
fclose($fp);
 
$exists = false;
for($i = 0, $cnt = count($valid_types); $i < $cnt; $i++)
{
    if(file_exists('pict.' . $valid_types[$i]))
    {
        $exists = $valid_types[$i];
        break;
    }
}
 
if(!$exists or $i ==  0)
{
include('classSimpleImage.php');
$image = new SimpleImage();
$image->load(''.$url.'');
$image->resizeToWidth(200);
$image->save(''.$_SERVER['DOCUMENT_ROOT'].'/screen/'.$id.'/icon.'.$ext.'');
$i++;
}
}
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
23.05.2013, 23:45 10
не знаю..
0
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 28
24.05.2013, 00:37 11
Решено
0
24.05.2013, 00:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2013, 00:37
Помогаю со студенческими работами здесь

Как сделать такую защиту от дурака?
Скрипт обрабатывает POST с формы и читает элемент в переменную, а на форме он ещё не сделан. Можно...

Как сделать такую замену в текстовике
Как мне сделать такое? есть текстовый файл (text.txt) внутри него есть допустим 100 строк,...

Как сделать такую конструкцию онлайн-словаря?
Добрый вечер программисты, помогите разобраться, у меня вот есть идея, но воплотить ее полноценно...

Как сделать такую форму загрузки картинок
Мне нужна такая форма загрузки картинок, которая: 1. Позволяет загружать изображения только...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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