За последние 24 часа нас посетил 23081 программист и 1505 роботов. Сейчас ищут 1073 программиста ...

rename в цикле

Тема в разделе "Вопросы от блондинок", создана пользователем zhenia3003, 16 авг 2014.

  1. zhenia3003

    zhenia3003 Активный пользователь

    С нами с:
    20 авг 2012
    Сообщения:
    184
    Симпатии:
    3
    выполняю rename() в цикле, перемещаются все папки из цикла, а как переместить 1 папку?
    $key - перемещаемая папка
    Код (Text):
    1.  
    2. foreach($time as $key){
    3. <div>
    4. <form method="post">
    5. <input type="submit" name="del_msg" value="Удалить" />
    6. </form>
    7. <?
    8. if (isset($_POST['del_msg'])) {  
    9. $del_path=pathinfo($key, PATHINFO_FILENAME);
    10. $nfpath = "base/delete/".$del_path."/";
    11. rename($key,$nfpath) or die("Ошибка перемещения!");
    12. }
    13. ?>
     
  2. zhenia3003

    zhenia3003 Активный пользователь

    С нами с:
    20 авг 2012
    Сообщения:
    184
    Симпатии:
    3
    Если после rename ставить exit; - удаляет 1 div как надо. Это правильно?
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    а для чего ты сделал(а) цикл?
     
  4. zhenia3003

    zhenia3003 Активный пользователь

    С нами с:
    20 авг 2012
    Сообщения:
    184
    Симпатии:
    3
    Цикл выводит из базы кучу фоток например. С помощью rename хотел удалять либо перемещать определенную 1 фотку. Exit кстати в последнем моем сообщении не помог. Код я доработал, вроде работает. Могу скинуть что в итоге получилось, если интересно.
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Я только пытаюсь подтолкнуть тебя к тому, что любое действие должно иметь свою причину. Нельзя просто взять да поставить exit, вдруг что-то полезное получится. Так же как не бывает "вроде работает". Если цель сформулирована — есть разница между "работает" и "не работает".

    Добавлено спустя 1 минуту 13 секунд:
    нет, не интересно. пока ты не описал задачу.
    я фигею, "например выводятся картинки и определенная картинка переименовывается", это как минимум странно :)
     
  6. zhenia3003

    zhenia3003 Активный пользователь

    С нами с:
    20 авг 2012
    Сообщения:
    184
    Симпатии:
    3
    вот код который у меня работает. и объяснение на картинке.... (из цикла нужно удалить красный квадрат)
    [​IMG]
    Код (Text):
    1.  
    2. <? foreach($time as $key=>$key_t){
    3. /*
    4. ......
    5. какой-то код
    6. .....
    7. */
    8.  
    9. ?>
    10. <form method="post">
    11. <input type="submit" name="<? echo $key_t; ?>" style="color:#F00;" value="Удалить" />
    12. </form>
    13. <? if (isset($_POST[$key_t])) {
    14. rename($key, "base/delete/".$key_t."/") or die("Ошибка!");
    15. echo '<meta http-equiv="refresh" content="0;url=index.php?page=main">'; //
    16. break;
    17. }
    18. }
    19. ?>
    Добавлено спустя 2 минуты 1 секунду:
    вопрос не в тему. почему сессия в опере работает, а в гугл хром нет?(

    Добавлено спустя 1 минуту 50 секунд:
    1я стр
    Код (Text):
    1.  
    2. session_start();
    3. $_SESSION['admin'] = "john";
    2я стр
    Код (Text):
    1.  
    2. if(isset($_SESSION['admin'])){
    3. бла-бла-бла
    4. }
     
  7. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Есть две разные операции:
    - удаление выбранной картинки
    - вывод списка картинок
    Разделяй и властвуй :) Код будет понятнее и надежнее. Суп должен храниться отдельно от мух.

    Кстати, если не будешь делать отступы внутри блоков, будешь постоянно ошибаться на ровном месте.

    Ответ на вопрос не в тему: так не бывает. Сессия на сервере, в браузере только сессионная кука. Причем куки уже так давно и хорошо стандартизованы, что можно утверждать — косяк ТВОЙ, а не хрома. Ты просто неправильно интерпретируешь результаты.
     
  8. zhenia3003

    zhenia3003 Активный пользователь

    С нами с:
    20 авг 2012
    Сообщения:
    184
    Симпатии:
    3
    да, косяк был мой. я подключал сессию в середине страницы, в результате чего работало только в опере. Надо было подключать в самом верху страницы..
     
  9. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Кука живет между запросами, поэтому результат может сбить с толку. Ты думаешь, что тестируешь то, что видишь, а оказывается на результат влияет кое-что из прошлого.
     
  10. zhenia3003

    zhenia3003 Активный пользователь

    С нами с:
    20 авг 2012
    Сообщения:
    184
    Симпатии:
    3
    я очищаю куки перед тестом.. а проверяю так alert(document.cookie);
     
  11. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    молодец. только кука не всегда видна из javascript — см. параметр httponly в setcookie().
    ну в твоем случае наверное это неважно.