|
|
|
| Создал скрипт загрузки файлов на сервер. Но одна ошибка. Скрипт не стирает. Но если кусок
<?php if(! isset($_GET['del'])) exit(); ... перенести выше, тогда будет стирать, но не будет записывать. Найдите ошибку.
<?if ($QUERY_STRING == ""){?>
<h2><p><b>Загрузка файлов <br><a href="/php/karzina" target="_blank"><font color="Green">karzina</font></a> </b></p></h2>
<form action="zagruzka.php?ok" method="post" enctype="multipart/form-data" ><input class=form type="file" name="filename"><br><input class=form type="submit" value=" Загрузить "></form><br><a href="zagruzka.php?del"><font color="Red">Стереть все, что в папке!</font></a>
<?}?>
<?php if(! isset($_GET['ok'])) exit();
if($HTTP_POST_FILES["filename"]["size"] > 1024*10*1024)
{
echo ("Размер файла превышает десять мегабайт");
exit;
}
if(copy($HTTP_POST_FILES["filename"]["tmp_name"],
"karzina/".$HTTP_POST_FILES["filename"]["name"]))
{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($HTTP_POST_FILES["filename"]["name"]);
echo("<br>Размер файла в байтах: ");
echo($HTTP_POST_FILES["filename"]["size"]);
echo("<br>Каталог для загрузки: ");
echo($HTTP_POST_FILES["filename"]["tmp_name"]);
echo("<br>Тип файла: ");
echo($HTTP_POST_FILES["filename"]["type"]);
} else {
echo("Ошибка загрузки файла");
}
?>
<?php if(! isset($_GET['del'])) exit();
$dir_name = "karzina";
$dir = opendir($dir_name);
while(($file = readdir($dir)))
{
if(is_file($dir_name."/".$file))
{
unlink($dir_name."/".$file);
} }
closedir($dir);
echo 'стерто';
?>
|
| |
|
|
|
|
|
|
|
для: YAN
(01.04.2006 в 16:46)
| | ?!?!!?!?! | |
|
|
|
|
|
|
|
для: YAN
(01.04.2006 в 16:46)
| | Когда вы загружаете файл, параметр "ок" существует, а параметр "del" - нет. В этом случае функция exit() выполняется после загрузки файла.
Когда вы удаляете, параметр "del" существует, а параметр "ок" - нет. В этом случае функция exit() выполняется до загрузки файла, то есть в начале скрипта. Тем самым, не давая выполнить удаление.
Сделайте вот так:
<?
if (empty ($_GET['action']))
{
?>
<h2><p><b>Загрузка файлов <br><a href="/php/karzina" target="_blank"><font color="Green">karzina</font></a></b></p></h2>
<form action="1.php?action=ok" method="post" enctype="multipart/form-data" ><input class=form type="file" name="filename"><br>
<input class=form type="submit" value=" Загрузить "></form><br>
<a href="1.php?action=del"><font color="Red">Стереть все что в папке!</font></a>
<?php
}
else
{
if ($_GET['action'] == "ok")
{
if($HTTP_POST_FILES["filename"]["size"] > 1024*10*1024)
{
echo ("Размер файла превышает десять мегабайт");
exit;
}
if(copy($HTTP_POST_FILES["filename"]["tmp_name"],
"php/karzina/".$HTTP_POST_FILES["filename"]["name"]))
{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($HTTP_POST_FILES["filename"]["name"]);
echo("<br>Размер файла в байтах: ");
echo($HTTP_POST_FILES["filename"]["size"]);
echo("<br>Каталог для загрузки: ");
echo($HTTP_POST_FILES["filename"]["tmp_name"]);
echo("<br>Тип файла: ");
echo($HTTP_POST_FILES["filename"]["type"]);
} else {
echo("Ошибка загрузки файла");
}
}
if ($_GET['action'] == "del")
{
$dir_name = "php/karzina";
$dir = opendir($dir_name);
while(($file = readdir($dir)))
{
if(is_file($dir_name."/".$file))
{
unlink($dir_name."/".$file);
} }
closedir($dir);
echo 'стерто';
}
}
?>
|
| |
|
|
|
|
|
|
|
для: Drago
(01.04.2006 в 18:12)
| | Спасибо, работает! | |
|
|
|