Переписать плагин заливки фото

Статус
В этой теме нельзя размещать новые ответы.

mdss

♖♘♗♕♔♗♘♖
Регистрация
20 Фев 2007
Сообщения
1.152
Реакции
710
Я использую визуальный редактор от имперави

Но проблема в том, что сервер у меня настроен нормально (мефиш привет) и при попытке залить фото вылезает ошибка
PHP:
function.copy]: open_basedir restriction in effect. File(/home/mdss/data/mod-tmp/phpWQGG5n) is not within the allowed path(s): (/home/mdss/data/www/site.ru:.) in /home/mdss/data/www/site/admin/templates/editors/visual/upload.php on line 13
http://redactor/tmp/1.jpg" />
Мне непонятно, почему плагин пытается лить фотки через корень сервера, и я даже хз куда копать, т.к. пых для меня темный лес
 
скрипт правильно работает и пишет файл вначале в temp, а потом копирует/переносит куда надо.

Права на mod-tmp у apache, а php файл у mdss, нужно восстановить справедливость и отдать все apache :)
 
папка mod-tmp выше директории домена, туда закрыт доступ всем ) Вообще выше директории домена не пробраться
 
в общем я подумал что это проблемы моего сервака, т.к. его настройки просто параноидальные (но тем не менее я не буду их менять). Плагин был переписан. Если нужен код, выкладываю ниже:
PHP:
<?php
	$dir = $_SERVER['DOCUMENT_ROOT'].'/photos/';
	$WebDir = '/photos/';
	$_FILES['file']['type'] = strtolower($_FILES['file']['type']);
	function get_image_info($file = NULL)
	{
		if(!is_file($file)) return false;
		if(!$data = getimagesize($file) or !$filesize = filesize($file)) return false;
		$extensions = array(
			1 => 'gif',    2 => 'jpg',
			3 => 'png',    4 => 'swf',
			5 => 'psd',    6 => 'bmp',
			7 => 'tiff',    8 => 'tiff',
			9 => 'jpc',    10 => 'jp2',
			11 => 'jpx',    12 => 'jb2',
			13 => 'swc',    14 => 'iff',
			15 => 'wbmp',    16 => 'xbmp');
		$result = array(
			'width'		=>    $data[0],
			'height'	=>    $data[1],
			'extension'	=>    $extensions[$data[2]],
			'size'		=>    $filesize,
			'mime'		=>    $data['mime']);
		return $result;
	}
	$valid_extensions = array('gif', 'jpg', 'png');
	if(!$image_info = get_image_info($_FILES['file']['tmp_name']) or !in_array($image_info['extension'], $valid_extensions))
	{
		exit();
	}
	else
	{
		$upload_file_name = uniqid(NULL, true).'.'.$image_info['extension'];
		if(@move_uploaded_file($_FILES['file']['tmp_name'], $dir.$upload_file_name)){
			echo  $WebDir.$upload_file_name;   
		}
	}
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху