Upload файлов.

Modano_88

Guest
Upload файлов.

Ребят.Вот полазил на форуме и надыбал код закачки картинок
--------------------------------------------------------
<?php
$max_image_width = 400;
$max_image_height = 300;
$max_image_size = 64 * 1024;
$valid_types = array(1 => 'GIF', 2 => 'JPG', 3 => 'PNG');
$destination = "x://";
$err = "";

if ($_SERVER['QUERY_STRING'] == 'OK') {
echo 'File uploaded sucessfully.<br>';
echo '<a href="'.$_SERVER['PHP_SELF'].'">Upload more</a>';
exit;
}

if (isset($_FILES["userfile"])) {
$filename = $_FILES['userfile']['tmp_name'];
$realname = $_FILES['userfile']['name'];
if (!is_uploaded_file($filename)) {
$err = 'Error: empty file.';
} elseif (filesize($filename) > $max_image_size) {
$err = 'File size > '.($max_image_size / 1024)."K.";
} else {
$size = getImageSize($filename);
if (!isset($valid_types[$size[2]])) {
$err = 'Invalid file type. Valid are: '. implode(', ', $valid_types);
} elseif ($size[0] > $max_image_width) {
$err = 'Image Width > '.$max_image_width;
} elseif ($size[1] > $max_image_height) {
$err = 'Image Height > '.$max_image_height;
} elseif (!move_uploaded_file($filename, $destination.$realname)) {
$err = 'File copy failed.';
}
}

if (!$err) {
header('Location: '.$_SERVER['PHP_SELF'].'?OK');
exit;
}
}
if ($err) echo 'Error: '.$err;
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="500000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
------------------------------------------------------------
Вообщем вопрос.Как из этого передать название файла в БД.Какую переменную конкретно надо.И ещё можно ли сделать так что бы я зашёл на страницу с закачкой,ввёл разные данные выбрал файл(с помощью кода см.выше),а потом нажал отправить и информация записалась в БД и путь картинки или файла тоже в БД
 

Modano_88

Guest
>>>>>>http://detail.phpclub.net/article/upload
Это мне всё понятно.Но не получается сделать.Надо чтоб на странице форма была;выбор файла,ввод инфы о нём.Нажимаешь кнопку и файл отправляется в папку,его путь в БД и инфа р файле тоже в БД.У меня получается или просто файл в директорию,а запись о нём в базу не лезет или наоборот.Помогите пожалуйста....:(
 

Cruiser_R

Guest
Во первых посмотри указано ли у тебя в форме добавления multipart?
 

StUV

Rotaredom
Modano_88
после вот этого:

elseif (!move_uploaded_file($filename, $destination.$realname)) {
$err = 'File copy failed.';
}

добавь

else {
// а здесь сохраняй свой файл куда угодно, пиши в базу что надо, и т.п...
}

зы: что-то мне подсказывает, что вот это [m]move_uploaded_file[/m] ты не очень внимательно прочитал
 

Modano_88

Guest
Спасибо ,ща попробую.А ещё вопрос.Какую переменную в БД записывать надо.И её как через hidden передовать надо?
 

StUV

Rotaredom
"прочитай" внимательно свой скрипт
ты переносишь закачанный файл в директорию $destination под именем $realname.

если у тебя директория для файлов фиксированная - храни в базе только имя, если нет - полный путь...
(ну и так далее - ты сам знаешь куда и зачем тебе эти файлы, вот и придумай схему их хранения и доступа к ним)

>> И её как через hidden передовать надо?
поподробнее - что куда надо ?
 

Modano_88

Guest
Я храню файлы в фиксированной директории.Значит мне надо в базу сохранять только имя.Только вот какую переменную надо передать через форму и каким способом?
 

Krisha

pain in the neck
Modano_88
А при чем тут форма ?
Ты файл передал, а дальше уже работаешь с ним на сервере, то есть ты знаешь куда ты положил файл и как он называется, вот и заноси эту информацию в базу.
 

netwolf

Guest
Originally posted by Modano_88
Я храню файлы в фиксированной директории.Значит мне надо в базу сохранять только имя.Только вот какую переменную надо передать через форму и каким способом?
создавай новое имя сам
например можешь использовать time() у тебя получится что то вроде 123456798.jpg имя ввиде цифр удобно хранить в базе
тип поля int мало места занимает
 

Фанат

oncle terrible
Команда форума
И ещё можно ли сделать так что бы я зашёл на страницу с закачкой,ввёл разные данные
добавь нужные поля к форме.
надеюсь это не вызывает у тебя сложностей?

-~{}~ 19.05.04 07:53:

черт
прибейте последние два поста в этой теме.
 
Сверху