Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Почему не удаляется файл?
 
 автор: levis   (14.12.2006 в 10:14)   письмо автору
 
 


session_start();
  $_SESSION['d']=$d;
  print $d;
  if (empty($d))
  {
echo "no";
}

else
{
print $_SESSION[d];
unlink ("../news/$_SESSION[d].txt");}


-почему не удаляет??

   
 
 автор: Trianon   (14.12.2006 в 10:22)   письмо автору
 
   для: levis   (14.12.2006 в 10:14)
 

чему равно d и $d?

   
 
 автор: levis   (14.12.2006 в 10:26)   письмо автору
 
   для: Trianon   (14.12.2006 в 10:22)
 

06.12.6_10.12.34

   
 
 автор: Trianon   (14.12.2006 в 10:27)   письмо автору
 
   для: levis   (14.12.2006 в 10:26)
 

из кода этого не следует.

   
 
 автор: levis   (14.12.2006 в 10:38)   письмо автору
 
   для: Trianon   (14.12.2006 в 10:27)
 

Что не следует??
Из скрипта через сессий передается дата, она же является названием файла который надо удалить.
Если “не следует”- ты имеешь виду, что с помощью этого кода его удалить нельзя то тогда как?

   
 
 автор: Trianon   (14.12.2006 в 11:06)   письмо автору
 
   для: levis   (14.12.2006 в 10:38)
 

В коде нет присваивания $d = ....
Для меня лично это означает, что переменная $d неопределена.

   
 
 автор: Trianon   (14.12.2006 в 11:06)   письмо автору
 
   для: levis   (14.12.2006 в 10:14)
 

Попроуйте написать
unlink ("../news/" . $_SESSION['d'] . ".txt");}

   
 
 автор: levis   (14.12.2006 в 11:26)   письмо автору
 
   для: Trianon   (14.12.2006 в 11:06)
 

не удаляет можа че еще есть&

   
 
 автор: vovik_sumy   (14.12.2006 в 11:41)   письмо автору
 
   для: levis   (14.12.2006 в 11:26)
 

А что показывает

echo $_SESSION['d']

???

А если ещё так:

$filename = "../news/".$_SESSION['d'].".txt";
echo $filename;
if (file_exist($filename))
{unlink($filename)}
else 
{echo "File does not exist!";}

   
 
 автор: Пробегом   (14.12.2006 в 11:42)
 
   для: levis   (14.12.2006 в 10:14)
 

Мб первую строчку заменить на
$d = $_SESSION['d'];

   
 
 автор: vovik_sumy   (14.12.2006 в 11:45)   письмо автору
 
   для: Пробегом   (14.12.2006 в 11:42)
 

А смыслу то?

   
 
 автор: Пробегом   (14.12.2006 в 11:54)
 
   для: vovik_sumy   (14.12.2006 в 11:45)
 

Иначе d пустая...

   
 
 автор: levis   (14.12.2006 в 14:36)   письмо автору
 
   для: Пробегом   (14.12.2006 в 11:54)
 

можно было и заметить что там проверка есть!!!

   
 
 автор: Trianon   (14.12.2006 в 15:39)   письмо автору
 
   для: levis   (14.12.2006 в 14:36)
 

Вам русским языком сказали - у Вас переменной не присвоено значение!

[поправлено модератором]

   
 
 автор: kasmanaft   (14.12.2006 в 14:46)   письмо автору
 
   для: levis   (14.12.2006 в 10:14)
 

Может быть правов не хватает?
Включите error_reporting и поглядите ошибку

   
 
 автор: levis   (14.12.2006 в 15:45)   письмо автору
 
   для: kasmanaft   (14.12.2006 в 14:46)
 

Нет переменная есть.С ней спокойно взаимодействует форма.

Млин !!!Я что вообще не чего не могу делать с файлом если имя его передается через сессию, и содержится в переменной??
Если так незя, то как можно?

   
 
 автор: kasmanaft   (14.12.2006 в 15:58)   письмо автору
 
   для: levis   (14.12.2006 в 15:45)
 

Разницы нет откуда имя файла брать ... поглядите ошибку при удалении и делайте выводы

Или для начала попробуйте
unlink ("../news/06.12.6_10.12.34.txt");

И что значит "С ней спокойно взаимодействует форма"? :)

   
 
 автор: levis   (14.12.2006 в 16:23)   письмо автору
 
   для: kasmanaft   (14.12.2006 в 15:58)
 

Я уже давно все перепробовал.Открывает только если явно указать файл!

Форма спокойно выводит переменную "d" в "type='text'.И поиск в файле где я указываю "d",прекрасно находит это слово в файле.
Чтобы не возникло вопроса-А не исчезает ли эта переменная,от этих скрипов?
-нет не исчезает,проверил.
И еще
Сейчас пытался таким способом еще и открыть файл

$ope=file ("$d.dat");

Тоже ни чего не вышло

А отчет об ошибке пишет
Undefined variable: d
несмотря на то что переменная есть.

   
 
 автор: levis   (14.12.2006 в 16:30)   письмо автору
 
   для: levis   (14.12.2006 в 16:23)
 

я понял в чем ошибка!!!!Но не знаю как исправить

$ope=file ("$d.txt");

почему то скрипт ставит пробел между переменной $d и его расширением!!!
print "06.12.6_16.12.30.txt<br>";--выводит 06.12.6_16.12.30.txt
print "$d.txt"; - а эта 06.12.6_16.12.30 .txt
Почему это происходит я не знаю,поясните
Может ссесия не так передает,хотя нет поиск по файлу то идет нормально,а в файле записано это на 1 строку.

   
 
 автор: Пробегом   (14.12.2006 в 17:54)
 
   для: levis   (14.12.2006 в 16:30)
 

Запустил у себя - всё прекрасно работает...
Тока в анлинк одну "." ставлю...

   
 
 автор: levis   (14.12.2006 в 16:35)   письмо автору
 
   для: levis   (14.12.2006 в 16:23)
 

всем спасибо проблема решена

Спасибо

$d=trim($d) решение всех трабл

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования