Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> аплоад файла на удаленный сервер 
:(
    Опции темы
infinityC
Дата 7.12.2009, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.12.2009

Репутация: нет
Всего: нет



Господа, у меня проблема с закачкой файла на на сервер моего хостинг-провайдера.
Закачиваю файл следующим образом (как написано в учебнике):

Код

<form enctype="multipart/form-data" action="1.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>

Код

if(isset($_FILES['userfile']['name']))
{
    $file=$_FILES['userfile']['tmp_name'];
    echo 'Имя временного файла на сервере: '.$file.'<br>';
    
    if (!copy($file, '/fff.bak')) 
    {
    print ("Не могу скопировать $file...<br>\n");
    }    
}


Имя временного файла выводит, следовательно файл на сервер закачивается. А вот скопировать в корневую директорию уже не может. Что делать?
Я предполагаю, что нет прав доступа на запись в корень. Как это поправить? .htaccess?
PM MAIL   Вверх
Ипатьев
Дата 7.12.2009, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Разумеется, у пользовтеля веб-сервера нет прав на запись в корень диска. И не должно быть ни в коем случае.
Веб-сервер должен иметь право записывать только в свой домашний каталог

Это сообщение отредактировал(а) Ипатьев - 7.12.2009, 12:18
PM MAIL   Вверх
infinityC
Дата 7.12.2009, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.12.2009

Репутация: нет
Всего: нет



Ну а если я создам папку, ну например /upload
как в нее разрешить запись файла?
PM MAIL   Вверх
Ипатьев
Дата 7.12.2009, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Вы не сможете создать папку на юникс системе в корне файловой системы, не имея прав root
А если бы даже и имели, то я крайне не советовал бы вам это делать.

Папку надо создавать в домашнем каталоге веб-сервера, а не в корне файловой системы
PM MAIL   Вверх
brother79
Дата 7.12.2009, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 18.8.2009

Репутация: 2
Всего: 6



Цитата(infinityC @  7.12.2009,  12:35 Найти цитируемый пост)
Ну а если я создам папку, ну например /upload
как в нее разрешить запись файла? 


chmod -R 0777 /uploads 

Смотри команду chmod, если у тебя есть пользователь, у которого есть нужные права на эту папку - то ей можешь разрешить туда запись, но я бы посоветовал прислушаться к словам Ипатьго, и под закачку выделить папку upload где-то среди содержимого своего сайта, а не в корне системы, ну и наверно надо не 777 а немного ограничить, по этому поводу тут было куча рекомендаций..


--------------------
PM MAIL WWW   Вверх
infinityC
Дата 7.12.2009, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.12.2009

Репутация: нет
Всего: нет



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

copy($file, '/fff.bak')

будет пытаться скопировать файл в корень файловой системы, а не в корень сайта
я исправил эту строку так
Код

copy($file, './mydir/fff.bak')

но от этого эффекта никакого, все равно не копирует.
PM MAIL   Вверх
bars80080
Дата 7.12.2009, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(infinityC @  7.12.2009,  11:07 Найти цитируемый пост)
    if (!copy($file, '/fff.bak')) 

Код

if(!move_uploaded_file($file, $_SERVER['DOCUMENT_ROOT'].'/upload/fff.bak'))


Это сообщение отредактировал(а) bars80080 - 7.12.2009, 15:29
PM MAIL WWW   Вверх
Ипатьев
Дата 7.12.2009, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



если происходят проблемы при обращении к файлам,
то надо узнать, правильно ли указан путь и есть ли необходимые права

также полезно посмотреть ошибки, выдаваемые РНР 
тогда можно будет сразу прочесть, в чем проблема.
PM MAIL   Вверх
brother79
Дата 8.12.2009, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 18.8.2009

Репутация: 2
Всего: 6



Цитата(infinityC @  7.12.2009,  15:26 Найти цитируемый пост)
Я понимаю о чем вы говорите, но дело в том, что я сам не являюсь администратором сервера, я всего лишь веб-программист, который хочет сделать, чтобы на его сайт пользователь мог закачать фотографию.
Я понял в чем лоханулся изначально



Тебе же писали, надо дать права. Если у тебя хостинг - то у тебя есть 2 вар-та
1) зайти по ssh и выставить права
2) зайти через web - панель администратора и там должна быть возможность дать права на каталог, но только как ты уже понял, не на корень, а на каталог в твоём сайте. На твои каталоги - у тебя должны быть права.


--------------------
PM MAIL WWW   Вверх
Date
Дата 8.12.2009, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 221
Регистрация: 22.3.2006
Где: Алматы

Репутация: нет
Всего: 3



выдается ли сообщение "Не могу скопировать"???

выдает ли ошибку PHP? 


попробовал ли вариант который предложил bars80080
--------------------
Люди не будьте свиньями, Бросайте мусор в урны.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0843 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.