|
|
|
| Здрасте!
У меня такой вопрос: как сделать кнопку "обзор"? а именно, что я хочу получить: есть несколько полей input type=text. как добавить поле для загрузки файла на сайт в определенное место и хотелось бы что бы была только одна кнопка для отправки данных и загрузки файла. кстати, имя файла с расширением должно записывать в БД.
Помогите плиз!!!
Заранее спасибо | |
|
|
|
|
|
|
|
для: Spenser
(11.07.2006 в 21:27)
| | > хотелось бы что бы была только одна кнопка для отправки данных и загрузки файла
А как тогда будет происходить выбор файла для загрузки? | |
|
|
|
|
|
|
|
для: Axxil
(11.07.2006 в 22:29)
| | на всей странице будет две кнопки "обзор" и "Выполнить", "обзор" будет только выбирать файл с компа клиент, а "выполнить" должна загружать данные и выбранний файл. По крайней мере я хотел бы чтобы так работало :)) а там как получиться. пример: должно быть также как при ответе на сообщение (всего две кнопки "обзор" и "отправить") | |
|
|
|
|
|
|
|
для: Spenser
(11.07.2006 в 21:27)
| | Сделай большую форму например
<html>
<body>
<form action="script.php" metod="post" enctype="multipart/form-data">
<!--
Ну а здесь уже идет все основное содержимое страницы
-->
</form>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Lelik
(11.07.2006 в 23:34)
| | это я сделал, а вот как загружать файл на сервак в определенное место? что надо писать в обработчике для того что загрузить файл. как обработать данные я знаю, а вот про файлы без понятия :(( | |
|
|
|
|
|
|
|
для: Spenser
(12.07.2006 в 00:13)
| | ссылка где можно про это прочитать - http://www.softtime.ru/bookphp/gl6_5.php
Если чего непонятно, то говори в каком именно месте непонятно разберемся. | |
|
|
|
|
|
|
|
для: Lelik
(12.07.2006 в 00:45)
| | Там вообще мало написано...
При приеме файла из формы с помощью данных переменных принимаются:
- $_FILES['filename']['name'] - Имя файла(пример рисунок.gif)
- $_FILES['filename']['size'] - размер файла
- $_FILES['filename']['type'] - тип файла
- $_FILES['filename']['tmp_name'] - имя временного файла, в который сохр. загруженый файл
filename - это имя поля формы из которого производится загрузка файла
ПРИМЕР
<?php
//это код файла обработчика, который принимает файл.
if(copy($_FILES['filename'][tmp_name'], $path.$_FILES['filename']['name'])
{
echo "IT IS LOADED"
}
else
{
echo "ERROR!!!";
}
?>
|
где $path - это путь к папке куда файл будет сохранен на сайте. | |
|
|
|
|
|
|
|
для: Lelik
(12.07.2006 в 00:59)
| | попробывал этот скрипт, не получается, в нем где то ошибка т.к. он даже не обрабатывается до конца (при выполнении белая страница). в чем может быть дело? | |
|
|
|
|
|
|
|
для: Spenser
(12.07.2006 в 09:19)
| | Тогда вместо $_FILES попробуй $_FILE написать( просто не помню как правильно $_FILES или $_FILE) или полное название $_HTTP_POST_FILES | |
|
|
|
|
|
|
|
для: Lelik
(12.07.2006 в 09:23)
| | Попробуй этот код. Я им почти всегда пользуюсь(или на нем основаным)
<?php
include "config.php";
$userfile = $_FILES["file"]["tmp_name"];
$userfile_name = $_FILES["file"]["name"];
$path = "images/".$userfile_name;
if(is_uploaded_file($userfile))
{
if(!move_uploaded_file($userfile,$path))
{
echo 'Error 1';
exit();
}
else
{
$query = "INSERT INTO picture VALUES (NULL, '$path')";
$result = @mysql_query($query);
if($result){
echo '<html><head><meta http-equiv="Refresh" content="0; url=index.php"></head></html>';
exit();
} else echo "f**k"; }
}
else
{
echo 'Error 2';
exit();
}
?>
|
| |
|
|
|
|
|
|
|
для: Lelik
(12.07.2006 в 09:29)
| | можешь пояснить что в каждом if и esle происходит. И какая команда заливает файл на серв. | |
|
|
|
|
|
|
|
для: Spenser
(12.07.2006 в 09:37)
| | Вот попробуй:
<?php
if(isset($_FILES["myfile"])) // Если файл существует
{
$catalog = "../image/"; // Наш каталог
if (is_dir($catalog)) // Если такой каталог есть
{
$myfile = $_FILES["myfile"]["tmp_name"]; // Времменый файл
$myfile_name = $_FILES["myfile"]["name"]; // Имя файла
if(!copy($myfile, $catalog)) echo 'Ошибка при копировании файла '.$myfile_name // Если неудалось скопировать файл
}
else mkdir('../image/'); // Если такого каталога нет, то мы его создадим
}
?>
|
| |
|
|
|
|
|
|
|
для: Spenser
(12.07.2006 в 09:37)
| |
<?php
include "config.php";
$userfile = $_FILES["file"]["tmp_name"];
$userfile_name = $_FILES["file"]["name"];
$path = "images/".$userfile_name;
// Доселе надеюсь понятно?
if(is_uploaded_file($userfile))
{
if(!move_uploaded_file($userfile,$path))
{
//До сего места пересылается файл в нужную директорию. То есть тут если
//файл не переслан, ниже происходит запись в бд пути к файлу.
echo 'Error 1';
exit();
}
else
{
//Если запись в БД прошла успешно автоматом переходим на нужную страницу.
$query = "INSERT INTO picture VALUES (NULL, '$path')";
$result = @mysql_query($query);
if($result){
echo '<html><head><meta http-equiv="Refresh" content="0; url=index.php"></head></html>';
exit();
} else echo "f**k"; }
}
else
{
echo 'Error 2';
exit();
}
?>
|
Функции is_uploaded_file() & move_uploaded_file проверяют загружен ли файл, и не является он такого вида dir/passwd | |
|
|
|
|
|
|
|
для: Lelik
(12.07.2006 в 09:45)
| | Огромное спасибо!!! а какие еще есть параметры у $_FILES["file"]["вот здесь"]; и за что они отвечают (самые используемые)? | |
|
|
|
|
|
|
|
для: Spenser
(12.07.2006 в 10:14)
| | $_FILES['userfile']['name'] - оригинальное имя файла, такое, каким его видел пользователь, выбирая файл;
$_FILES['userfile']['type'] - mime/type файла, к примеру, может быть image/gif; это поле полезно сохранить, если Вы хотите предоставлять интерфейс для скачивания загруженных файлов;
$_FILES['userfile']['size'] - размер загруженного файла;
$_FILES['userfile']['tmp_name'] - полный путь к временному файлу на диске;
$_FILES['userfile']['error'] - Начиная с версии 4.2.0, содержит код ошибки, который равен 0, если операция прошла успешно. | |
|
|
|
|
|
|
|
для: Lelik
(12.07.2006 в 09:45)
| | Во первых
поля в форме должны иметь тип file
во вторых:
Upload файлов, и все с этим связанное | |
|
|
|
|
|
|
|
для: Spenser
(11.07.2006 в 21:27)
| | ВСЕМ ОГРОМНОЕ СПАСИБО!!!
последний вопрос:
$_FILES['userfile']['size'] размер в смысле кб (или в чем?) или размер 100*100?
если в кб, то есть параметр для того чтобы узнать размер типа 100*100?
а в $_FILES['userfile']['type'] я могу проводить сравнение (например, если файл не gif то не загружать) и как это сделать? | |
|
|
|
|
|
|
|
для: Spenser
(12.07.2006 в 10:28)
| | ВСЕМ ОГРОМНОЕ СПАСИБО!!!
последний вопрос:
$_FILES['userfile']['size'] размер в смысле кб (или в чем?) или размер 100*100?
если в кб, то есть параметр для того чтобы узнать размер типа 100*100?
а в $_FILES['userfile']['type'] я могу проводить сравнение (например, если файл не gif то не загружать) и как это сделать? | |
|
|
|
|
|
|
|
для: Spenser
(12.07.2006 в 10:46)
| | >ВСЕМ ОГРОМНОЕ СПАСИБО!!!
>последний вопрос:
>$_FILES['userfile']['size'] размер в смысле кб (или в чем?)
>или размер 100*100?
>если в кб, то есть параметр для того чтобы узнать размер
>типа 100*100
размер файла в байтах
>а в $_FILES['userfile']['type'] я могу проводить сравнение
>(например, если файл не gif то не загружать) и как это
>сделать?
<?php
if($_FILES['userfile']['type']!= "gif")
echo "Запрещенный тип фала";
?>
|
| |
|
|
|
|
|
|
|
для: Lelik
(12.07.2006 в 10:54)
| | а как узнать размер картинки, напрмер 100*100? | |
|
|
|
|
|
|
|
для: Spenser
(12.07.2006 в 11:10)
| | в уме посчитать 100*100 = 10000 | |
|
|
|
|
|
|
|
для: Lelik
(12.07.2006 в 11:11)
| | я имею ввиду чтобы получить значение переменной, в которую записывался бы размер загруженной картинки. но размер не в байтах а в пикселях | |
|
|
|
|
|
|
|
для: Spenser
(12.07.2006 в 11:17)
| | GetImageSize | |
|
|
|