Привет, может кто помочь? При загрузке фото выводится /red/files/image/имя файла.jgp, а нужно сайт.ру/red/files/image/имя файла.jgp файла.jgp В чем здесь проблема? если в $save_url указать абсолютный путь, имя сайта пропадает
<?php
require_once 'JSON.php';
$php_path = dirname(__FILE__) . '/';
$php_url = dirname($_SERVER['PHP_SELF']) . '/';
//Путь к каталогу сохранения файлов
$save_path = $php_path . '../files/';
//Файл сохранить URL-адрес каталога
$save_url = $php_url . '../files/';
//Определение расширений файлов, которые можно загрузить
$ext_arr = array(
'image' => array('gif', 'jpg', 'jpeg', 'png', 'bmp'),
'flash' => array('swf', 'flv'),
'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'),
'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'htm', 'html', 'txt', 'zip', 'rar', 'gz', 'bz2'),
);
//Максимальный размер файла 10 мегабайт
$max_size = 10000000;
$save_path = realpath($save_path) . '/';
//Ошибка загрузки PHP
if (!empty($_FILES['imgFile']['error'])) {
switch($_FILES['imgFile']['error']){
case '1':
$error = 'Больше, чем php.ini позволяет размер.';
break;
case '2':
$error = 'Размер, превышающий допустимый размер формы.';
break;
case '3':
$error = 'Загружаются только части изображения.';
break;
case '4':
$error = 'Пожалуйста, выберите изображение.';
break;
case '6':
$error = 'Временный каталог не найден.';
break;
case '7':
$error = 'Ошибка записи файлов на жесткий диск.';
break;
case '8':
$error = 'Загрузка файла остановлена расширением.';
break;
case '999':
default:
$error = 'Неизвестная ошибка.';
}
alert($error);
}
//Когда вы загружаете файлы.
if (empty($_FILES) === false) {
//Исходное имя
$file_name = $_FILES['imgFile']['name'];
//Имя временного файла на сервере.
$tmp_name = $_FILES['imgFile']['tmp_name'];
//Размер файла.
$file_size = $_FILES['imgFile']['size'];
//Проверка имени файла.
if (!$file_name) {
alert("Выберите файл.");
}
//Проверка каталога.
if (@is_dir($save_path) === false) {
alert("Загруженный каталог не существует.");
}
//Проверка разрешений на запись в каталог
if (@is_writable($save_path) === false) {
alert("Загрузка каталога без разрешения на запись.");
}
//Проверка загрузки
if (@is_uploaded_file($tmp_name) === false) {
alert("Не удалось загрузить.");
}
//Проверьте размер файла
if ($file_size > $max_size) {
alert("Размер файла загрузки превышает лимит.");
}
//Проверьте имя каталога
$dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']);
if (empty($ext_arr[$dir_name])) {
alert("Имя каталога неверно.");
}
//Получить расширение файла
$temp_arr = explode(".", $file_name);
$file_ext = array_pop($temp_arr);
$file_ext = trim($file_ext);
$file_ext = strtolower($file_ext);
//Проверка расширения
if (in_array($file_ext, $ext_arr[$dir_name]) === false) {
alert("Загрузка расширений файлов не допускается\только допустимо" . implode(",", $ext_arr[$dir_name]) . "Формат.");
}
//Создание папки
if ($dir_name !== '') {
$save_path .= $dir_name . "/";
$save_url .= $dir_name . "/";
if (!file_exists($save_path)) {
mkdir($save_path);
}
}
$ymd = date("Ymd");
$save_path .= $ymd . "/";
$save_url .= $ymd . "/";
if (!file_exists($save_path)) {
mkdir($save_path);
}
//Новое имя файла
$new_file_name = date("YmdHis") . '_' . rand(10000, 99999) . '.' . $file_ext;
//Перемещение файлов
$file_path = $save_path . $new_file_name;
if (move_uploaded_file($tmp_name, $file_path) === false) {
alert("Не удалось загрузить файл.");
}
@chmod($file_path, 0644);
$file_url = $save_url . $new_file_name;
header('Content-type: text/html; charset=UTF-8');
$json = new Services_JSON();
echo $json->encode(array('error' => 0, 'url' => $file_url));
exit;
}
function alert($msg) {
header('Content-type: text/html; charset=UTF-8');
$json = new Services_JSON();
echo $json->encode(array('error' => 1, 'message' => $msg));
exit;
}
?>