@sudden_man
bcvbcvbc

Как загрузить и изменить имя файла?

Привет всем.
Мне нужно сделать форму, в которой пользователь вводит вое имя и выбирает фото, наимает на кнопку и эти данные вносятся в MySQL БД, в таблицу со столбцами: id, name, img. Само изображение сохраняется в папку authors, которая находится в корне сервера. Так вот, сохранить файл должно с именем в формате id-name. Тобишь, взять текуший ид с БД поставить тере и уе имя изображения как на компьютере пользователя. Вот мой код:
<?php

	$connect = mysql_connect('localhost', 'ualex', 'XD2phMET') or die(mysql_error());
	mysql_select_db('testdb1');

	if(isset($_POST['submit'])){
		$name = ($_POST['username']);
		$filename = ($_FILES['filename']['name']);
		$id = mysql_query("SELECT id FROM authors")or die(mysql_error());

		if(empty($filename)){
			die('Upload tour image');
		}elseif (empty($name)) {
			die('Enter your name');
		}else{
			move_uploaded_file($_FILES['filename']['tmp_name'], "/authors".$filename);
			$query = mysql_query("INSERT INTO authors VALUES('','$name','$id-$filename')")or die(mysql_error());
		}
	}

?>


<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>TEST</title>

	<link rel="stylesheet" href="/libs/bootstrap/css/bootstrap.min.css">
	<link rel="stylesheet" href="/style.css">
</head>
<body>

	<h1>Регистрация</h1>
	<div class="form_cont">
		<form method="post" enctype="multipart/form-data">
  <div class="form-group">
    <label for="name_inp">Ваше имя</label>
    <input type="text" name="username" class="form-control" id="name_inp" placeholder="Ваше имя">
  </div>
  <div class="form-group">
    <label for="file_inp">Ваше изображение</label>
    <input type="file" name="filename" size="9" id="file_inp">
  </div>
  <button type="submit" name="submit" class="btn btn-default">Добавить</button>
</form>
	</div>


<script src="/libs/jquery/jquery-1.11.2.min.js"></script>
<script src="/libs/bootstrap/js/bootstrap.min.js"></script>	
</body>
</html>


помогите пожалуйста!
  • Вопрос задан
  • 337 просмотров
Пригласить эксперта
Ответы на вопрос 2
@iSensetivity
бухгалтер, програміст-самоук
$id = mysql_query("SELECT id FROM authors")or die(mysql_error());

Вьі делаете вьіборку не 1 ид а нескольких.
Ответ написан
archakov06
@archakov06
Frontend-разработчик (ReactJS)
}else{
      move_uploaded_file($_FILES['filename']['tmp_name'], "/authors".$filename);
      $query = mysql_query("INSERT INTO authors VALUES('','$name','$id-$filename')")or die(mysql_error());
    }


У тебя тут неправильно составлен запрос, а именно ты не указал поля. Пример:
INSERT INTO authors (field1, field2, field3) VALUES('test1','$name','$id-$filename')
"

Укажи какие поля тебе требуются, а потом в них и вбивай значения.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы