Перейти к содержимому



  • Закрытая тема Тема закрыта

Простейший код для загрузки картинок на хостинг

#1 oduvan4ik
oduvan4ik
  • Неактивные
  • 45 сообщений
  • Репутация: 0
0

Обновлено 18 января 2011 - 17:38  Отправлено 10 августа 2008 - 11:31

Подскажите простейший код для загрузки картинок на хостинг и для этого могут подойти хостинг типа ayola &&&

 

 

  • 0

#2 Vialls
Vialls
  • Неактивные
  • 581 сообщений
  • Репутация: 1

Отправлено 10 августа 2008 - 14:34

<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 "Не верное расширение файла";
	  }
	}
  }
?>
С вас пиво :)
  • 0

#3 ZiTosS
ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 20 декабря 2008 - 14:21

Код рабочий, смотрите выше :) Только Vialls сделал загрузку в текущий каталог, из которого запускается скрипт. Для изменения вам просто надо изменить путь в функции copy() во втором параметре.
А хостинги Ayola и остальные бесплатные конечно подойдут. Только надо учесть 2 нюанса.
1) Права на загрузку - на папку в которую загружаем, должны стоять права не ниже 755
2) Доступ к файлу - иногда установлены такие настройки, что любой файл закачиваемый на сервер, получает права, что доступ к нему возможен только по FTP. Тогда нужно использовать PHP функцию exec()
exec("chmod 644 $image['name']");

  • 0

#4 kolesgan
kolesgan
  • Неактивные
  • 73 сообщений
  • Репутация: 0

Отправлено 07 января 2011 - 15:07

А как переделать скрипт таким образом, чтобы:
1. файл сохранялся по другим именем, типа - Cat1_id1.jpg
2. размеры изображения переорматировывались под определнные размеры
  • 0

#5 Symphony
Symphony
  • Неактивные
  • 636 сообщений
  • Репутация: 54

Отправлено 17 января 2011 - 22:16

1.
kакому-то знакомому писал, он хотел загружать файлы приписывая к имени файла сегоднишнюю дату(типа имя файла: картинка.джипег, на сервер в папку /имадже/ загружаеться как 2010_12_26_картинка.джипег ) мож сделать что-то по аналогии.
<?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.");
}

?>


2.
впадлу стало писать код
в гугле 5 сек гуглить.
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("Ошибка загрузки файла");
}

  • 0


#6 surfer
surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 17 января 2011 - 22:20

я бы не рекомендовал при загрузки использовать функцию copy() лучше смотреть в сторону move_uploaded_file()

2kolesgan
1.
<?php
$file = 'example.txt';
$newfile = 'example.txt.bak';

if (!copy($file, $newfile)) {
echo "не удалось скопировать $file...\n";
}
?>

2.
надо писать для этого функцию, поищи тут поднималась эта тема
  • 0

#7 ZiTosS
ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 18 января 2011 - 17:38

старая тема, закрываю. На вопросы ответили.
  • 0



Похожие темы
  Название темы Автор Статистика Последнее сообщение

Пользователь месяца
Megoydagi Megoydagi 1-й за Март
Очков активности: 777 6 тем, 56 сообщений, 7 баллов репутации
Сайт: 24ho.ru
ТОП самых активных за этот месяц
  • Фотография Vmir
    #1

    Vmir
    Очков активности: 1080 4 темы, 60 сообщений, 10 баллов репутации

  • Фотография MattCutts
    #2

    MattCutts (dmitrylee.com)
    Очков активности: 765 6 тем, 67 сообщений, 6 баллов репутации

  • Фотография NataliaAntalia
    #3

    NataliaAntalia (zdorovemedicina.ru)
    Очков активности: 189 Вне конкурса за определение пользователя месяца

  • Фотография r0mZet
    #4

    r0mZet (rz-style.ru)
    Очков активности: 157.5 3 темы, 12 сообщений, 5 баллов репутации

  • Фотография Linomen
    #5

    Linomen
    Очков активности: 111 3 темы, 28 сообщений, 2 балла репутации

  • Фотография Totti
    #6

    Totti
    Очков активности: 108 Вне конкурса за определение пользователя месяца

  • Фотография Владислава Рыкова
    #7

    Владислава Рыкова
    Очков активности: 36 0 тем, 8 сообщений, 3 балла репутации

  • Фотография Megoydagi
    #8

    Megoydagi (24ho.ru)
    Очков активности: 33 Вне конкурса за определение пользователя месяца

  • Фотография sws
    #9

    sws
    Очков активности: 24 0 тем, 16 сообщений, 1 балл репутации

  • Фотография BLIK
    #10

    BLIK
    Очков активности: 19.5 Вне конкурса за определение пользователя месяца

  • Показать весь ТОП 10

Поддержите форум! =)
Топ 5 участников по репутации

Оформление форума – IPBSkins.ru