CMS Eleanor - Поиск
Полная версия этой страницы: Официальный форум Eleanor CMS » Не создает изображение
Официальный форум Eleanor CMS » Для вебмастеров и владельцев сайтов » Комната программистов
Maximkaboom
В общем решил перенести все свои сайты под Elronor и столкнулся еще с одной проблемой:

http://demo.boooom.ru/demotiv.html - здесь после добавления картинки и описания скрипт должен создавать файл в папке /uploads/demotivation

но этого не поисходит, кто может помочь, ниже ссылка на файл модуля
termit
Покажи кусок кода отвечающего за загрузку фото на сервер...
Maximkaboom
Цитата (termit @ 2010-05-09, 15:12)
Покажи кусок кода отвечающего за загрузку фото на сервер...

Весь файл прикрепил
termit
Сори, не заметил...
попробуй в этом месте
<img src="http://{$_SERVER[&#039;HTTP_HOST&#039;]}{$output}" wight="510px"><br />

Прописать не полный путь.
тоесть без {$_SERVER['HTTP_HOST']}
Maximkaboom
Цитата (termit @ 2010-05-09, 20:38)
Сори, не заметил...
попробуй в этом месте
[img]http://{$_SERVER[[/img]

Прописать не полный путь.
тоесть без {$_SERVER['HTTP_HOST']}




в этом месте, выводиться уже загруженая картинка
termit
я понимаю. Вылетает 403я ошибка, это значит что прямой доступ к этой папке мне не розрешён...
попробуй, а вдруг...
Также попробуй сначала сохранить темповскую картинку, а потом уже на ней рисовать...
Maximkaboom
Цитата (termit @ 2010-05-09, 20:48)
я понимаю. Вылетает 403я ошибка, это значит что прямой доступ к этой папке мне не розрешён...
попробуй, а вдруг...


смысла не вижу, выдает 403юю, потому что этого файла нет. смотрел через ФТП


А вот почему его там нет, я понять не могу..
termit
Вот когдато делал для одного модуля под АС. Посмотри может поможет
	  $userfile = $_FILES[&#039;userfile&#039;][&#039;name&#039;];													 // имя исходного файла
	$error="0";
	if $userfile!=="" { // проверка ввода даных
		$type = strtolower(end(explode(".", $_FILES[&#039;userfile&#039;][&#039;name&#039;]))); // узнаём разширение файла
		$mastype = explode(",", $conft[&#039;typefile&#039;]);								  // достаём список разрешённых форматов
		$error="1";																			   //предпологаем ошибку
		
		foreach($mastype as $value) {												   //
			if ($type==$value) $error="0";									   // если всё ок отключаем ошибку
		}
		if ($error=="1") {																	  // Вывод ошибки															
			head();
			teachers_navi();
			warning(_ERROR_TYPE, "", "", 2);
			foot();
		}
		if (file_exists("uploads/teachers/". $_FILES[&#039;userfile&#039;][&#039;name&#039;])) {   // Проверяем на существование файл
				head();
				teachers_navi();
				warning(_FILE_EXIST, "", "", 2);
				foot();
			} else {																		  // иначе копируем его
				copy($_FILES[&#039;userfile&#039;][&#039;tmp_name&#039;], "uploads/teachers/". $_FILES[&#039;userfile&#039;][&#039;name&#039;]);
				$foto ="uploads/teachers/". $_FILES[&#039;userfile&#039;][&#039;name&#039;];   // Создаём ссылку на файл
			}
						
	} elseif ($foto!=="") {													// непомню что здесь
			head();
			teachers_navi();
			warning(_CONFLICT, "", "", 2);
			foot();
	}
Maximkaboom
termit, что то я сам не могу допереть пока что.

И еще, практически без изменений этот скрипт работает под любым движком, а с Eleonor проблема. Видимо из-за каких то особенностей CMS о которых я незнаю
Alexander
А в чем проблема? Покажите участок кода, который не работает.

termit, использование функции copy, для заливки файлов - некорректно. Нужно использовать функцию move_uploaded_file.
termit
Цитата (Alexander @ 2010-05-09, 23:29)
termit, использование функции copy, для заливки файлов - некорректно. Нужно использовать функцию move_uploaded_file.
Спасибо, буду знать)
Maximkaboom
Цитата (Alexander @ 2010-05-10, 1:29)
А в чем проблема? Покажите участок кода, который не работает.

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

В первом посте прикрепил весь файл
Maximkaboom
 
if (isset($_FILES["file"])){ 
   if(move_uploaded_file($_FILES["file"]["tmp_name"],
     "/uploads/demotiv/".$_FILES["file"]["name"]))
   {
     echo("Файл успешно загружен");
   } else {
      echo("Ошибка загрузки файла");
   }
}



Ну вот например....не работает даже вот это=)))
Alexander
Maximkaboom, а Вы в курсе, как PHP понимает "/uploads/demotiv/"? Замените:

"/uploads/demotiv/".$_FILES["file"]["name"]


На
$Mainclass->root_path."uploads/demotiv/".$_FILES["file"]["name"]
Maximkaboom
Alexander, спасибо теперь все понял
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.