<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 );
Постоянно проходит по ветке если нету файла.Что я ни так написал?Читал всякие статьи,там везде всякие проверки,а мне бы хотелось покачто без них.Только чисто проверка на то,выбран ли файл и ли нет.
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Есстественно скрипт на php находится в другом файле avatar.php,а не в одном файле с формой
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Как-то так
if(!is_uploaded_file($_FILES['image']['tmp_name']))
echo 'Файл не выбран';
else {
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 );
}
}
всмысле папка.куда загружать файл?То есть будет и в папке и в базе?Этоже места много занимает.Нельзя сразу в базу как-нибудь
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Игорь_Vasinsky
25.03.2013 - 22:48
зачем тебе в бд файлы хранит??? храни только пути и имя файлов
_____________
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
Это много места освобождает или какие-то операции удобней делать?
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
bestxp
25.03.2013 - 23:25
не $FILES_ а $_FILES
если хочешь хранить в бд, то соответствующий тип на поле
ставиться, например в pg bytea
плюс посмотреть маны что нужно сделать перед вставкой данных, например в pg пару нюансов своих , в mysql свои
Цитата (Larik @ 25.03.2013 - 18:35) |
всмысле папка.куда загружать файл?То есть будет и в папке и в базе?Этоже места много занимает.Нельзя сразу в базу как-нибудь |
тебе же нужно где-то на сервере хранить файлы? Вот и пропиши путь до этой папки, и дай права на запись.
А чтобы тебе всяког "г" кроме картинок, да и размером по 10 Мбайт не могли залить, нужно проверки делать.
Спасибо,сделал через файл как вы и предложили.Я просто думал что в базе лучше хранить,но как я понял места больше занимает.
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Хм а зач сем символ @?просто имя в базу не вбивает почему-то.Убрал его тоже не вбивает.
Если выполнять запрос
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 {
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 );
}
}
?>
Скрипт,кому нужен
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
кавычки поставь (я зыбыл), ведь у тебя поле avatar нет int(n) а varchar или text .
(' ".mysql_real_escape_string($_FILES['image']['name'])." ')
а @ исключает вывод ошибки .
И ещё тебе бы делать картинки уникальными, а то можно перезаписать файл , если загрузить другой с таким же именем.
Спасибо,все работает.Проверки я попозже добавлю,главное основное есть
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.