Просмотр файла siwap.ru/AJAX/uploadImg.php

Размер файла: 2.42Kb
<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/system/App.php';

$max = 5;
$type = ['jpg','gif','png','jpeg', 'bmp'];
$me['id'] = !empty($me) ? $me['id'] : 0;
$uploadDir = ROOT.'/uploads/tmp/'; 
$guestHash = isset($_COOKIE['guest_hash']) && empty($me['id']) ? htmlspecialchars($_COOKIE['guest_hash']) : null;

if(!is_dir( $uploadDir)) mkdir( $uploadDir, 0777 );

if(isset($_POST) && $_SERVER['REQUEST_METHOD'] == 'POST')
{
	$files = $_FILES;
    $formId = isset($_POST['form_id']) ? intval($_POST['form_id']) : null;
    $countFiles = count($files);
    
	if(empty($files) || $countFiles < 1)
	{
		$json = ['error' => '1', 'comment' => 'Изображения не выбраны'];
	}
	else if($countFiles > $settings->max_files_to_download && $me['vip'] != 1)
	{
		$json = ['error' => '1', 'comment' => 'Вы не можете загружать больше '.$settings->id.' изображений, у вас нет привелегии <a href="/pay/vip">VIP</a>'];
	}
	else
	{
		foreach($files as $value)
		{
			$name = $value['name'];
			$newName = $formId.'_'.preg_replace('/[^A-z0-9\.]+/u', '', $name);
	    	$uploadType = substr($name, strrpos($name, ".") + 1);
	    	
	    	if(!file_exists($value['tmp_name']))
	    	{
	    		$json = ['error' => '1', 'comment' => 'Выберите файл'];
	    	}
	    	elseif($value['size'] > (1048576 * $max))
	    	{
	    		$json = ['error' => '1', 'comment' => 'Вес файла должен быть не более '.$max.' мб'];
	    	}
	    	elseif(!in_array($uploadType, $type))
	    	{
	    		$json = ['error' => '1', 'comment' => 'Файл данного формата выгружать запрещено'];
	    	}
	    	else
	    	{
	            if(move_uploaded_file($value['tmp_name'], $uploadDir.$newName))
			    {
	    			if(Base::add('photos', ['name' => $newName, 'guest_hash' => $guestHash, 'user_id' => $me['id']]))
	    			{
	    				$json = ['success' => '1', 'comment' => 'Загрузка прошла успешно', 'count' => $countFiles];
	    			}
	    			else
	    			{
	    				$json = ['error' => '1', 'comment' => 'Ошибка записи изображения в бд'];
	    			}
			    }
			    else
	    		{
	    			$json = ['error' => '1', 'comment' => 'Ошибка загрузки изображения'];
	    		}
	    	}
	    }
    }
}
else
{
	$json = ['error' => '1', 'comment' => 'Пустое значение'];
}

echo json_encode($json, JSON_UNESCAPED_UNICODE);
?>