Вопрос такого типа: есть картинка, её нужно удалить аяксом, но проблема в том, что unlink() мне говорит, что не существует такого файла, когда в тоже время директория проходит проверку file_exists и причем удачно.
$dir = '../img/products/img.jpg';
if (file_exists($dir)) {
echo 'true1';
if (unlink($dir)) {
echo 'true2';
} else {
echo 'false2';
}
} else {
echo 'false1';
}
В чем собственно проблема?
Спустя 2 минуты, 43 секунды (27.01.2012 - 21:40) Winston написал(а):
А если попробовать прописать?
$dir = $_SERVER['DOCUMENT_ROOT'] . '/img/products/';
Спустя 5 минут, 34 секунды (27.01.2012 - 21:46) nugle написал(а):
аналогичная ситуация, ничего не меняется
Спустя 1 минута, 23 секунды (27.01.2012 - 21:47) cyberside написал(а):
а если убрать последний слеш?
$dir = $_SERVER['DOCUMENT_ROOT'] . '/img/products';
Спустя 5 минут, 32 секунды (27.01.2012 - 21:53) nugle написал(а):
то же самое
Спустя 1 минута, 40 секунд (27.01.2012 - 21:54) Winston написал(а):
Запусти PHP скрипт. напрямую, удаление произойдет?
Спустя 30 секунд (27.01.2012 - 21:55) cyberside написал(а):
Спустя 7 минут, 18 секунд (27.01.2012 - 22:02) nugle написал(а):
Winston
пишет доступ запрещен
cyberside
мне там картинку надо удалять, а дирикторию написал, чтобы не напрягать чужой мозг)
пишет доступ запрещен
cyberside
мне там картинку надо удалять, а дирикторию написал, чтобы не напрягать чужой мозг)
Спустя 5 минут, 56 секунд (27.01.2012 - 22:08) bob marley написал(а):
Ссылку полную,во-первых.
Во-вторых,для удаления используй rmdir() !
И ещё проверь chmod,может там ограничения на выполнения стоят!
$domain = parse_url($_SERVER['HTTP_HOST']);
$domain = 'http://'.$domain['path'].'/';
$dir = $domain.'img/products/';
...
Во-вторых,для удаления используй rmdir() !
И ещё проверь chmod,может там ограничения на выполнения стоят!
Спустя 1 минута, 45 секунд (27.01.2012 - 22:10) Winston написал(а):
Цитата (nugle @ 27.01.2012 - 21:02) |
пишет доступ запрещен |
Ты на винде пытаешься удалить?
Цитата |
а дирикторию написал, чтобы не напрягать чужой мозг) |
Ну так для удаления дир и файла разные ф-и
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 2 минуты, 9 секунд (27.01.2012 - 22:12) nugle написал(а):
Winston
да
да
Цитата |
Ну так для удаления дир и файла разные ф-и |
тогда извиняюсь) мне нужно изображение удалять
$dir = SPH_ROOT . 'img/products/Ж2_1.jpg';
unlink($dir);
так не работает, пишет файл не найден, хотя он есть
Спустя 2 минуты, 28 секунд (27.01.2012 - 22:14) bob marley написал(а):
nugle
это вообще другой разговор.
у тебя денвер или просто php установлен?
это вообще другой разговор.
у тебя денвер или просто php установлен?
Спустя 47 секунд (27.01.2012 - 22:15) nugle написал(а):
аналог денвера, irsys
Спустя 59 секунд (27.01.2012 - 22:16) bob marley написал(а):
nugle
пробовал делать как я тебе писал?
пробовал делать как я тебе писал?
Спустя 2 минуты, 40 секунд (27.01.2012 - 22:19) Winston написал(а):
Цитата (nugle @ 27.01.2012 - 21:12) |
SPH_ROOT |
Константа не будет пахать.
Спустя 1 минута, 34 секунды (27.01.2012 - 22:20) bob marley написал(а):
nugle
вот попробуй сделать как я писал,если проблема решится с тебя +1
вот попробуй сделать как я писал,если проблема решится с тебя +1
![wink.gif](http://phpforum.ru/html/emoticons/wink.gif)
Спустя 3 минуты, 55 секунд (27.01.2012 - 22:24) nugle написал(а):
Winston
там и не константа не работает
bob marley
да, тоже самое
там и не константа не работает
bob marley
да, тоже самое
Спустя 7 минут, 33 секунды (27.01.2012 - 22:32) bob marley написал(а):
nugle
блин..а попробуй на хостере каком-нибудь!
блин..а попробуй на хостере каком-нибудь!
Спустя 6 минут, 32 секунды (27.01.2012 - 22:38) bob marley написал(а):
$dir = '../img/products/'; А папка пуста?Удалять директорию можно только с помощью rmdir() ,при условии что папка пуста!!!Я вспомнил!
Спустя 2 минуты, 20 секунд (27.01.2012 - 22:41) nugle написал(а):
bob marley
читай внимательнее мои посты, если пытаешься помочь. я потом исправился, сказал,что мне нужно изображения из папки удалять
читай внимательнее мои посты, если пытаешься помочь. я потом исправился, сказал,что мне нужно изображения из папки удалять
Спустя 4 минуты, 41 секунда (27.01.2012 - 22:46) bob marley написал(а):
nugle
изображения?отредактируй тогда первое сообщение свое!
если удалять изображение..кинь код твой ещё раз,где уже изображение удаляется!
изображения?отредактируй тогда первое сообщение свое!
если удалять изображение..кинь код твой ещё раз,где уже изображение удаляется!
Спустя 4 минуты, 54 секунды (27.01.2012 - 22:50) nugle написал(а):
с сервер рут тоже самое, хоть абсолютные пути, хоть относительные, не пробиваемая функция
$dir = '../img/products/'.$article;
unlink($dir);
Спустя 3 минуты, 33 секунды (27.01.2012 - 22:54) bob marley написал(а):
nugle
А что в переменной $article?
А что в переменной $article?
Спустя 3 минуты, 12 секунд (27.01.2012 - 22:57) nugle написал(а):
Имя картинки, к примеру Ingram.jpg
Спустя 2 минуты, 6 секунд (27.01.2012 - 22:59) bob marley написал(а):
У меня на денвере работает код твой!!!
А если делать полную ссылку не работает и если точечки тоже не пашет.надо походу чтобы обработчик(этот код) находился совместно с папкой "img" в данном случае..Как-то так..
<?php
$article = "1.jpg";
$dir = 'img/products/'.$article;
unlink($dir);
А если делать полную ссылку не работает и если точечки тоже не пашет.надо походу чтобы обработчик(этот код) находился совместно с папкой "img" в данном случае..Как-то так..
Спустя 1 минута, 3 секунды (27.01.2012 - 23:00) bob marley написал(а):
Я не знаю,можно ли назвать это решением проблемы конечно.. ![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
но все же перемести обработчик!
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
но все же перемести обработчик!
Спустя 2 минуты, 59 секунд (27.01.2012 - 23:03) bob marley написал(а):
Все я спать
Жду спс в карму
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Жду спс в карму
![ph34r.gif](http://phpforum.ru/html/emoticons/ph34r.gif)
Спустя 16 часов, 51 минута, 45 секунд (28.01.2012 - 15:55) nugle написал(а):
Доброго всем дня!
Проблема до сих пор актуальна.
Но, что я заметил. если положить текстовый файл в папку, то скрипт его удаляет, а картинку не хочет
Проблема до сих пор актуальна.
$dir = 'img/products/Ж2_1.jpg';
echo $dir.'<br />';
if(file_exists($dir)) echo 'yes'; else echo 'no';
unlink($dir);
Но, что я заметил. если положить текстовый файл в папку, то скрипт его удаляет, а картинку не хочет
Спустя 2 минуты, 14 секунд (28.01.2012 - 15:57) neadekvat написал(а):
Используй путь от корня.
Спустя 51 секунда (28.01.2012 - 15:58) Winston написал(а):
Если у тебя кодировка UTF-8, а в имени картинки кириллица "Ж2_1", то могут быть проблемы, попробуй написать имя картинки латиницей.
Спустя 2 минуты, 32 секунды (28.01.2012 - 16:01) nugle написал(а):
Winston
спасибо, но а как сделать, чтобы и кириллицу поддерживала unlink?
спасибо, но а как сделать, чтобы и кириллицу поддерживала unlink?
Спустя 1 минута, 5 секунд (28.01.2012 - 16:02) Winston написал(а):
Цитата (nugle @ 28.01.2012 - 15:01) |
спасибо, но а как сделать, чтобы и кириллицу поддерживала unlink? |
Картинку с латинским именем удаляет?
Спустя 1 минута, 7 секунд (28.01.2012 - 16:03) nugle написал(а):
Winston
да
да
Спустя 1 минута, 15 секунд (28.01.2012 - 16:04) Winston написал(а):
Как вариант попробовать так
$dir = 'img/products/Ж2_1.jpg';
echo $dir.'<br />';
if(file_exists($dir)) echo 'yes'; else echo 'no';
$dir = iconv('UTF-8', 'WINDOWS-1251', $dir);
unlink($dir);
Спустя 2 минуты, 50 секунд (28.01.2012 - 16:07) inpost написал(а):
nugle
Я бы сказал вот. Правила:
1. Не давать рус. имена.
2. Не использовать спец.символы.
3. Не использовать пробелы
Я бы сказал вот. Правила:
1. Не давать рус. имена.
2. Не использовать спец.символы.
3. Не использовать пробелы
Спустя 3 минуты, 41 секунда (28.01.2012 - 16:11) nugle написал(а):
inpost
Тут дело все в том, что:
1. На сайт будут загружаться картинки(загружать в дальнейшем буду не я)
2. Я же не буду каждому пользователю объяснять, что хорошо, а что плохо
3. Поэтому пытаюсь сделать универсально)
Winston
сейчас попробую
Тут дело все в том, что:
1. На сайт будут загружаться картинки(загружать в дальнейшем буду не я)
2. Я же не буду каждому пользователю объяснять, что хорошо, а что плохо
3. Поэтому пытаюсь сделать универсально)
Winston
сейчас попробую
Спустя 41 секунда (28.01.2012 - 16:11) inpost написал(а):
nugle
А вот теперь вспоминаем, как мы копируем на сайт картинки? Функция вторым параметром что передаёт?
А вот теперь вспоминаем, как мы копируем на сайт картинки? Функция вторым параметром что передаёт?
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 8 минут, 37 секунд (28.01.2012 - 16:20) nugle написал(а):
inpost
я вот как раз таки и забыл, что там тоже использую iconv(просто всего первый раз с ней работаю)
Winston
великолепно, все работает)
я вот как раз таки и забыл, что там тоже использую iconv(просто всего первый раз с ней работаю)
Winston
великолепно, все работает)
Спустя 6 минут, 4 секунды (28.01.2012 - 16:26) inpost написал(а):
nugle
Эх ты... я же вопрос не случайно задал...
Эх ты... я же вопрос не случайно задал...
Спустя 36 минут, 8 секунд (28.01.2012 - 17:02) nugle написал(а):
inpost
2 параметром мы передаем путь куда копируем картинку
2 параметром мы передаем путь куда копируем картинку
Спустя 6 минут, 29 секунд (28.01.2012 - 17:09) inpost написал(а):
nugle
Ты в этом уверен? Вот выведи ту переменную полностью и посмотри внимательно
Ты в этом уверен? Вот выведи ту переменную полностью и посмотри внимательно
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 3 минуты, 55 секунд (28.01.2012 - 17:13) nugle написал(а):
мы о том говорим
bool move_uploaded_file ( string filename, string destination )?
bool move_uploaded_file ( string filename, string destination )?
Спустя 2 минуты, 48 секунд (28.01.2012 - 17:15) Winston написал(а):
nugle
Да
Да
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 10 минут, 5 секунд (28.01.2012 - 17:25) nugle написал(а):
string destination - путь назначения
у меня реализован так $destination = $upload_dir .'/' . iconv('UTF-8', 'windows-1251', $_FILES['userfile']['name'][$i]);
у меня реализован так $destination = $upload_dir .'/' . iconv('UTF-8', 'windows-1251', $_FILES['userfile']['name'][$i]);
Спустя 1 минута, 39 секунд (28.01.2012 - 17:27) inpost написал(а):
echo $destination... что выведет? Ты сказал, что выведет ПУТЬ до директории, куда копируется файл. Я сказал, чтобы ты проверил.
Спустя 2 минуты, 27 секунд (28.01.2012 - 17:30) nugle написал(а):
inpost
не, имел ввиду путь и имя файла
не, имел ввиду путь и имя файла
Спустя 58 секунд (28.01.2012 - 17:30) inpost написал(а):
Ну что мне из тебя всё вытягивать приходится? Кто из нас тут нуждается в знаниях?! ![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Ну так ты говоришь, что "имя файла", а что ты с именем после делаешь? Вот есть у тебя имя, и как ты делаешь связь данных с файлом?
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Ну так ты говоришь, что "имя файла", а что ты с именем после делаешь? Вот есть у тебя имя, и как ты делаешь связь данных с файлом?
Спустя 3 минуты, 40 секунд (28.01.2012 - 17:34) Winston написал(а):
Можно вот так сделать
И не придется заморачиваться насчет русских имен.
А еще можно добавлять time() к имени картинки, чтобы не было проблем с одинаковыми именами.
Свернутый текст
function translit($text)
{
$trans = array("а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d","е"=>"e", "ё"=>"yo","ж"=>"j","з"=>"z","и"=>"i","й"=>"i","к"=>"k","л"=>"l", "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r","с"=>"s","т"=>"t", "у"=>"y","ф"=>"f","х"=>"h","ц"=>"c","ч"=>"ch", "ш"=>"sh","щ"=>"sh","ы"=>"i","э"=>"e","ю"=>"u","я"=>"ya",
"А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D","Е"=>"E", "Ё"=>"Yo","Ж"=>"J","З"=>"Z","И"=>"I","Й"=>"I","К"=>"K", "Л"=>"L","М"=>"M","Н"=>"N","О"=>"O","П"=>"P", "Р"=>"R","С"=>"S","Т"=>"T","У"=>"Y","Ф"=>"F", "Х"=>"H","Ц"=>"C","Ч"=>"Ch","Ш"=>"Sh","Щ"=>"Sh", "Ы"=>"I","Э"=>"E","Ю"=>"U","Я"=>"Ya",
"ь"=>"","Ь"=>"","ъ"=>"","Ъ"=>"");
return strtr($text, $trans);
}
$name = iconv('UTF-8', 'windows-1251', translit($_FILES['userfile']['name'][$i])
$destination = $upload_dir .'/' . $name);
И не придется заморачиваться насчет русских имен.
А еще можно добавлять time() к имени картинки, чтобы не было проблем с одинаковыми именами.
Спустя 53 секунды (28.01.2012 - 17:35) inpost написал(а):
Winston
Ну что ты сразу код готовый даёшь, я хотел, чтобы человек сам к этому пришел
Ну что ты сразу код готовый даёшь, я хотел, чтобы человек сам к этому пришел
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 4 минуты, 28 секунд (28.01.2012 - 17:39) Winston написал(а):
Свернутый текст
Цитата (inpost @ 28.01.2012 - 16:35) |
Ну что ты сразу код готовый даёшь, я хотел, чтобы человек сам к этому пришел |
Ну вот такой я, плохой я
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
Спустя 4 минуты, 1 секунда (28.01.2012 - 17:44) inpost написал(а):
Winston
Тебя надо наказать! Выбирай, минус или отшлёпать?
Тебя надо наказать! Выбирай, минус или отшлёпать?
Спустя 3 минуты (28.01.2012 - 17:47) nugle написал(а):
inpost
хоть ответ я и понял, но твоего вопроса я не понял
как делаю связь с файлом. из бд
Winston
спасибо)
хоть ответ я и понял, но твоего вопроса я не понял
как делаю связь с файлом. из бд
Winston
спасибо)
Спустя 6 минут, 15 секунд (28.01.2012 - 17:53) inpost написал(а):
Ну да, вот смысл добавлять на сайт файлы, они же где-то на сайте отображаются, правильно? И указывается их путь... Вот как у тебя связана форма загрузки с выводом в нужном разделе... вот что за вопрос был!
Но раз ответ уже показали тебе, хотя до этого ты мог и сам догадаться, подумай, как решить остальные 2 проблемы: спец-символы И пробелы )
Но раз ответ уже показали тебе, хотя до этого ты мог и сам догадаться, подумай, как решить остальные 2 проблемы: спец-символы И пробелы )
Спустя 5 минут, 51 секунда (28.01.2012 - 17:59) nugle написал(а):
inpost
благодарю)
благодарю)
Спустя 1 час, 19 минут, 12 секунд (28.01.2012 - 19:18) bob marley написал(а):
nugle
что до сих пор не пашет?!
Я кидал тебе код,он у меня работал!!
Попробуй на хостинг кинь!!!Мне кажется все-таки это денвер(или что там?!) у тебя мозги еб** !
что до сих пор не пашет?!
![ohmy.gif](http://phpforum.ru/html/emoticons/ohmy.gif)
Я кидал тебе код,он у меня работал!!
Попробуй на хостинг кинь!!!Мне кажется все-таки это денвер(или что там?!) у тебя мозги еб** !
Спустя 28 минут, 5 секунд (28.01.2012 - 19:46) nugle написал(а):
bob marley
аааа, читай все посты, а не через один))) дело было в том, что у меня картинки состояли из русских букв
аааа, читай все посты, а не через один))) дело было в том, что у меня картинки состояли из русских букв
Спустя 15 минут, 32 секунды (28.01.2012 - 20:01) bob marley написал(а):
nugle
извентиляюсь
Просто много читать не люблю=Ъ
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
Просто много читать не люблю=Ъ