-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
Vlad Drakula |
05-06-2004 18:28 213047 |
вот понадобилось написать маленький файл менеджер на пхп.
все написал но вот аплоад не работает.
Код:
<html>
<body>
<?
$Password='';
if( isset( $HTTP_POST_VARS['password'] ) )
if( $HTTP_POST_VARS['password'] == $Password )
{
if( isset( $HTTP_POST_VARS['file'] ) )
{
foreach( $HTTP_POST_VARS['file'] as $file=>$fd)
if( is_file( './'.$file ) && !strpos( $HTTP_SERVER_VARS['PHP_SELF'], $file) )
unlink('./'.$file );
}
if( isset( $HTTP_POST_FILES['userfile'] ) )
{
if( move_uploaded_file( $HTTP_POST_FILES['userfile']['tmp_name'], './'.$HTTP_POST_FILES['userfile']['name'] ) )
{
print'файл загружен';
}
else
{
print'файл не загружен';
}
}
print'
<form method="POST" action="index.php">
<input type="hidden" value="'.$Password.'" name="password">
<table border=1>
<tr>
<td>
имя файла
</td>
<td>
удалить
</td>
<td>
размер
</td>
</tr>
';
$dir = opendir('./');
while( gettype( $file = readdir( $dir ) ) != 'boolean')
if( is_file( './'.$file ) && !strpos( $HTTP_SERVER_VARS['PHP_SELF'], $file) )
print'
<tr>
<td align="right">
'.$file.'
</td>
<td align="center">
<input type="checkbox" name="file['.$file.']" value="1" >
</td>
<td align="right">
'.filesize('./'.$file).'
</td>
</tr>
';
print'
<tr>
<td colspan=3 align="center">
<input class="button" type="submit" value="удалить" name="Submit">
</td>
</tr>
</table>
</form>
<br />
<br />
<form method="post" action="./index.php" encoding="multipart/form-data">
<input type="hidden" value="'.$Password.'" name="password">
<table border=1>
<tr>
<td>
загузить файл на сервер
</td>
<td>
<input type="hidden" name="MAX_FILE_SIZE" value="6000000">
<input type="file" name="userfile">
</td>
<td align="center">
<input class="button" type="submit" value="загрузить" name="Submit">
</td>
</tr>
</table>
</form>
<br />
<br />
';
}
?>
<form method="POST" action="index.php">
<table border=1>
<tr>
<td>
Пароль:
</td>
<td>
<input type="password" name="password">
</td>
<td colspan=2 align="center">
<input class="button" type="submit" value="зайти" name="Submit">
</td>
</tr>
</table>
</form>
</body>
</html>
но по непонятной причине файл не передается а передается только его место положение на локальной машине!
может кто с таким уже сталкивался?
|
Prisoner |
06-06-2004 00:44 213048 |
enctype быть может, а не encoding в форме для загрузки файла.
|
Vlad Drakula |
06-06-2004 08:04 213049 |
Prisoner
спасибо!
файлы аплоадятся, только вот грузфтся они не в ту дирикторию!
|
У меня обычно нормально отрабатывает абсолютный путь, причем "от печки" сервера.
Можно его определить где-нибудь в общем установочном файле, чтобы скрипт легко переносился на другие площадки:
Код:
define('UPLOADED_DIR', '/путь от корня/имя каталога/');
Добавлено:
ЗЫ у меня еще для создания этих самых установочных файлов написан простой скрипт setup.php. Для UPLOADED_DIR:
Код:
echo 'define(\'UPLOADED_DIR\',&nbsp;&nbsp;&nbsp; \'';
echo getenv("DOCUMENT_ROOT");
echo "/up/";
echo '\');<br>';
|
Vlad Drakula |
06-06-2004 23:08 213051 |
mar
этот скрипт я пишу для чайников...
чтобы они могли его просто положить и рабоваться жизни...
настраивать я его там не имею возможности...
так что нужно постараться написать так чтобы его не надо было настраивать!
может ты чтонибуть скажешь по этому поводу: http://forum.oszone.net/topic.cgi?fo...&topic=968
|
Если мучиться не хотишь и настраивать мож сделать так
$updir="img";
mkdir($img, 666);
и далее..
|
Время: 19:55.
© OSzone.net 2001-