php Модуль загрузки файла на сайт с изменением его имени php Модуль загрузки файла на сайт с изменением его имени - Архив
php Модуль загрузки файла на сайт с изменением его имени
DownLoad_Free

php Модуль загрузки файла на сайт с изменением его имени - Архив

Нашли ошибку или
хотите что-то сообщить -
жмите Ctr+Enter Система Orphus



    [Ленточный вид форума] [Поиск] [RSS]



Страница 1 из 11
Архив » История мировых и локальных событий » История развития сайта » php Модуль загрузки файла на сайт с изменением его имени (+уменьшение размера файла+проверка на допустимые расширения)
php Модуль загрузки файла на сайт с изменением его имени
Дата: Вторник, 03.04.2012, 09:24 | Сообщение # 1
Группа: Администраторы
Сообщений: 1524
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Save files2</title>
</head>

<body>
<center>

<?php
function resize_image_jpeg($file, $out, $w = 200, $q = 90) {
if(empty($file) | empty($out)) return false;
$src = imagecreatefromjpeg($file);
$w_src = imagesx($src);
$h_src = imagesy($src);
$ratio = $w_src/$w;
$w_dest = round($w_src/$ratio);
$h_dest = round($h_src/$ratio);
$dest = imagecreatetruecolor($w_dest, $h_dest);
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);
imagejpeg($dest, $out, $q);
imagedestroy($dest);
imagedestroy($src);
return true;
}

function resize_image_gif($file, $out, $w = 200, $q = 90) {
if(empty($file) | empty($out)) return false;
$src = imagecreatefromgif($file);
$w_src = imagesx($src);
$h_src = imagesy($src);
$ratio = $w_src/$w;
$w_dest = round($w_src/$ratio);
$h_dest = round($h_src/$ratio);
$dest = imagecreatetruecolor($w_dest, $h_dest);
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);
imagegif($dest, $out, $q);
imagedestroy($dest);
imagedestroy($src);
return true;
}

function resize_image_png($file, $out, $w = 200, $q = 90) {
if(empty($file) | empty($out)) return false;
$src = imagecreatefrompng($file);
$w_src = imagesx($src);
$h_src = imagesy($src);
$ratio = $w_src/$w;
$w_dest = round($w_src/$ratio);
$h_dest = round($h_src/$ratio);
$dest = imagecreatetruecolor($w_dest, $h_dest);
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);
imagegif($dest, $out, $q);
imagedestroy($dest);
imagedestroy($src);
return true;
}

/*
* Загрузка файла на сервер
* Автор: Mowshon (Live-code.ru)
* Дата: 11.11.13
*/
// Максимально допустимый размер загружаемого файла - 5Мб
$MaxFileSizeInBytes = 5242880;
// Разрешение расширения файлов для загрузки
$AllowFileExtension = array('jpg', 'png', 'jpeg', 'gif', 'rar', 'zip', 'doc', 'pdf', 'djvu','xls','xlsx','docx');
// Оригинальное название файла
$FileName0 = $_FILES['uploaded_file']['name'];
//echo $FileName0;
$FileExtension0 = pathinfo($FileName0, PATHINFO_EXTENSION);
$Name_Rand = mt_rand(10000000,99999999);
$FileName=$Name_Rand.'.'.$FileExtension0;
// Полный путь до временного файла
$TempName = $_FILES['uploaded_file']['tmp_name'];
// Папка где будут загружатся файлы
$UploadDir = "../uploads/";
$UploadDirSm = "../uploads/sm/";
// Полный путь к новому файлу в папке сервера
$NewFilePatch = $UploadDir.$FileName;
$NewFilePatchSm = $UploadDirSm.$FileName;
if($FileName) {
// Проверка если расширение файла находится в массиве доступных
$FileExtension = pathinfo($FileName, PATHINFO_EXTENSION);
if(!in_array($FileExtension, $AllowFileExtension)) {
if($FileExtension!="") echo "Файлы с расширением {$FileExtension} не допускаются";
}
else {
// Проверка размера файла
if(filesize($TempName) > $MaxFileSizeInBytes) {
echo "Размер загружаемого файла превышает 5МБ";
}
else {
// Проверяем права доступа на папку
if(!is_writable($UploadDir)) {
echo "Папка ".$UploadDir." не имеет прав на запись";
}
else {
// Копируем содержимое временного файла $TempName и создаем нового в папке сервера
$CopyFile = copy($TempName, $NewFilePatch);
if(!$CopyFile) {
echo "Возникла ошибка, файл не удалось загрузить!";
}
else {
echo "Файл успешно загружен!<br />Ссылка на файл: <a href='{$NewFilePatch}'>{$NewFilePatch}</a>";

if($FileExtension=="gif") {
resize_image_gif($NewFilePatch, $NewFilePatchSm, 100, 90);
echo "<br />Ссылка на Превью: <a href='{$NewFilePatchSm}'>{$NewFilePatchSm}</a>";
}
if($FileExtension=="jpeg" || $FileExtension=="jpg") {
resize_image_jpeg($NewFilePatch, $NewFilePatchSm, 100, 90);
echo "<br />Ссылка на Превью: <a href='{$NewFilePatchSm}'>{$NewFilePatchSm}</a>";
}
if($FileExtension=="png") {
resize_image_png($NewFilePatch, $NewFilePatchSm, 100, 90);
echo "<br />Ссылка на Превью: <a href='{$NewFilePatchSm}'>{$NewFilePatchSm}</a>";
}

}
}
}
}
}
?>

<h4 align='center'>Загрузка файла на сервер</h4>
<form method="post" name="upload_form" action="" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="5242880" />
<p align='center'>
<input name="uploaded_file" type="file" title="Максимальный размер файла: 5 мб."><input type="submit" value="Load"></p>
</form>

</body></html>

-------------------------------------------------
Основа скрипта написана Mowshon (Live-code.ru) и доработана anikey99(kachay.ucoz.org)
 
Дата: Вторник, 03.04.2012, 09:27 | Сообщение # 2
Группа: Администраторы
Сообщений: 1524
для работы скрипта необходимо создать директории uploads и uploads/sm/(уровнем выше скрипта или укажите свой путь к ним). Директории должны иметь доступ на запись (777)
 
Дата: Пятница, 15.06.2012, 11:16 | Сообщение # 3
Группа: Гости





а если использовать функцию php для генерации случайного имени???
например я взял как основу тот же скрипт но сделал след. изменения:
добавил переменную
// Расширение оригинального файла
$Ext = (pathinfo($FileName)['extension']);
что бы присваивать расширение.

$NewFilePath = $UploadDir.uniqid().'.'.$ext;
 
Дата: Пятница, 15.06.2012, 14:06 | Сообщение # 4
Группа: Администраторы
Сообщений: 1524
лишь бы это работало и вы понимали как ))
 
Дата: Вторник, 17.12.2013, 11:51 | Сообщение # 5
Группа: Администраторы
Сообщений: 1524
jquery загрузка файлов на сайт
http://blueimp.github.io/jQuery-File-Upload/angularjs.html
 
Архив » История мировых и локальных событий » История развития сайта » php Модуль загрузки файла на сайт с изменением его имени (+уменьшение размера файла+проверка на допустимые расширения)
Страница 1 из 11
Поиск:


Copyright kachay.ucoz.org © 2008-2016Хостинг от uCoz
^ Наверх ^
Пригодилось!