Ошибка при загрузке картинок на сайт
Ребят, такая проблемка возникла. Хочу сделать загрузку картинок на сайт, пользовался вот этим ресурсом, вроде всё поставил правильно, подключил свою базу данных, подключил свою таблицу.
Вот коды моих файлов:
rezultat.php
<?php
echo"<a href='add_images_form.php' class='add_images'>
<div class='add_images_text'>ДОБАВИТЬ КАРТИНКУ</div>
</a><br><br>";
include ("bd1.php"); //подключение к базе данных
$sql = mysql_query("SELECT id, img FROM image");
// Выбор из базы данных полей id и img
if (!$sql)
{
exit();
}
if (mysql_num_rows($sql) > 0)
{
@$row=mysql_fetch_array($sql);
$i=1;
do
{
echo "<table><tr><td valign='top'>";
echo $i++;
echo "<td>";
echo "<img src='img/$row[img]' class='img'/>";
echo "</td></tr></table><br>";
}
while (@$row = mysql_fetch_array($sql));
}
else
{
echo "<label class='label'>В базе данных нет
добавленных картинок!</label>";
exit();
}
add_images.php:
<?php
include ("bd1.php"); //подключение к базе данных
if (isset($_POST['img']))
// Если поле выбора картинки не пустое - закачиваем её на сервер
$maxwidth = "600"; // максимальная ширина картинок на превью
$foto_dir = "img/"; // Директория для фотографий товаров
$foto_name = $fotos_dir.time()."_".basename
($_FILES['myfile']['name']); // Полное имя файла вместе с путем
$foto_light_name = time()."_".basename
($_FILES['myfile']['name']);
// Имя файла исключая путь
$foto_tag = "<img src=\"$foto_name\"
border=\"0\">"; // Готовый тэг для вставки картинки на страницу
$foto_tag_preview = "<img src=\"$foto_name\"
border=\"0\" width=\"$maxwidth\">";
// Тот же тэг, но для превью
// Текст ошибок
$error_by_mysql = "<label class=\"label\">
Ошибка при добавлении данных в базу</span>";
$error_by_file = "<label class=\"label\">Невозможно
загрузить файл в директорию. Возможно её не
существует</span>";
// Начало
if(isset($_FILES["myfile"]))
{
$myfile = $_FILES["myfile"]["tmp_name"];
$myfile_name = $_FILES["myfile"]["name"];
$myfile_size = $_FILES["myfile"]["size"];
$myfile_type = $_FILES["myfile"]["type"];
$error_flag = $_FILES["myfile"]["error"];
// Если ошибок не было
if($error_flag == 0)
{
$DOCUMENT_ROOT = $_SERVER['DOCMENT_ROOT'];
$upfile = getcwd()."/img/" . time()."_".basename
($_FILES["myfile"]["name"]);
if ($_FILES['myfile']['tmp_name'])
{
//Если не удалось загрузить файл
if (!move_uploaded_file($_FILES['myfile']
['tmp_name'], $upfile))
{
echo "$error_by_file";
exit;
}
}
else
{
echo 'Проблема: возможна атака через загрузку файла. ';
echo $_FILES['myfile']['name'];
exit;
}
$q = "INSERT INTO image (img) VALUES
('$foto_name')";
$query = mysql_query($q);
// Данные успешно внесены в базу данных, выводим сообщение
if ($query == 'true') {
echo "
<div class='text'>
<p>Картинка успешно добавлена на сервер!</p>
<br><br>
<table>
<tr>
<td>
<a href='add_images_form.php'
class='add_images'><div class='add_images_text'>
ДОБАВИТЬ ЕЩЕ КАРТИНКУ</div></a>
</td>
<td>
<a href='index.php' class='add_images'>
<div class='add_images_text'>НА ГЛАВНУЮ</div></a>
</td>
</tr>
</table>
</div>
";
}
// В противном случае, выводим ошибку при добавлении в базу данных
else {
echo "$error_by_mysql";
}
}
elseif ($myfile_size == 0) {
echo "<br><label class='label'>
Картинка не выбрана!<br><br>
Вернитесь и выберите картинку!</label><br><br>
<a href='add_images_form.php' class='add_images'>
<div class='add_images_text'>ВЫБРАТЬ КАРТИНКУ</div>
</a>";
}
}
?>
add_images_form.php:
<!DOCTYPE HTML>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<head>
<title> IziKaztka.Ru </title>
<meta charset="utf-8">
<link rel="icon" href="images/iconweb.png" type="image/x-icon">
<link rel="icon" href="images/iconweb.png" type="image/x-icon">
<link rel="stylesheet" type="text/css" href="vhodcss.css">
</head>
<body>
<form name='form' enctype='multipart/form-data'
method='post' action='add_images.php'>
<p>
<label class='label'>Выберите картинку</label>
<br>
<input type='file' name='myfile' id='myfile'
class='input'/>
</p>
<br>
<p>
<table>
<tr>
<td>
<input type='image'
src='images/add_images_save.png'
title='Сохранить'> /
</td>
<td>
<a href='index.php' class='add_images'>
<div class='add_images_text'>НАЗАД</div></a>
</td>
</tr>
</table>
</p>
</form>
</body>
</html>
Ошибку выдаёт на 50-й линии файла add_images.php, там написано ['tmp_name'], $upfile))
, и говорит:
"Невозможно загрузить файл в директорию. Возможно её не существует".
Помогите разобраться, пожалуйста.
Источник: Stack Overflow на русском