[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: передача файла серверу
Larik

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<
form enctype="multipart/form-data" method="post" action="avatar.php">
Изображение: <input type="file" name="image" />
<
input type="submit" value="Загрузить" />
</
form>

if(empty($FILES_[image])){echo "Выберите файл!";}
else{$img=$FILES_[image];}
$query='INSERT INTO `info`(`avatar`) VALUES ("$img");';
mysql_query( $query );

Постоянно проходит по ветке если нету файла.Что я ни так написал?Читал всякие статьи,там везде всякие проверки,а мне бы хотелось покачто без них.Только чисто проверка на то,выбран ли файл и ли нет.

_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Larik
Есстественно скрипт на php находится в другом файле avatar.php,а не в одном файле с формой

_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Kusss
Как-то так
// $path - папка куда загружать файл
if(!is_uploaded_file($_FILES['image']['tmp_name']))
echo 'Файл не выбран';
else {
// Переносим загружённый файл в папку $path
if(@!copy($_FILES['image']['tmp_name'],$path.chr(47).$_FILES['image']['name']))
echo 'Файл не был загружен';
else {
$query="INSERT INTO `info`(avatar) VALUES (".mysql_real_escape_string($_FILES['image']['name']).")";
mysql_query( $query );
}
}
Larik
всмысле папка.куда загружать файл?То есть будет и в папке и в базе?Этоже места много занимает.Нельзя сразу в базу как-нибудь

_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Игорь_Vasinsky
зачем тебе в бд файлы хранит??? храни только пути и имя файлов

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Larik
Это много места освобождает или какие-то операции удобней делать?

_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
bestxp
не $FILES_ а $_FILES

если хочешь хранить в бд, то соответствующий тип на поле
ставиться, например в pg bytea
плюс посмотреть маны что нужно сделать перед вставкой данных, например в pg пару нюансов своих , в mysql свои

Kusss
Цитата (Larik @ 25.03.2013 - 18:35)
всмысле папка.куда загружать файл?То есть будет и в папке и в базе?Этоже места много занимает.Нельзя сразу в базу как-нибудь

тебе же нужно где-то на сервере хранить файлы? Вот и пропиши путь до этой папки, и дай права на запись.
А чтобы тебе всяког "г" кроме картинок, да и размером по 10 Мбайт не могли залить, нужно проверки делать.
Larik
Спасибо,сделал через файл как вы и предложили.Я просто думал что в базе лучше хранить,но как я понял места больше занимает.

_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Larik
Хм а зач сем символ @?просто имя в базу не вбивает почему-то.Убрал его тоже не вбивает.
Если выполнять запрос
INSERT INTO `info`(avatar) VALUES (".mysql_real_escape_string($_FILES['image']['name']).")
в myadmin то в базу заносится .mysql_real_escape_string($_FILES['image']['name']...
непосредственно,а так ничего не дополняется.
<?php
include"db.php";
$path="Z:\\home\localhost\www\Chat\info";
if(!is_uploaded_file($_FILES['image']['tmp_name']))
echo 'Файл не выбран';
else {
// Переносим загружённый файл в папку $path
if(@!copy($_FILES['image']['tmp_name'],$path.chr(47).$_FILES['image']['name']))
echo 'Файл не был загружен';
else {
$query="INSERT INTO `info`(avatar) VALUES (".mysql_real_escape_string($_FILES['image']['name']).")";
mysql_query( $query );
}
}

?>

Скрипт,кому нужен

_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Kusss
кавычки поставь (я зыбыл), ведь у тебя поле avatar нет int(n) а varchar или text .
(' ".mysql_real_escape_string($_FILES['image']['name'])." ')
а @ исключает вывод ошибки .

И ещё тебе бы делать картинки уникальными, а то можно перезаписать файл , если загрузить другой с таким же именем.
Larik
Спасибо,все работает.Проверки я попозже добавлю,главное основное есть smile.gif

_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.