[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка
Dmitry
Здравствуйте,
при перемешение файла с компа на сервер возникает такая ошибка:

Warning: move_uploaded_file(): open_basedir restriction in effect. File(/img/1.JPG) is not within the allowed path(s): (/www/doc/www.ceskorusko.cz:/disk2/doc/www.ceskorusko.cz:/usr/share/php:/www/tmp:/tmp) in /www/doc/www.ceskorusko.cz/www/functions.inc.php on line 14

помогите пожалуйсто от нее избавиться. Спасибо большое.



Спустя 1 час, 25 минут, 24 секунды (13.03.2009 - 13:33) twin написал(а):
Чур её, чур! Изыди, ошибка, сгинь с глаз долой!
Помогло?
Если нет, то код в студию.

Спустя 10 минут, 5 секунд (13.03.2009 - 13:43) Dmitry написал(а):
Вот функция:

function upload($_FILES,$url,$maxsize = 1024){
if($_FILES['IMG']['name'] !=''){
if($_FILES['IMG']['size'] != 0 AND $_FILES['IMG']['size']<=($maxsize*1024)) {
if($_FILES['IMG']['type'] = 'image/jpeg') {
if(is_uploaded_file($_FILES['IMG']['tmp_name'])) {
if(move_uploaded_file($_FILES['IMG']['tmp_name'], $url."/".basename($_FILES['IMG']['name']))) {
return TRUE;
} else { return FALSE;}
} else { return FALSE;}
} else { return FALSE;}
} else { return FALSE;}

}
}

Спустя 9 минут, 26 секунд (13.03.2009 - 13:52) twin написал(а):
Чесно говоря, лень даже разбирать эти завалы. Вот функция, работает как часы. Можно максимальный вес еще добавить и всё.
PHP
<?
function 
up_file()


$arr = array(".gif",".jpg",".jpeg",".png",".swf");
    if( 
$_FILES['file']['error'] == && $_FILES['file']['size'] > )
    {
    
$type strrchr($_FILES['file']['name'], ".");
    
$name date("U").$type;
    
$upname "image/".$name;

        if(
in_array($type,$arr))
        
move_uploaded_file($_FILES['file']["tmp_name"],$upname);

        if(
file_exists($upname))    
        return 
$name;
        else
        return 
false;    
    }
    else
    {
return 
false;    
    }
}


Спустя 2 часа, 32 минуты, 2 секунды (13.03.2009 - 16:24) Dmitry написал(а):
Спасибо огромное, теперь никаких ошибок нету huh.gif
Только файл почемуто в папку не загружается...урл проверил все правильно..

Спустя 2 часа, 6 минут, 39 секунд (13.03.2009 - 18:31) twin написал(а):
В одном уровне со скриптом должна быть директория image Вот туда и будет грузится.

Спустя 11 минут, 17 секунд (13.03.2009 - 18:42) Dmitry написал(а):
Я поменял на свои директории и находятся они в одной папке, но фотки не закачиваются, только в БД записываются и потом если в ручную перекинуть их в папку то все ок.

Спустя 9 минут, 11 секунд (13.03.2009 - 18:51) twin написал(а):
Код вызова функции покажи

Спустя 3 минуты, 13 секунд (13.03.2009 - 18:54) Dmitry написал(а):
if(up_file !==FALSE) {
$q5 ="INSERT INTO gallery VALUES ('".$_FILES['FILE']['name']."','".$_POST['desc']."','".date("d-m-Y")."')";
if(@mysql_query($q5)) {
}
}
else {echo 'Error <br/>';}

Спустя 1 минута, 8 секунд (13.03.2009 - 18:56) Dmitry написал(а):
извини mysql_query по середине лишнее

if(up_file !==FALSE) {
$q5 ="INSERT INTO gallery VALUES ('".$_FILES['FILE']['name']."','".$_POST['desc']."','".date("d-m-Y")."')";
}
else {echo 'Error <br/>';}

Спустя 9 минут, 20 секунд (13.03.2009 - 19:05) twin написал(а):
Вот так попробуй:
PHP
if(up_file !==FALSE) {
$q5 ="INSERT INTO gallery VALUES ('".up_file()."','".$_POST['desc']."','".date("d-m-Y")."')";
}
else {echo 'Error <br/>';}
И зря из POST суёшь в базу данные. Поломают твой сайт. mysql_escape_string() И дату мускул умеет сам ставить.

Спустя 38 минут, 5 секунд (13.03.2009 - 19:43) Dmitry написал(а):
Не идет, ну ничего щас буду биться с этим, надеюсь сделаю) Спасибо за ответы!!!

Да я еще только учусь, вот щас первый сайт на web выложил, поэтому еще таких тонкостей не знаю о POSTe wink.gif расскажи пожалуйсто в двух словах как надо правильно записывать в БД? Спасибо

Спустя 19 минут, 37 секунд (13.03.2009 - 20:03) twin написал(а):
Функцию надо вызвать один раз, переменную инициализировать и обработать mysql_escape_string(), А полю с датой в бд поставь тип DATETIME и попробуй так:
PHP
$filename = up_file();
$desc = isset($_POST['desc'])?mysql_escape_string($_POST['desc']):NULL;
if(
$filename) {
$q5 ="INSERT INTO gallery VALUES ('".$filename."','".$desc."', NOW())";
$res = mysql_query($q5);
}
if(!
$res)
echo 'Error <br/>';

Только следи за магическими кавычками.

Спустя 16 минут, 41 секунда (13.03.2009 - 20:19) Dmitry написал(а):
Идет biggrin.gif Спасибо огромное еще раз.

Спустя 6 минут, 37 секунд (13.03.2009 - 20:26) Dmitry написал(а):
Блин я в шоке, кинул на сервер новые коды, и пришел к тому с чего начинал...

Warning: move_uploaded_file(): open_basedir restriction in effect. File(/gallery/1236965012.jpg) is not within the allowed path(s): (/www/doc/www.ceskorusko.cz:/disk2/doc/www.ceskorusko.cz:/usr/share/php:/www/tmp:/tmp) in /www/doc/www.ceskorusko.cz/www/functions.inc.php on line 36
Error

Может это как то с тех поддержкой связано, может им написать?

Спустя 2 минуты, 57 секунд (13.03.2009 - 20:29) twin написал(а):
Посмотри внимательно, то ли залил. Не должно быть такой ошибки.

Спустя 35 минут, 24 секунды (13.03.2009 - 21:04) Viking написал(а):
да вы че, сговорились все чтоли?
Цитата
Warning: move_uploaded_file(): open_basedir restriction in effect. File(/img/1.JPG) is not within the allowed path(s): (/www/doc/www.ceskorusko.cz:/disk2/doc/www.ceskorusko.cz:/usr/share/php:/www/tmp:/tmp) in /www/doc/www.ceskorusko.cz/www/functions.inc.php on line 14
Цитата
open_basedir string

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

Спустя 16 минут, 43 секунды (13.03.2009 - 21:21) Viking написал(а):
Цитата
Warning: move_uploaded_file(): open_basedir restriction in effect. File(/gallery/1236965012.jpg) is not within the allowed path(s): (/www/doc/www.ceskorusko.cz:/disk2/doc/www.ceskorusko.cz:/usr/share/php:/www/tmp:/tmp) in /www/doc/www.ceskorusko.cz/www/functions.inc.php on line 36

откуда тут слеш появился? со слешем оно в /gallery в корневой директории копируется

Спустя 21 час, 35 минут, 6 секунд (14.03.2009 - 18:56) Dmitry написал(а):
если я слеш убираю то выскакивает:

Warning: move_uploaded_file(gallery/1237046179.jpg): failed to open stream: Permission denied in /www/doc/www.ceskorusko.cz/www/functions.inc.php on line 36

Warning: move_uploaded_file(): Unable to move '/www/tmp/phpBw0wR4' to 'gallery/1237046179.jpg' in /www/doc/www.ceskorusko.cz/www/functions.inc.php on line 36
Error

Спустя 12 минут, 24 секунды (14.03.2009 - 19:08) twin написал(а):
Прав не хватает на директорию gallery Надо 777

Спустя 8 минут, 44 секунды (14.03.2009 - 19:17) Dmitry написал(а):
Написал вот так:

chmod("gallery/", 0777);
$upname = "gallery/".$name;

опять ничего, ошибка:

Warning: chmod(): Operation not permitted in /www/doc/www.ceskorusko.cz/www/functions.inc.php on line 33

Спустя 1 минута, 22 секунды (14.03.2009 - 19:19) Viking написал(а):
дык вручную надо ставить, если бы скрипт мог сам права изменить изменить, он бы и записать туда смог

Спустя 16 минут, 42 секунды (14.03.2009 - 19:35) Dmitry написал(а):
а как в ручную поставить?

Спустя 8 минут, 33 секунды (14.03.2009 - 19:44) Viking написал(а):
вот где ты эту папку создавал и через что файлы на сервер заливаешь, там скорее всего и должны быть возможность права менять

Спустя 18 часов, 54 минуты, 36 секунд (15.03.2009 - 14:38) Dmitry написал(а):
я заливал через total commander а создавал в windows, я попробовал сделал общий доступ в windows потом залил через total, ничего...(еще в столбце attr в total commander около папок написано 755 а у php файлов 644, получается что доступ общий включен)

Я тут еще гдето прочитал, что это может быть связано с tmp папкой, может быть в этом проблема, то что у меня используется папка C:/windows/temp a должна использоваться на сервере?

Спустя 30 минут, 20 секунд (15.03.2009 - 15:09) Viking написал(а):
Цитата
я заливал через total commander а создавал в windows, я попробовал сделал общий доступ в windows потом залил через total, ничего...(еще в столбце attr в total commander около папок написано 755 а у php файлов 644, получается что доступ общий включен)

у папок должно быть 777, 755 дает права на запись только владельцу, апач сервера вряд ли им является
устанавливать надо на сервере, а не в виндоус, найди папку в которую картинки заливаешь, файл->изменить аттрибуты - поставь ей все галки
Цитата
Я тут еще гдето прочитал, что это может быть связано с tmp папкой, может быть в этом проблема, то что у меня используется папка C:/windows/temp a должна использоваться на сервере?

у тебя этот путь что, где-то в скрипте прописан?

Спустя 56 минут, 50 секунд (15.03.2009 - 16:06) Dmitry написал(а):
Все работает biggrin.gif Спасибо огромное!!!!
Можно еще такой вопрос, какую прогу Вы бы посоветовали использопать для закачивания файлов на сайт?

Спустя 3 минуты, 32 секунды (15.03.2009 - 16:09) Viking написал(а):
имхо в виндах лучше тотал командера ничего нет

Спустя 1 минута, 3 секунды (15.03.2009 - 16:10) Dmitry написал(а):
Ясно спасибо

Спустя 4 часа, 35 минут, 58 секунд (15.03.2009 - 20:46) kirik написал(а):
Цитата (Viking @ 15.03.2009 - 08:09)
имхо в виндах лучше тотал командера ничего нет

++ smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.