http://verhoum.livejournal.com/10390.html писал для WIN
Предположим, Apache установлен в G:/WAMP
mkdir G:\WAMP\htdocs\up\dl\
notepad G:\WAMP\conf\httpd.conf
добавить
<Directory "G:/WAMP/htdocs/up/dl/">
Options Indexes FollowSymLinks Includes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
AllowOverride All - По умолчанию пользователи имеют право переопределять в файлах .htaccess все глобальные установки доступа, для которых в этих файлах имеются эквивалентные команды.
Создание .htpasswd
cd g:\wamp\bin\
G:\WAMP\bin>htpasswd -cm .htpasswd dl
Результат - запрос ввода нового пароля для пользователя dl
New password: ****
Re-type new password: ****
Adding password for user dl
Добавление нового пользователя
htpasswd -m .htpasswd user
Переместить .htpasswd в G:\WAMP\htdocs\up\dl\
Создание .htaccess
notepad G:\WAMP\htdocs\up\dl\.htaccess
<Files .htpasswd>
deny from all
</Files>
AuthType Basic
AuthName "Private zone. Need login / pass"
AuthUserFile G:/WAMP/htdocs/up/dl/.htpasswd
require valid-user
при запросе
http://site/up/dl/ будет запрашиватся логин и пароль
Загрузка файлов
директивы file_uploads, upload_max_filesize, upload_tmp_dir, max_input_time и post_max_size конфигурационного файла php.ini
file_uploads = On
upload_tmp_dir = G:\WAMP\htdocs\up\dl
upload_max_filesize = 2000M
post_max_size = 2000M
max_input_time = 600
notepad G:\WAMP\htdocs\up\index.htm
<form enctype="multipart/form-data" action="up.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="10995116277760" />
Отправить этот файл: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
notepad G:\WAMP\htdocs\up\up.php
<?php
// В PHP 4.1.0 и более ранних версиях следует использовать $HTTP_POST_FILES
// вместо $_FILES.
$uploaddir = 'G:/WAMP/htdocs/up/dl/';
$uploadfile = $uploaddir . basename($_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>";
?>
[win]+[r]
cmd /k net stop apache2.2 && net start apache2.2