Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ошибка Permission denied
 
 автор: Dmitry1988   (09.03.2009 в 23:35)   письмо автору
 
 

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

Warning: move_uploaded_file(/www/doc/www.ceskorusko.cz/www/img/75fbb7f751dcbed3164815928ce30210): failed to open stream: Permission denied in /www/doc/www.ceskorusko.cz/www/functions.inc.php on line 14

Warning: move_uploaded_file(): Unable to move '/www/tmp/php6gwmQh' to '/www/doc/www.ceskorusko.cz/www/img/75fbb7f751dcbed3164815928ce30210' in /www/doc/www.ceskorusko.cz/www/functions.inc.php on line 14
Проблема при закачке файла

Вот функция upload_file:

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."/".md5(basename($_FILES['IMG']['name'])))) {
return TRUE;

} else { return FALSE;}
} else { return FALSE;}
} else { return FALSE;}
} else { return FALSE;}

}
}

Спасибо большое

  Ответить  
 
 автор: Slo_Nik   (09.03.2009 в 23:42)   письмо автору
 
   для: Dmitry1988   (09.03.2009 в 23:35)
 

а зачем ты применяешь md5()?
убери и попробуй не хешировать имя. насколько я понял это из-за этого

  Ответить  
 
 автор: Dmitry1988   (09.03.2009 в 23:52)   письмо автору
 
   для: Slo_Nik   (09.03.2009 в 23:42)
 

Попробовал тоже самое...

  Ответить  
 
 автор: Slo_Nik   (10.03.2009 в 00:26)   письмо автору
 
   для: Dmitry1988   (09.03.2009 в 23:52)
 

ну а всё таки, зачем md5()?

  Ответить  
 
 автор: Dmitry1988   (10.03.2009 в 10:49)   письмо автору
 
   для: Slo_Nik   (10.03.2009 в 00:26)
 

Не знаю учили так)) все кодировать)

  Ответить  
 
 автор: Slo_Nik   (10.03.2009 в 23:14)   письмо автору
 
   для: Dmitry1988   (10.03.2009 в 10:49)
 

ну пароль закодировать это я понимаю, а название файла зачем? и будет название файла из 32 символов....

  Ответить  
 
 автор: Usta   (10.03.2009 в 00:25)   письмо автору
 
   для: Dmitry1988   (09.03.2009 в 23:35)
 

попробуй открыть папке доступ на копирование
 
if($_FILES['IMG']['type'] = 'image/jpeg') {
chmod($url."/", 0777);
if(is_uploaded_file($_FILES['IMG']['tmp_name'])) {
.....................................
потом после копирования:
chmod($url."/", 0644);

  Ответить  
 
 автор: Dmitry1988   (10.03.2009 в 10:54)   письмо автору
 
   для: Usta   (10.03.2009 в 00:25)
 

Сделал теперь пишет:

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

Получается, что у меня нету разрешения копировать файля на сервер???

  Ответить  
 
 автор: Dmitry1988   (10.03.2009 в 10:57)   письмо автору
 
   для: Dmitry1988   (09.03.2009 в 23:35)
 

Я щас посмотрел, оказывается у меня все данные заносятся в БД, но файл не перекачивается с компа на сервер! Но если я его закачаю сам, то все отображается...

  Ответить  
 
 автор: Usta   (10.03.2009 в 12:29)   письмо автору
 
   для: Dmitry1988   (10.03.2009 в 10:57)
 

У вас похоже $url не верен. как вы его задаете?? пишите $url или
 <?
$url 
$_SERVER['HTTP_HOST']."/"папка;  //если файл загрузки находится глубока на сайте
или
$url 
= ../папка;  // если файл загрузки находится в той же папке куда нужно закачивать файл. ?> 

  Ответить  
 
 автор: Dmitry1988   (10.03.2009 в 16:11)   письмо автору
 
   для: Usta   (10.03.2009 в 12:29)
 

Я его задаю вот так:
$url = "/www/doc/www.ceskorusko.cz/www/img";

по этомуже адресу у меня лежит и .htaccess и .htpasswd, поэтому я его написал так, а на локальном сервере у меня просто:

$url = "img";

  Ответить  
 
 автор: Slo_Nik   (10.03.2009 в 23:24)   письмо автору
 
   для: Dmitry1988   (10.03.2009 в 16:11)
 

где папка для файла находится? в той же папке где и сам скрипт ли где? папка существует в которую надо файл поместить?

  Ответить  
 
 автор: Slo_Nik   (10.03.2009 в 23:25)   письмо автору
 
   для: Dmitry1988   (10.03.2009 в 16:11)
 

где папка для файла находится? в той же папке где и сам скрипт ли где? папка существует в которую надо файл поместить?

  Ответить  
 
 автор: Dmitry1988   (11.03.2009 в 15:48)   письмо автору
 
   для: Slo_Nik   (10.03.2009 в 23:25)
 

Да в тойже папке, ага существует

  Ответить  
 
 автор: Slo_Nik   (12.03.2009 в 00:38)   письмо автору
 
   для: Dmitry1988   (11.03.2009 в 15:48)
 

я тут подумал... а как ты задаёшь enctype?
если в базу грузит, то проверяй путь и enctype

  Ответить  
 
 автор: Dmitry1988   (12.03.2009 в 12:43)   письмо автору
 
   для: Slo_Nik   (12.03.2009 в 00:38)
 

Ты имееш ввиду enctype у формы?

Слушай я кажись нашел правильный url :-)
Но теперь он мне кидает ошибку по поводу уникального номера, который я вообще не задавал....

Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid/gid is 21063/21063 is not allowed to access / owned by uid/gid 0/0 in /www/doc/www.ceskorusko.cz/www/functions.inc.php on line 39

  Ответить  
 
 автор: Slo_Nik   (12.03.2009 в 16:11)   письмо автору
 
   для: Dmitry1988   (12.03.2009 в 12:43)
 

enctype у формы.
по поводу уникального номера ни чего тебе сказать не могу.
если запись заносится в базу, а файл не копируется, то остаётся одно, что то не так у тебя в пути по котороуму надо сохранить файл.
enctype должен быть multypart/form-data.
я делал это всё без функции обработки, посмотри, может тебе поможет.
<?php if(!empty($_FILES['file']['tmp_name'])){
/* создаём директорию для хранения изображения */
   
$dir "img";
   @
mkdir($dir0777);
/* если существует временный файл... */
   
if(file_exists($_FILES['file']['tmp_name'])){
       
/* создаём список разрешённых расширений файлов */
       
$extention = array(".jpg",".gif");
       
/* получаем расширение файла */
       
$ext strtolower(strrchr($_FILES['file']['name'], "."));
       
/* есил расширение файла разрешено - продолжаем обработку */
       
if(in_array($ext$extention)){
       
move_uploaded_file($_FILES['file']['tmp_name'],"img/".$_FILES['file']['name']);
       echo 
"<strong>файл успешно загружен</strong><br />";
       
       
/* выводим изображение */
       
echo "<img src='img/".$_FILES['file']['name']."'><br>";
       
/* выводим ссылку на изображение */
       
$patch "img/".$_FILES['file']['name']; ?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования