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


Партнерская программа Kredov

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

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

#1 oduvan4ik

oduvan4ik
  • Пользователь
  • 45 сообщений
  • Репутация: 0
0

Отправлено 10 Август 2008 - 11:31

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

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Хостинг для хранения картинок
  2. Кнопка для загрузки картинки
  3. Автоматизация загрузки картинок на хостинг
  4. Оцените сайт хостинга изображений
  5. При загрузке на хостинг не отображаются картинки

#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


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