X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Вопрос к знатокам PHP, проблема с unlink
Frankie
Frankie
Topic Starter сообщение 15.7.2010, 23:46; Ответить: Frankie
Сообщение #1


Старожил
******

Группа: Active User
Сообщений: 1520
Регистрация: 18.9.2009
Поблагодарили: 320 раз
Репутация:   36  


Итак описываю:
Фотохостинг, при удалении картинки из юзерского аккаунта, при нажатии на кнопку удаления, вылазит вот такая вот обшибка:
Warning: unlink(полный адрес до картинки) [function.unlink]: No such file or directory in сайт.ру/delete.php on line 20 Warning: unlink(полный адрес до превьюшки) [function.unlink]: No


при всем этом картинка с превьюшкой с сервака удаляются, а запись о них в бд остается.
вот код на который ругается:
$pic   = def($_GET['pic']);
    $today = date("d.m.y");
    $res   = mysql_fetch_assoc(mysql_query("SELECT * FROM user WHERE id='".$_SESSION['id']."'"));
    $ref_count = mysql_fetch_assoc(mysql_query("SELECT count(*), sum(ref_pay) FROM user WHERE ref='".$_SESSION['id']."'"));

    $pic   = mysql_fetch_assoc(mysql_query("SELECT * FROM pic WHERE id='$pic' AND owner='".$_SESSION['id']."'"));
    if ($pic['id']>0)
    {
        [b]unlink($pic['path']); //20я строка, в которой сидит ошибка[/b]
        unlink($pic['thumb_path']);
    }
    mysql_query("DELETE FROM pic WHERE id='$pic' AND owner='".$_SESSION['id']."'");


Из одминки все нормально удаляется, сразу полностью, без ошибок.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Electric
Electric
сообщение 15.7.2010, 23:59; Ответить: Electric
Сообщение #2


CMS help/antivirus
******

Группа: Active User
Сообщений: 1532
Регистрация: 27.12.2009
Из: Єдина Україна
Поблагодарили: 389 раз
Репутация:   57  


Движок какой?

Возможно должно быть так:
    if ($pic['id']>0)
    {
        unlink($pic['path']);
        unlink($pic['thumb_path']);
        mysql_query("DELETE FROM pic WHERE id='$pic['id']' AND owner='".$_SESSION['id']."'");
    }


Сообщение отредактировал Electric - 16.7.2010, 0:04


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Frankie
Frankie
Topic Starter сообщение 16.7.2010, 0:05; Ответить: Frankie
Сообщение #3


Старожил
******

Группа: Active User
Сообщений: 1520
Регистрация: 18.9.2009
Поблагодарили: 320 раз
Репутация:   36  


(Electric @ 15.7.2010, 23:59) *
Движок какой?

аналог image2you
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FlashBlack
FlashBlack
сообщение 16.7.2010, 0:06; Ответить: FlashBlack
Сообщение #4


Участник
***

Группа: User
Сообщений: 192
Регистрация: 13.8.2008
Из: MINSK
Поблагодарили: 39 раз
Репутация:   10  


после
$pic   = mysql_fetch_assoc(mysql_query("SELECT * FROM pic WHERE id='$pic' AND owner='".$_SESSION['id']."'"));

выведи
var_dump($pic); exit();

и результат суда


Kostap13, прав
mysql_query("DELETE FROM pic WHERE id='$pic' AND owner='".$_SESSION['id']."'");

заменяем на
mysql_query("DELETE FROM pic WHERE id='{$pic['id']}' AND owner='{$_SESSION['id']}'");


Сообщение отредактировал FlashBlack - 16.7.2010, 0:09


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kostap13
Kostap13
сообщение 16.7.2010, 0:06; Ответить: Kostap13
Сообщение #5


Бывалый
****

Группа: User
Сообщений: 358
Регистрация: 5.7.2010
Поблагодарили: 81 раз
Репутация:   17  


(Frankie @ 15.7.2010, 23:46) *
    mysql_query("DELETE FROM pic WHERE id='$pic' AND owner='".$_SESSION['id']."'");


У тебя же $pic - ассоциативный массив, тогда WHERE id='$pic' - не правильно. И не надо переменные класть в одинарные кавычки.
Когда проблемы с запросами советую добавлять в конце or die(mysql_error()):
mysql_query("DELETE FROM pic WHERE id='$pic' AND owner='".$_SESSION['id']."'")  or die(mysql_error());

Или просто через echo выводить текст запроса и смотреть на очепятки и т.д.

Сообщение отредактировал Kostap13 - 16.7.2010, 0:10
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Frankie
Frankie
Topic Starter сообщение 16.7.2010, 0:10; Ответить: Frankie
Сообщение #6


Старожил
******

Группа: Active User
Сообщений: 1520
Регистрация: 18.9.2009
Поблагодарили: 320 раз
Репутация:   36  


(Electric @ 15.7.2010, 23:59) *
Возможно должно быть так:
Код
if ($pic['id']>0)
{
unlink($pic['path']);
unlink($pic['thumb_path']);
mysql_query("DELETE FROM pic WHERE id='$pic['id']' AND owner='".$_SESSION['id']."'");
}

неа, выдает ошибку:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/.../data/www/сайт.ру/delete.php on line 22
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kostap13
Kostap13
сообщение 16.7.2010, 0:12; Ответить: Kostap13
Сообщение #7


Бывалый
****

Группа: User
Сообщений: 358
Регистрация: 5.7.2010
Поблагодарили: 81 раз
Репутация:   17  


(Frankie @ 16.7.2010, 0:10) *
неа, выдает ошибку:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/.../data/www/сайт.ру/delete.php on line 22


mysql_query("DELETE FROM pic WHERE id='".$pic['id']."' AND owner='".$_SESSION['id']."'");


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Electric
Electric
сообщение 16.7.2010, 0:12; Ответить: Electric
Сообщение #8


CMS help/antivirus
******

Группа: Active User
Сообщений: 1532
Регистрация: 27.12.2009
Из: Єдина Україна
Поблагодарили: 389 раз
Репутация:   57  


Блин не обратил внимание на кавычки...
if ($pic['id']>0)
{
unlink($pic['path']);
unlink($pic['thumb_path']);
mysql_query("DELETE FROM pic WHERE id='".$pic['id']."' AND owner='".$_SESSION['id']."'");
}
Вот так правильнее...


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Frankie
Frankie
Topic Starter сообщение 16.7.2010, 0:14; Ответить: Frankie
Сообщение #9


Старожил
******

Группа: Active User
Сообщений: 1520
Регистрация: 18.9.2009
Поблагодарили: 320 раз
Репутация:   36  


FlashBlack, Kostap13, Ребята, пасиба, все заработало теперь, а я замучалсо ковыряться с самой командой unlink, думал может в записи чо неправильно....

Сообщение отредактировал Frankie - 16.7.2010, 0:14
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kostap13
Kostap13
сообщение 16.7.2010, 0:19; Ответить: Kostap13
Сообщение #10


Бывалый
****

Группа: User
Сообщений: 358
Регистрация: 5.7.2010
Поблагодарили: 81 раз
Репутация:   17  


Пожалуйста, но warning на unlink должен остаться.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Вопрос по seo для интернет магазина
куда девать продвинутые товары, которые уже не выпускают
18 viktormerke 2785 Вчера, 15:18
автор: Smspva
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 655 13.12.2017, 21:01
автор: vlads
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3443 12.12.2017, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) php скрипты любой сложности / диз+верстка (адаптивно)
любые задачи на php - автоматизация, парсинг, работа с БД
1 affrodita 507 8.12.2017, 17:40
автор: affrodita
Открытая тема (нет новых ответов) Вопрос к знатокам Instagram
20 SEOMR 4177 30.11.2017, 14:25
автор: DiscordPro


 



RSS Текстовая версия Сейчас: 16.12.2017, 9:48
Дизайн