@s1mypj
Начинающий web-программист.

Как исправить ошибку Apache, при загрузке фотографии на сайт?

function isSecurity($avatar){
 	$name = $avatar["name"];
 	$type = $avatar["type"];
 	$size = $avatar["size"];

 	$blacklist = array(".php", ".html", ".phtml", ".php3", ".php4", ".png");
 	foreach ($blacklist as $item){
 		if( preg_match("/$item\$/i", $name) ) return false;
 	}
 	if (( $type != "image/jpeg" ) && ( $type != "image/jpg" )) return false;
 	if ( $size > 5 * 1024 * 1024 ) return false;
 	return true;
 }
 function loadAvatar($avatar){
 	$type = $avatar["type"];
 	$tmp = $avatar["tmp_name"];
 	$uploaddir = "http://100master.info/wp-content/themes/malyar-kz/accets/img/master_avatar/";
 	$name = $_SESSION['logged_user']->user_login.".".substr($type, strlen("image/"));
 	$uploadfile = $uploaddir.$name;
 	if(move_uploaded_file($tmp, $uploadfile)){
		return true;
	}else return false;
 }

// Обработка Аватара
 if ( isset($_POST["do_edit_master"]) ){
 	$avatar = $_FILES["avatar"];
 	// Проверка Аватара
 	if ( isSecurity($avatar) ) {
                // Загрузка аватара
 		if ( loadAvatar($avatar) ){
 			$great = "Ошибок нет";
 		}else $massage = "Ошибка при загрузки автараки.";
 	}else $massage = "Ошибка при загрузки автараки. Неправильный формат, либо слишком большой размер файла.";
}


На форме enctype="multipart/form-data" стоит.
Права ко всем каталогам и файлам в корне сайта 755, с этим проблем не должно быть.
Когда загружаю фото выдаёт ошибку "Ошбика при загрузки аватраки", то есть по размеру и формату подходит.
Сайт на WP, не уверен правильно ли написан путь к папке($uploaddir).
5c8662e229983957890719.png
Страница находится в malyar-kz.
Ошибка есть в серверных логах, а именно проблема с APACHE, как её решить не знаю, ругается именно на строку с if(move_uploaded_file($tmp, $uploadfile)).
5c866359cf78c418673728.png
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
sHinE
@sHinE
веб-разработчик, php/js/mysql и сопутствующее
Каталог для загрузки файлов надо указывать не как ссылку, а как путь в файловой системе
$uploaddir = "/var/www/vhosts/100master.info/httpdocs/100master.info/wp-content/themes/malyar-kz/accets/img/master_avatar/";

или относительно файла со скриптом
$uploaddir = __DIR__."/../wp-content/themes/malyar-kz/accets/img/master_avatar/";

количество ../ сами определите
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы