Как с помощью формы залить файл на фтп?
Хочу на сайте организовать форму, чтобы пользователи могли сами заливать файлы на фтп... Подскажите пожалуйста, как это сделать...
Вроде разобрался... Но появились и вопросы:
1. Файлы сохраняются в заданном по умолчанию временном каталоге сервака. Как можно определить или задать этот каталог?
2. Как переместить загруженный файл из временного каталога в заданное место или удалить его?
3. Переменная $userfile_tipe содержит тип загруженного файла. Какие типы бывают, кроме "image/gif"?
1. Файлы сохраняются в заданном по умолчанию временном каталоге сервака. Как можно определить
или задать этот каталог?
Только если есть доступ к php.ini
2. Как переместить загруженный файл из временного каталога в заданное место или удалить его?
[phpdoc]move_uploaded_file[/phpdoc], [phpdoc]copy[/phpdoc]
3. Переменная $userfile_tipe содержит тип загруженного файла. Какие типы бывают, кроме "image/gif"?
Только не $userfile_tipe, а $_FILES["filename"]["type"] - для совместимости с register_globals == off
Mime типы могут быть любыми. Можешь посмотреть в Апачевском mime.conf
Если тебе нужно проверить тип изображения, то лучше использовать функцию [phpdoc]getimagesize[/phpdoc]. Она возвращает массив, в котором элемент с индексом "2" зависит от типа изображения:
1 = GIF
2 = JPG
3 = PNG
4 = SWF
5 = PSD
6 = BMP
7 = TIFF(intel byte order)
8 = TIFF(motorola byte order)
9 = JPC
10 = JP2
11 = JPX
12 = JB2
13 = SWC
14 = IFF
15 = WBMP
16 = XBM
ПРимер:
if (!is_array($s)) print "Это не изображение";
elseif ($s[2]==2) print "Это JPEG";
Mime типы могут быть любыми. Можешь посмотреть в Апачевском mime.conf
Если тебе нужно проверить тип изображения, то лучше использовать функцию [phpdoc]getimagesize[/phpdoc]. Она возвращает массив, в котором элемент с индексом "2" зависит от типа изображения:
1 = GIF
2 = JPG
3 = PNG
4 = SWF
5 = PSD
6 = BMP
7 = TIFF(intel byte order)
8 = TIFF(motorola byte order)
9 = JPC
10 = JP2
11 = JPX
12 = JB2
13 = SWC
14 = IFF
15 = WBMP
16 = XBM
ПРимер:
if (!is_array($s)) print "Это не изображение";
elseif ($s[2]==2) print "Это JPEG";
Не, мне нужно проверить архивы... Какие там бывают?
<html>
<head>
<title>Аплоад файлов</title>
</head>
<body alink=#000000 vlink=#000000 link=#000000>
<form enctype="multipart/form-data" method="post">
<input type="hidden" name="10000" value="30000" />
Отправить этот файл: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
<?
$uploaddir = 'http://form.ru/upload/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print "File is valid, and was successfully uploaded. ";
print "Here's some more debugging info:\n";
print_r($_FILES);
} else {
print "Possible file upload attack! Here's some debugging info:\n";
print "Possible file upload attack! Дополнительная отладочная информация:\n";
print_r($_FILES);
}
print "</pre>";
?>
</body>
</html>
Но аплоада не происходит, только выдаются ошибки... Подскажите, где я стормозил...