|
|
|
| Здравствуйте!
Написал html
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8"/>
<title> Загрузка изображения
</title>
</head>
<body>
<h1>Загрузка изображения</h1>
<form name="downloadpics" enctype="multipart/form-data" method="post" action="obr_pics.php">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"/>
<label for="user_pic">Отправка изображениея: </label><br />
<input type="file" name="user_pic" size="30" /><br />
<input type="submit" name="send" value="Отправить"/><br />
</form>
</body>
</html>
|
Написал запрос:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if (!empty($_FILES['user_pic']['name'])){
if($_FILES['user_pic']['error'] == 0){
if(substr($_FILES['user_pic']['type'], 0, 5) == 'image'){
$image = file_get_contents($_FILES['user_pic']['tmp_name']);
$image = mysqli_escape_string($image);
$mysqli->query("INSERT INTO `pics`(`pics`, `date`) VALUES('".$image."', '".time()."')");
} else {
echo "Don\'t download";
}
} else {
echo "Is error";
}
} else {
echo "Is empty";
}
} else {
echo "Not up1";
}
$mysqli->close();
|
Выдало ошибку - empty - то есть пусто
//if($_SERVER['REQUEST_METHOD'] == 'POST')
if (isset($_POST['send']) && $_FILES['user_pic']['name'] > 0) {
if (!empty($_FILES['user_pic']['name'])){
if($_FILES['user_pic']['error'] == 0){
if(substr($_FILES['user_pic']['type'], 0, 5) == 'image'){
$image = file_get_contents($_FILES['user_pic']['tmp_name']);
$image = mysqli_escape_string($image);
$mysqli->query("INSERT INTO `pics`(`pics`, `date`) VALUES('".$image."', '".time()."')");
} else {
echo "Don\'t download";
}
} else {
echo "Is error";
}
} else {
echo "Is empty";
}
} else {
echo "Not up1";
}
$mysqli->close();
|
Выдало - not up1
Похоже файл в браузер не загружается вообще, хотя пишется что загружен
Пробовал обычные комманды в php чтобы перенести файл в директорию , тоже пусто
В разных браузерах делал - все одно
Что нужно сделать? | |
|
|
|
|
|
|
|
для: AlexanderCh
(22.11.2016 в 13:08)
| | В базу надо грузить не сам файл, а путь к нему.
А файлы грузятся функцией
| |
|
|
|
|
|
|
|
для: elenaki
(22.11.2016 в 16:58)
| | Не буду спорить , что нужно грузить, а что не нужно.
Выкладываю решение, может кому-то пригодится:
if (!empty($_FILES['user_pic']['name'])){
if($_FILES['user_pic']['error'] == 0){
if(substr($_FILES['user_pic']['type'], 0, 5) == 'image'){
$image = file_get_contents($_FILES['user_pic']['tmp_name']);
$image = $mysqli->real_escape_string($image);
$mysqli->query("INSERT INTO `pics`(`pics`, `date`) VALUES('".$image."', '".time()."')");
} else {
echo "Don\'t download";
}
} else {
echo "Is error";
}
} else {
echo "Is empty";
}
} else {
echo "Not up1";
}
$mysqli->close();
|
| |
|
|
|
|
|
|
|
для: AlexanderCh
(24.11.2016 в 00:29)
| | Понимающий это обойдет стороной.
Проверять загрузку нужно с ошибок, и смысл проверять оригинальное имя файла, если оно не используется?
real_escape_string к изображению зачем и при этом даже не проверяя, что загружено именно изображение?
Ну а о том, что такое хранение изображений, это "закакать" базу, сделав ее неповоротливой, уже сказано, но коли считаете это разумным, то и флаг в руки. | |
|
|
|