SQL Server — PHP Галерея пользователей

У меня уже есть идея, как создать базу данных MySQL для пользовательской галереи … Но у меня есть несколько вопросов:

Предпосылка: я не хочу сохранять фотографии в базе данных для повышения производительности
Я уже пытался сохранить фотографии в базе данных, но затем сайт (после загрузки большого количества изображений) становится слишком медленным

  1. Как я могу загрузить фотографии с php? (FTP)
  2. Как я могу создать новый каталог на сервере с PHP?

Спасибо всем за ваши будущие ответы
Хорошего дня
Лука

0

Решение

Вы можете использовать базовый ввод файла в HTML и функцию php move_uploaded_file , пример:

HTML:

<form method="post" enctype="multipart/form-data">
<input type="file" name="photo"/>
</form>

PHP:

    $file= $_FILES['photo'];
if(move_uploaded_file($file['tmp_name'], "/path/to/a/directory")){
echo "yeah";
}

Если каталог / не существует, он создаст его для вас.

0

Другие решения

  1. Вы можете сохранить имя изображения в базе данных

вот функция, которую я использовал для загрузки изображений JPEG с небольшим размером:

    function make_thumb($src, $dest, $desired_width) {

/* read the source image */
$source_image = imagecreatefromjpeg($src);
$width = imagesx($source_image);
$height = imagesy($source_image);
/* find the "desired height" of this thumbnail, relative to the desired width */
$desired_height = floor($height * ($desired_width / $width));

/* create a new, "virtual" image */
$virtual_image = imagecreatetruecolor($desired_width, $desired_height);

/* copy source image at a resized size */
imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height);

/* create the physical thumbnail image to its destination with 100% quality*/
imagejpeg($virtual_image, $dest,100);
}$result=mysql_query("SELECT * FROM photos");

while($row=mysql_fetch_array($result)){

$photoname = $row['imgTitle'];

$source = "../images/big/".$photoname;

$destination = "../images/thumb/thumb_".$photoname ."";

$width = "200";

make_thumb($source,$destination,$width);

}

0

По вопросам рекламы [email protected]