Помощник
Простейший код для загрузки картинок на хостинг |
oduvan4ik
|
Сообщение
#1
|
||
|
|
||
|
|||
Vialls_mw |
10.8.2008, 15:34;
Ответить: Vialls_mw
Сообщение
#2
|
|
<form action="images.php" method="post" enctype="multipart/form-data"> Выбирете рисунок: <input type="file" name="image" /> <br /> <input type="submit" name="load" value="Загрузить" /> </form> <?php $exts = array("jpg", "gif", "bmp", "png"); // Допустимые расширения файла if (isset($_POST["load"])) // Если пользователь нажал кнопку { $image = $_FILES["image"]; if ($image["error"] == 0) // Если при загрузке не возникло ошибок { $ext = substr($image["name"], strrpos($image["name"], ".")+1, strlen($image["name"])+1); if (in_array(strtolower($ext), $exts)) // Если расширение файла подходит { copy($image["tmp_name"], $image["name"]); // Копируем из временной папки в текущую echo "Файл загружен"; } else { echo "Не верное расширение файла"; } } } ?> С вас пиво |
|
|
ZiTosS |
20.12.2008, 15:21;
Ответить: ZiTosS
Сообщение
#3
|
|
Код рабочий, смотрите выше Только Vialls сделал загрузку в текущий каталог, из которого запускается скрипт. Для изменения вам просто надо изменить путь в функции copy() во втором параметре.
А хостинги Ayola и остальные бесплатные конечно подойдут. Только надо учесть 2 нюанса. 1) Права на загрузку - на папку в которую загружаем, должны стоять права не ниже 755 2) Доступ к файлу - иногда установлены такие настройки, что любой файл закачиваемый на сервер, получает права, что доступ к нему возможен только по FTP. Тогда нужно использовать PHP функцию exec() exec("chmod 644 $image['name']");
|
|
|
kolesgan |
7.1.2011, 16:07;
Ответить: kolesgan
Сообщение
#4
|
|
А как переделать скрипт таким образом, чтобы:
1. файл сохранялся по другим именем, типа - Cat1_id1.jpg 2. размеры изображения переорматировывались под определнные размеры |
|
|
Symphony |
17.1.2011, 23:16;
Ответить: Symphony
Сообщение
#5
|
|
1.
kакому-то знакомому писал, он хотел загружать файлы приписывая к имени файла сегоднишнюю дату(типа имя файла: картинка.джипег, на сервер в папку /имадже/ загружаеться как 2010_12_26_картинка.джипег ) мож сделать что-то по аналогии. [php]<?php $date=date("Y_m_d"); if($_FILES["fileToUpload"]["size"] > 1024*2*1024) { echo ("Розмiр файлу бiльше нiж 2Мб"); exit; } if(copy($_FILES["fileToUpload"]["tmp_name"], $_SERVER['DOCUMENT_ROOT']."/image/".$date."_".$_FILES["fileToUpload"]["name"])) /* тут к имени файла приписываем сегодняшнюю дату */ { $name_img = ($date."_".$_FILES["fileToUpload"]["name"]); echo("Зображення завантажено успiшно!<br>"); echo ("<center><img src='../image/".$name_img."' /></center>"); echo("<h4>Характеристики зображення:</h4>"); echo("Iм'я зображення:"); echo(" ".$date."_".$_FILES["fileToUpload"]["name"]." "); echo("<br>Розмiр зображення: "); echo($_FILES["fileToUpload"]["size"]." байт"); echo("<br>Тип файла: "); echo($_FILES["fileToUpload"]["type"]); } else { echo("Помилка! Необхiдно перевiрити розмiр файлу(менше 2 Мб!) чи наявнiсть його взагалi."); } ?>[/php] 2. впадлу стало писать код в гугле 5 сек гуглить. [php]function imagesmartresize( $imSrc, $dstW, $dstH ) { $bkgColorHex = "FFFFFF"; $bkgColor = array( ); $i = 0; for (; $i < 6; $i += 2 ) { $bkgColor[] = hexdec( substr( $bkgColorHex, $i, 2 ) ); } $srcX = $srcY = $destX = $destY = 0; $w = imagesx( $imSrc ); $h = imagesy( $imSrc ); $ratio = $h / $dstH < $w / $dstW ? $dstW / $w : $dstH / $h; $destW = ceil( $w * $ratio ); $destH = ceil( $h * $ratio ); $destX = ceil( ( $dstW - $destW ) / 2 ); $destY = ceil( ( $dstH - $destH ) / 2 ); $imDst = imagecreatetruecolor( $dstW, $dstH ); $bkg = imagecolorallocate( $imDst, $bkgColor[0], $bkgColor[1], $bkgColor[2] ); imagefilledrectangle( $imDst, 0, 0, $dstW, $dstH, $bkg ); imagecopyresampled( $imDst, $imSrc, $destX, $destY, $srcX, $srcY, $destW, $destH, $w, $h ); return $imDst; } $new_file_name=$posts.$file_name.".jpg"; if($_FILES["filename"]["size"] > 1024*3*1024) { echo ("Размер файла превышает три мегабайта"); exit; } if(copy($_FILES["filename"]["tmp_name"],"files/" .$new_file_name )) { # получаем катринку шир 250 выс 200 $tumb_img=imagesmartresize( "files/" .$new_file_name, 250, 200 ); # пишем в файл перезатирая файл если есть стаким именем $fp=fopen("files/tumb/" .$new_file_name,"w+"); fwrite($fp,$tumb_img); fclose($fp); echo("Файл успешно загружен <br>"); echo("Характеристики файла: <br>"); echo("Имя файла: "); echo($_FILES["filename"]["name"]); echo("<br>Размер файла: "); echo($_FILES["filename"]["size"]); echo("<br>Каталог для загрузки: "); echo($_FILES["filename"]["tmp_name"]); echo("<br>Тип файла: "); echo($_FILES["filename"]["type"]); } else { echo("Ошибка загрузки файла"); }[/php] |
|
|
sc2r2bey |
17.1.2011, 23:20;
Ответить: sc2r2bey
Сообщение
#6
|
|
я бы не рекомендовал при загрузки использовать функцию copy() лучше смотреть в сторону move_uploaded_file()
2kolesgan 1. [php]<?php $file = 'example.txt'; $newfile = 'example.txt.bak'; if (!copy($file, $newfile)) { echo "не удалось скопировать $file...\n"; } ?>[/php] 2. надо писать для этого функцию, поищи тут поднималась эта тема -------------------- программирую web и для we |
|
|
ZiTosS |
18.1.2011, 18:38;
Ответить: ZiTosS
Сообщение
#7
|
|
|
старая тема, закрываю. На вопросы ответили.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Rebex.io – Ваша инновационная платформа для обмена криптовалюты! | 1 | Rebex | 643 | Вчера, 11:50 автор: Rebex |
|
Услуги хостинг, аренда серверов США, Нидерланды, РФ | RICHHost | 110 | RICHHost | 66825 | Вчера, 1:30 автор: RICHHost |
|
Какой % отказов нормален для сайта? | 11 | Aloof | 2794 | 16.4.2024, 12:48 автор: diviner99 |
|
Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат | 54 | arendator | 34815 | 15.4.2024, 15:16 автор: arendator |
|
⭕Антидетект браузер AdsPower для эффективной работы с мультиаккаунтами! | 83 | AdsPower | 24398 | 14.4.2024, 22:52 автор: AdsPower |
Текстовая версия | Сейчас: 18.4.2024, 8:12 |