| Дата: Вторник, 03.04.2012, 09:24 | Сообщение # 1 |
Группа: Администраторы
Сообщений: 1530
| <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 |
Группа: Администраторы
Сообщений: 1530
| для работы скрипта необходимо создать директории 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 |
Группа: Администраторы
Сообщений: 1530
| лишь бы это работало и вы понимали как ))
|
|
| |