Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
6 / 6 / 2
Регистрация: 05.03.2013
Сообщений: 45

Изменение названия папки по значению переменной

15.06.2014, 20:41. Показов 1250. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго вечера.

Пытаюсь сделать одновременное редактирование значения в базе MySQL и имени каталога, но проблема возникла с редактированием каталога. Нужно реализовать, чтобы менялось название папки с таким же значением, как и в базе данных. Может, плохо объяснил, но вот наработки:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
while($rows=mysql_fetch_array($result)){
?>
<form method = "post" action = "edit_albums_script.php">
<tr>
<input type = "hidden" name = "id" value = "<? echo $rows['id'];?>">
<td><input type = "text" name = "data" value = "<? echo $rows['data']; ?>"></td>
<td><textarea name = "aprasas"><? echo $rows['aprasas']; ?></textarea></td>
<td><input type = "submit" value = "Redaguoti" name = "edit"></td>
<td><input type = "submit" name = "delete" value = "Ištrinti"></td>
</tr>
</form>
<?
}
?>
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
extract($_POST);
if(isset($_POST['edit'])){
    $sql = "update gallery_albums set data = '$data', aprasas = '$aprasas' where id = '$id'";
    mysql_query($sql) or die ('Neirase');
     rename(/uploads/$data, /uploads/$data);
    ?>
   <a href = "edit_albums.php">Sėkmingai redaguotas! Grižti atgal.</a>
    <?
}
?>
Название папки - дата.
Первое значение rename - название уже существующей папки (к примеру, 2014-01-01), по-идее это должна быть переменная, соответствующая дате в базе, и затем уже следует её изменение.

Прошу прощения за плохое объяснение, первый такой самостоятельный проект, и так возникало много проблем, но к этой уже не могу найти решения. Если кто поможет - буду безмерно благодарен.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.06.2014, 20:41
Ответы с готовыми решениями:

Подскажите программу изменение умолчания названия создаваемого файла, папки
отличная идея. Вот если бы еще такое с доковскими файлами сделать. Правда у меня пока и это не получается. Как я понял данный форум для...

Изменение значения переменной, по значению другой
Приветствую. Подскажите элементарную вещь. Как в одной форме присвоить значение input, в зависимости от значения другого input? А...

Изменение цвета названия файла/папки (либо цвета подсветки)
Привет супер уважаемые супер форумчане!) Очень интересно, есть ли какой-то способ изменить цвет названия файла/папки, либо изменить цвет...

5
88 / 88 / 34
Регистрация: 22.05.2012
Сообщений: 404
16.06.2014, 00:38
Я полагаю как-то так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
define('BASEPATH' , $_SERVER['DOCUMENT_ROOT']);
 
 define('UPL_FOLDER' ,  BASEPATH."/uploads");
 
if($_POST){ 
    $inp = new StdClass();
        
        foreach( $_POST as $k=>$v ){
            $inp->$k = mysql_real_escape_string(strip_tags($v));
        }
    $qs = mysql_query("SELECT `data` FROM `gallery_albums` WHERE `id`='".$inp->id."'");
    
    $old_name = mysql_fetch_assoc($qs);
        if(count($old_name) > 0 && !empty($old_name['data'])){
            if(file_exists(UPL_FOLDER."/".$old_name['data'])){
                $q_upd = mysql_query("UPDATE `gallery_albums` SET `data` = '".$inp->data."', aprasas = '"$inp->aprasas."'' where id = '".$inp->id."'");
                rename(UPL_FOLDER."/".$old_name['data'] , $inp->data);
            }else{
                echo "Хюстон, у нас проблеммы!!";
            }           
        }else{
            echo "Эээээ! В базе нет, всю перерыл! Совсем нет такой папки да!";
        }
}
Добавлено через 18 минут
соррь, провтыкал в стр. 17
rename(UPL_FOLDER."/".$old_name['data'] , UPL_FOLDER."/".$inp->data);
2
6 / 6 / 2
Регистрация: 05.03.2013
Сообщений: 45
16.06.2014, 01:41  [ТС]
Что-то он папку не находит... Вторая ошибка вылетает. Значения в select из базы данных по прежнему подходят, или нужно читать файлы из самой папки?
0
88 / 88 / 34
Регистрация: 22.05.2012
Сообщений: 404
16.06.2014, 14:30
Сонный был завтыкал ( . ) перед $inp->aprasas. ))
PHP
1
$q_upd = mysql_query("UPDATE `gallery_albums` SET `data` = '".$inp->data."', aprasas = '".$inp->aprasas."'' where id = '".$inp->id."'");
Тут логика такая - получаем пост запрос, парсим, чистим его и присваиваем результат как перемененные объекта StdClass. Выполняем запрос в БД где по идее должно хранится имя папки ( существующее ), если запрос вернул результат проверяем есть ли такая папка - да - обновляем ее имя в БД и меняем имя каталога. - нет - ошибка - такой папки нет в файловой системе. Если нет результата запроса (асоц. массив из 1-го элемента ) или же значение массива пустое 2-я ошибка - запрос не вернул результат из БД.
Проверь что возвращает запрос, в моем примере
PHP
1
 $old_name - var_dump($old_name);
увидишь тип данных и результат запроса, должен быть ассоциативный массив с строковым значением string(length) "value"
2. Проверь пути к каталогам и права на папки, попробуй 777 поставить. Для rename нужно указывать полный путь к файлу / каталогу т.е. к прим. Z:/home/mysite.ru/www/folder , на локалке или если сервер там будет по другому... Что бы узнать полный путь создай в директории с папкой php файл, напиши там
PHP
1
var_dump(dirname(__FILE__));
и перейди на него.
1
6 / 6 / 2
Регистрация: 05.03.2013
Сообщений: 45
16.06.2014, 18:23  [ТС]
Всё-равно что-то не то...

PHP
1
 $old_name - var_dump($old_name);
Возвращает NULL. Пробовал в разных местах кода ставить.
За путь к файлу не знал, спасибо, оставлю на будущее. Однако, прописал полный путь (с разными вариациями) - не видит папку.

===

Интересно то, что сделать добавление фотографии в определённую папку (выбирая значение из существующей записи в базе данных) - получилось. Единовременное создание записи в БД и папки с одним названием - тоже. А переименование... Чёрт его поймёт, что не так делаю.

P.S.
И немного не в тему. Сделал также опросник на странице, на локальном работал. Перебросил на временный хостинг - уже нет. С подсоединением к БД всё ок, т.к. новости с той же базы выводятся. Сегодня битый час сижу, пытаюсь найти ошибку - ничего. Запутался в своём же проекте...
0
88 / 88 / 34
Регистрация: 22.05.2012
Сообщений: 404
16.06.2014, 22:08
Сбрось весь код и структуру бд. Там явно куча ошибок, нужно смотреть в комплексе
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.06.2014, 22:08
Помогаю со студенческими работами здесь

Вывод названия папки и пояснение к ней из файла txt внутри этой папки
Здравствуйте, дорогие друзья. Работаю над созданием одной программы и нужно сделать &quot;движок патчей&quot;. Поясняю, это сканирование...

Выбор нужной папки по маске и подстановка названия выбранной папки в путь в bat файле
Здравствуйте! Есть папка dist содержащая папки с дистрибутивами 1С вида: dist\8.3.5.1186 dist\8.3.6.1977 и тд. В bat файле,скажем,...

Перенос из одной папки в другую с переименованием названия папки
есть массив mas статический, котрый имеет список папок, которые должны быть в дирректории С:\1 аименования папок в этом списке начинается...

Запретить изменение названия программы или возврат названия
Создал программу, при закрытии которой она удаляется. Но... если сменить название программы пока она запущена, она естественно не...

По значению переменной x (названию сезона) присвоить переменной t соответствующее значение и вывести на экран
Дано описание: Type сезон= (зима, весна, лето, осень); Var x: сезон; t: (тепло, жарко, холодно); По значению переменной x (названию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru