0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 8

Перемещение изображения на сервер

29.12.2015, 09:44. Показов 1832. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал код для перемещения изображения на сервер, на сайте с .com код работал, а сайт с .by в этом случае код не работает. Что не так? Подскажите пожалуйста!

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
47
48
49
50
51
52
53
54
55
56
57
58
  require_once 'images_config.php';
  require_once 'database_images.php';
$user_id = $_COOKIE['user_id'];
$subject = $_REQUEST['subject'];
$year = date('Y');
$month = date('m');
$day = date('d');
 
$upload_dir = HOST_WWW_ROOT . "e/";
 
$image_fieldname = "upl";  
$comments = NULL;
 
$php_errors = array(1=> 'Превышение макс. размера, указанного в php.ini',
                        2=> 'Превышение макс. размера, указанного в форме HTML',
                        3=> 'Была отправлена только часть файла',
                        4=> 'Файл для отправки не был выбран.');
                        
($_FILES[$image_fieldname]['error']==0)
or handle_error("сервер не может получить выбранное вами изображение.",
                $php_errors[$_FILES[$image_fieldname]['error']]);
                
@is_uploaded_file($_FILES[$image_fieldname]['tmp_name'])
or handle_error("вы пытались совершить безнравственный поступок!",
                "Запрос на отправку: файл назывался " . "'{$_FILES[$image_fieldname]['tmp_name']}'");
                
@getimagesize($_FILES[$image_fieldname]['tmp_name'])
or handle_error("вы выбрали файл для своего фото,".
                "который не является изображением.",
                "{$_FILES[$image_fieldname]['tmp_name']} " .
                " - не является изображением.");
                
$now = time();
while (file_exists($upload_filename = $upload_dir . $now .
                                     '-' .
                                     $_FILES[$image_fieldname]['name'])) {
    $now++;
}
 
@move_uploaded_file($_FILES[$image_fieldname]['tmp_name'], $upload_filename) 
or handle_error("возникла проблема сохранения вашего изображения!",
                "ошибка связана с правами доступа при перемещении " .
                "файла в {$upload_filename}");
 
$in_task = sprintf("INSERT INTO task_math" .
                             "(user_id, comments, address_t, year, month, day) " .
                      "VALUES ('%s', '%s', '%s', '%s', '%s', '%s');",
                      mysql_real_escape_string($user_id),
                      mysql_real_escape_string($comments),
                      mysql_real_escape_string($upload_filename),
                      mysql_real_escape_string($year),
                      mysql_real_escape_string($month),
                      mysql_real_escape_string($day));
                      
mysql_query($in_task)
  or mysql_error();
 
exit();
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.12.2015, 09:44
Ответы с готовыми решениями:

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

Перемещение изображения мышкой
Добрый день, нужно реализовать перемещение изображения по метке. Метка(Label) меньше изображения, те на нее помещается только часть...

TCanvas, перемещение изображения
ситуация такова: на канве TImage есть график, у графика реализован зум при помощи перемножения координат и позиции TrackBar. Необходимо...

21
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
29.12.2015, 10:37
А ошибки какие?
0
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 8
29.12.2015, 11:00  [ТС]
Точно, в базу все данные сохраняет, а изображение по нужному пути не перемещает.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
29.12.2015, 11:05
В HOST_WWW_ROOT что содержится?
1
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 8
29.12.2015, 11:28  [ТС]
Спасибо!)) Был не верно указан путь
0
Заблокирован
29.12.2015, 23:06
Да, проверя пути всегда,
и стараймя в скриптх вообще не использовать пути,
а лучше делать их автоопределение.
0
7 / 8 / 5
Регистрация: 08.05.2015
Сообщений: 477
20.03.2017, 12:27
А что значит символ "@" вот здесь:
Цитата Сообщение от wladron Посмотреть сообщение
@move_uploaded_file($_FILES[$image_fieldname]['tmp_name'], $upload_filename)
move_uploaded_file - функция. Зачем ей "@"? Кстати, с обычными переменными тоже видел...
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
20.03.2017, 12:42
Цитата Сообщение от Eduardo_1992 Посмотреть сообщение
А что значит символ "@" вот здесь
Вот: http://php.net/manual/ru/langu... ontrol.php
1
7 / 8 / 5
Регистрация: 08.05.2015
Сообщений: 477
20.03.2017, 13:04
Para bellum, то, что нужно! Спасибо!
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.03.2017, 13:20
Цитата Сообщение от Eduardo_1992 Посмотреть сообщение
то, что нужно
скорее, то, что не нужно
1
7 / 8 / 5
Регистрация: 08.05.2015
Сообщений: 477
20.03.2017, 13:21
KOPOJI, в любом случае, я с этим частенько сталкивался, но ни как не мог понять, что это такое. А через поиск не удавалось найти, так как я просто даже не знал КАК искать. Теперь знаю)
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
20.03.2017, 13:25
Цитата Сообщение от KOPOJI Посмотреть сообщение
скорее, то, что не нужно
Есть некоторые функции, которые помимо возврата "false" выбрасывают ещё и Warning. И ничего с этим не поделаешь. Неуправляемые они. Тут на помощь и приходит собака.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.03.2017, 13:36
Para bellum, например? Насколько помню, все это решается дополнительной проверкой перед вызовом такой функции.

Добавлено через 2 минуты
тем более что по хорошему в продакшне все эти ошибки должны фиксироваться в логах, что делается путем смены уровня вывода ошибок error_reporting

Добавлено через 3 минуты
например, часто пишут так:
PHP
1
@define('foo', 'bar');
чтобы избежать ошибки в случае существования такой константы (например, в битриксе есть такое)
А правильно это должно быть нечто наподобие такого:
PHP
1
defined('foo') or define('foo', 'bar');
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
20.03.2017, 14:09
Цитата Сообщение от KOPOJI Посмотреть сообщение
например?
unlink и ещё несколько есть, насколько помню.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.03.2017, 14:21
Para bellum, is_readable/is_writable разве не поможет ?
0
7 / 8 / 5
Регистрация: 08.05.2015
Сообщений: 477
20.03.2017, 14:24
KOPOJI, Para bellum, Вы сможете помочь мне здесь?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
20.03.2017, 14:30
Цитата Сообщение от KOPOJI Посмотреть сообщение
is_readable/is_writable разве не поможет ?
Если выполнять для пути файла -- нет. Хотя можно dirname вытащить из пути и папку на запись проверить.
file_get_contents, опять же, выдаст Warning, если удалённый ресурс недоступен.
fsockopen
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.03.2017, 15:03
Цитата Сообщение от Para bellum Посмотреть сообщение
Если выполнять для пути файла -- нет
Возвращает TRUE, если файл или директория, указанная в filename существует и доступна для чтения, иначе возвращает FALSE.
поэтому она отлично работает что для пути файла, что для пути директории.
Цитата Сообщение от Para bellum Посмотреть сообщение
file_get_contents
curl_init поможет узнать о существовании удаленного ресурса. Аналогично с сокетами
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
20.03.2017, 15:31
Цитата Сообщение от KOPOJI Посмотреть сообщение
поэтому она отлично работает что для пути файла, что для пути директории
Я не сказал, что функция не работает на файлах. А сказал, что если выполнить на файле -- мы доподлинно не узнаем, точно ли можно удалить его.
Попробуйте создать файл с правами 777. А на папку, в которой он лежит, установить права 644. Затем выполнить скрипт:
PHP
1
2
3
4
5
$file = __DIR__ . '/test.txt';
 
if (is_writable($file)) {
    unlink($file);
}
Несмотря на то, что is_writable выдаст true, удалить не сможете его. Из-за прав на папку.
Цитата Сообщение от KOPOJI Посмотреть сообщение
curl_init поможет узнать о существовании удаленного ресурса. Аналогично с сокетами
Т.е. перед file_get_contents надо выполнить curl_init/curl_exec? Допустим.
Всё равно нет гарантии, что file_get_contents отработает как надо. Ибо curl вернёт true, даже если сайтом будет возвращён статус "404", например. А file_get_contents Warning выдаёт из-за 404.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.03.2017, 15:58
ладно, ладно, признаю свою ошибку, что иногда может понадобиться при отладке использовать это.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.03.2017, 15:58
Помогаю со студенческими работами здесь

перемещение/поворот изображения
нужно создать простенький графический редактор, как осуществить подобное при загрузке изображения: ...

Перемещение изображения по форме
Здравствуйте. Помогите пожалуйста решить такую задачу: Существуют несколько персонажей компьютерной игры, каждый из которых представлен...

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

Перемещение изображения по экрану
господа подскажите если я напишу вот так InvalidateRect(hwnd,NULL,TRUE)или вот так-InvalidateRect(hwnd,NULL,FALSE)экран мерцает,но это и...

Перемещение изображения в PictureBox
Доброго времени суток! 8-) - Имеется джостик подключенный к ПК через COMPort; - В программе форма с PictureBox с нарисованными осями...


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

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

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru