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



 

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

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


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

Группа: Active User
Сообщений: 1532
Регистрация: 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
Сообщений: 1532
Регистрация: 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
Сообщений: 1532
Регистрация: 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
Сообщений: 1532
Регистрация: 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 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужна верстка со знанием php
13 Nemo 525 Вчера, 15:52
автор: Nemo
Открытая тема (нет новых ответов) Ищу php-программиста, работа с Yii2
0 eduarddis 332 19.5.2018, 15:58
автор: eduarddis
Открытая тема (нет новых ответов) Вопрос по поводу цен на сайте
16 WildWeb8 961 13.5.2018, 17:40
автор: genjnat
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
20 qpPeW 5766 30.4.2018, 15:34
автор: koroluk1990
Открытая тема (нет новых ответов) Нужен backend разработчик (PHP)
0 Jerard 522 27.4.2018, 1:30
автор: Jerard


 



RSS Текстовая версия Сейчас: 28.5.2018, 8:11
Дизайн