Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для prosto_lynx
49 / 25 / 2
Регистрация: 09.06.2008
Сообщений: 227

Не получается загрузить изображение...

12.01.2011, 00:12. Показов 2162. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Человек вводит данные в форму (в том числе и изображение). Изображение сохраняю вот так:
PHP
1
2
3
4
5
6
7
8
9
10
11
        if ($_FILES['imag']['tmp_name'] != null)
        {
            $handle = fopen ($_FILES['imag']['tmp_name'], "rb");
            if (move_uploaded_file ($_FILES['imag']['tmp_name'], "predl/{$path}.jpg"))
                echo "Изображение загружено<P>";
            else
                echo "Ошибка! изображение не загружено!<P>";
            $query = "update tpredl set src='predl/{$path}.jpg' where id_t={$path}";
            $result = mysql_query ($query)
                or die("ошибка #22: ".mysql_error()) ;
        }
В итоге на локальной машине (стоит апач) всё благополучно грузится, а вот, когда на сервак заливаю - облом...((( в базу данных путь сохраняется, а вот картинка на сайт не грузится...((
Что такое?..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.01.2011, 00:12
Ответы с готовыми решениями:

Не получается через cURL загрузить страницу
Есть сайт: https://www.sierra.com/ (не реклама) (работает только через USA IP) Пытался получить его html код для парсинга. Не...

Не удается загрузить изображение на сервер
Подскажите уже не знаю что делать Warning: copy(/var/www/test.kg/img/noutbuk-naushniki-klaviatura.jpg): failed to open stream: Permission...

Как загрузить изображение на сайт не меняя его названия
Добрый вечер! у меня есть загрузчик изображений, но в нем у меня при сохранении в папку и в базу меняется имя его. Как можно в коде...

9
52 / 52 / 4
Регистрация: 10.11.2010
Сообщений: 171
12.01.2011, 10:49
Может быть нету прав загружать файлы? А ошибку какую выдает?
1
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
12.01.2011, 20:11
Цитата Сообщение от prosto_lynx Посмотреть сообщение
$handle = fopen ($_FILES['imag']['tmp_name'], "rb");
Эту строку удалите
0
 Аватар для prosto_lynx
49 / 25 / 2
Регистрация: 09.06.2008
Сообщений: 227
12.01.2011, 23:39  [ТС]
LinelWorld,
Ошибку никакую не выдает, просто не загружает и всё...((

хм... "прав не хватает"?.. не знаю.... этот php-код просто на одной из страничек должен запускаться, т.е. должен даже для абсолютно постороннего человека запускаться (безо всяких прав)...
опс.... а получается где-то значит нужно логин и пароль прописывать, которые мне хостер выдал?... а где?...


romchiksoad

Сделал, но не помогло...((
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
13.01.2011, 00:23
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
error_reporting( E_ALL );
if ( is_uploaded_file( $_FILES['imag']['tmp_name'] ) )
        {
            if ( move_uploaded_file( $_FILES['imag']['tmp_name'], "predl/{$path}.jpg" ) ) {
                echo "Изображение загружено<P>";
                $query = "update tpredl set src='predl/{$path}.jpg' where id_t={$path}";
                $result = mysql_query ($query)
                    or die("ошибка #22: ".mysql_error()) ;
            }
            else
                echo "#1 - Ошибка! Изображение не сохранено!<P>";
        }
        else
            echo '#2 - Ошибка! Изображение отсутствует!';
1
 Аватар для prosto_lynx
49 / 25 / 2
Регистрация: 09.06.2008
Сообщений: 227
13.01.2011, 01:27  [ТС]
он выдает:

Warning
: move_uploaded_file(ava/vasia.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/vhosts/azlk.6te.net/reg2.php on line 23

это строчка:
move_uploaded_file ($_FILES['ava']['tmp_name'], "ava/{$_POST['login']}.jpg");


и следом:
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpl19eJC' to 'ava/vasia.jpg' in /home/vhosts/azlk.6te.net/reg2.php on line 23
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
13.01.2011, 19:39
prosto_lynx, у Вас проблема с правами доступа к папке ava. Установите права записи в эту папку для пользователя под которым работает скрипт...
1
 Аватар для prosto_lynx
49 / 25 / 2
Регистрация: 09.06.2008
Сообщений: 227
15.01.2011, 00:44  [ТС]
romchiksoad права доступа к папке "для пользователя под которым работает скрипт"?.. а под каким пользователем работает скрипт, если я ничего нигде не прописывал?.. я просто скрипт написал и залил его на хостинг...
а работать начало, когда установил права для папки: 777...
....или можно обойтись меньшими правами?..
0
11 / 11 / 4
Регистрация: 01.02.2011
Сообщений: 111
02.02.2011, 00:01
У меня похожая проблема при создании папки и помещении в нее изображения на лету, как задавать права я разобрался (пользую mkdir при создании папки с правильными правами 0777), проблема теперь в том, что создавая папку mkdir ($dirname, 0777) создается папка с правами 755, а надо 777, (чтоб динамически в папке подпапки можно было бы создавать)! Приходится вставлять еще строку chmod($dirname, 0777), тогда всё нормально - права 777.
А можно-ли как-то сразу чтоб без дополнительной строчки? В mkdir я вроде как в документации написано всё указываю 0777. Запарился совсем...

Волшебное слово забыл - Пожалуйста!
0
11 / 11 / 4
Регистрация: 01.02.2011
Сообщений: 111
03.02.2011, 01:08
Прошу прощеня у всех, кто походу зря читал мое сообщение - получилось из серии "мучался 2 дня, а написав на форуме через час сам раробрался"...

Раз ответов не было отвечу сам себе (может для кого потом полезеной будет информация)

Итак, почему не грузятся изображения - понятно нехватает прав - надо чтобы у папки куда пишем изображения или создаем папки были права 777:

проблема теперь в том, что создавая папку mkdir ($dirname, 0777) создается папка с правами 755, а надо 777
Поскольку текущая маска umask (ф-ция, изменяющая права доступа, которые присваиваются новым файлам и директориям по умолчанию) будет умножена на заданное значение (вернее сказать после применения маски это значение будет как-бы отнято от тех прав, которые я указываю) и получится РЕАЛЬНАЯ маска.
Т.е. например если значение umask = 022, то тогда указывая права 0777, я получу только 0755.

Дабы избавиться от сего эффекта - необходимо сделать:

PHP
1
2
3
$oldmask = umask(0); // сброс umask
mkdir ('path/to', 0777); // создаем папку с теми правами которые нужны
umask($oldmask); // возвращаем umask в исходное состояние
Вообще umask можно и не возвращать, поскольку (если верить источнику в котором я брал инфу), то umask вернется в исходное состояние по окончании скрипта. Но лучше перестраховаться дабы не запоганить чего дальше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.02.2011, 01:08
Помогаю со студенческими работами здесь

Не получается загрузить дамб базы на сервер
Локально все работает нормально. Дамб загрузился без проблем. Все работает. При попытке загрузить дамб на сервер вылетает ошибка: ...

Не могу загрузить изображение в нужную папку и внести путь к изображению в mysql
Проблема состоит в том, что я никак не могу загрузить изображение в нужную папку и внести путь к изображению в mysql. Заголовок и текст у...

CodeIgniter 3 не могу загрузить изображение
Добрый вечер, уже два дня не могу решить проблему: не загружается картинка на сайте Уже пробовал указать полный путь к файлу и как только...

Не получается загрузить изображение через БД к товару интернет-магазина
Всем привет. Последним шагом при создании моего интернет-магазина является добавление изображений к товарам. При добавлении нового товара...

Загрузить видео вконтакте. Странно получается. Почему так получается?
Решил згрузить в контакт Мультфильм Дикая планета http://www.youtube.com/watch?v=8-nwT9YQ0t0&amp;NR=1&amp;feature=endscreen в максимально...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru