Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/14: Рейтинг темы: голосов - 14, средняя оценка - 4.93
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
1

rename

15.09.2011, 15:29. Показов 2698. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, сделал создание новости + загрузку картинки, мне нужно что бы при загрузке имя картинки изменилось на ид новости. Помоги решить вопрос.
PHP
1
2
3
4
5
6
7
$p = "images/".basename($_FILES['user_file']['name']);
copy ($_FILES['user_file']['tmp_name'], $p);
$sql = mysql_query("INSERT INTO news VALUES(0,
'".mysql_real_escape_string($_POST[name])."',
'".mysql_real_escape_string($_POST[data])."',
'".mysql_real_escape_string($_POST[text])."',
'".mysql_real_escape_string($p)."') ");
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2011, 15:29
Ответы с готовыми решениями:

Не работает rename
Не работает rename, пишет: Parse error: syntax error, unexpected '}' in /public_html/uphoto.php on...

Функция rename
День добрый. Снова нужна ваша помощь :) $rand_img = rand(1,500000);...

Resize + Rename
Доброго времени суток, есть код: <?php if (!empty($_FILES)) { $uploaddir='files/'; ...

Rename - выдает ошибку
при переименование файла оператором rename(исходный, новый) получаю ошибку о том что файл занят...

22
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
15.09.2011, 15:42 2
можно сделать подзапросом
0
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
15.09.2011, 16:04 3
думаю что ето можно реализовать только 2мя запросами..
0
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
15.09.2011, 16:11  [ТС] 4
Если кто то сталкивался киньте пожалуйста образец.
0
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
15.09.2011, 20:55 5
Цитата Сообщение от Makson Посмотреть сообщение
что бы при загрузке имя картинки изменилось на ид новости.
При загрузке куда? В таблицу новостей или куда?
0
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
16.09.2011, 17:37  [ТС] 6
Вот есть бд, при загрузке картинки нужно images/test.png изменить на ид нвости, должно получится images/42.png следовательно и в директории images имя картинки должно измениться.
SQL
1
(42, 'testnick', '2011', 'тествый текст', 'images/test.png'),
Добавлено через 20 часов 17 минут
проблема ещё актуальна)))))
0
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
16.09.2011, 17:59 7
сначала делаете
SQL
1
INSERT ...
потом
SQL
1
SELECT `id` FROM `table_name` ORDER BY `id` LIMIT 0, 1
потом перейменовуете картинку на полученное id

и делате
PHP
1
$sSql="Update `table_name` SET `image_name` = '".$image_name."' WHERE `id`='".$id."'";
всё оочень просто
1
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
16.09.2011, 18:17 8
mysql_insert_id
1
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
16.09.2011, 18:34  [ТС] 9
потом перейменовуете картинку на полученное id
немного не понятно как сделать.
0
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
16.09.2011, 19:15 10
Makson, дайте весь код а не кусочек, или сделайте так
сохраняете новость
mysql_query(ВАШ ЗАПРОС)
$id = mysql_insert_id();

и сохраняете картинку уже зная id новости
images/$id.[jpg,png,gif]
1
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
16.09.2011, 21:40  [ТС] 11
Вот весь код
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
25
26
27
28
29
<?php
if($_GET['act'] == 'complete')
        {
         if($_POST['name'] != "")
        {
$p = "images/".basename($_FILES['user_file']['name']);
copy ($_FILES['user_file']['tmp_name'], $p);
$sql = mysql_query("INSERT INTO news VALUES(0,
'".mysql_real_escape_string($_POST[name])."',
'".mysql_real_escape_string($_POST[data])."',
'".mysql_real_escape_string($_POST[text])."',
'".mysql_real_escape_string($p)."') ");
            }else{
        echo "<center><h3><b><font color=red>Вы не заполнили поля!</font></b></h3></center>";
        }   
        }
?>
 <form action = "?p=news&act=complete" method = "post" enctype="multipart/form-data">
 <tr><td>Имя:</td><td> <input type = "text" name = "name"></td></tr>  
 <tr><td>Дата:<br /></td><td><input type = "text" name = "data"></td></tr>  
 <tr><td>Текст:<br /></td><td><input type = "text" name = "text"></td></tr>  
 <tr><td>Картинка:<br /></td><td><input type = "file" name = "user_file"></td></tr>
 
            </tr>
      <tr><td>
        <input type = "submit" onclick="return confirm('Вы действительно хотите создать новость?')" value = "Создать">
      </form>
      </td></tr>
</table>
0
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
21.09.2011, 16:42  [ТС] 12
Ребят, кто сможет написать данный скрипт? Естественно заплачу, много дать не смогу, но всё же. Уже 4 дня мучаюсь с этим скриптом. Если кто то согласен пишите в лс.

Добавлено через 21 час 40 минут
Nazz, дайте icq в лс вам нельзя написать, выдаёт ошибку.

Добавлено через 1 час 35 минут
Цитата Сообщение от Sulik78 Посмотреть сообщение
Makson, дайте весь код а не кусочек, или сделайте так
сохраняете новость
mysql_query(ВАШ ЗАПРОС)
$id = mysql_insert_id();

и сохраняете картинку уже зная id новости
images/$id.[jpg,png,gif]
Сделал поэтому примеру, если картинка с названием kartinka.jpg и ид новости 8 то при загрузки на сервер она выглядит так 8kartinka.jpg как полностью изменить название? И ещё вопрос, на фтп то файл загружается нормально, а вот в бд ссылка не записывается, в чём проблема? вот код
PHP
1
2
3
4
5
6
7
8
$sql = mysql_query("INSERT INTO news VALUES(0,
'".mysql_real_escape_string($_POST[name])."',
'".mysql_real_escape_string($_POST[data])."',
'".mysql_real_escape_string($_POST[text])."',
'".mysql_real_escape_string($p)."') ");
$id = mysql_insert_id();
$p = "images/$id".basename($_FILES['user_file']['name']);
copy ($_FILES['user_file']['tmp_name'], $p);
0
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
21.09.2011, 19:37 13
PHP
1
2
3
4
5
6
7
8
9
10
11
$sql = mysql_query("INSERT INTO news VALUES(0,
'".mysql_real_escape_string($_POST[name])."',
'".mysql_real_escape_string($_POST[data])."',
'".mysql_real_escape_string($_POST[text])."',
'".mysql_real_escape_string($p)."') ");
$id = mysql_insert_id();
$sType = basename($_FILES['user_file']['name']);
$aType = explode(".", $sType);
$sType = end($aType);
$p = "images/$id".$sType;
copy ($_FILES['user_file']['tmp_name'], $p);
1
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
21.09.2011, 21:36  [ТС] 14
1 проблема почти решена, он изменяет имя на ид, но делает не 16.png а 16png то есть нет точки. Но в бд ссылку так и не записывает.
0
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
21.09.2011, 23:05 15
PHP
1
2
3
4
5
6
7
8
9
10
11
$sql = mysql_query("INSERT INTO news VALUES(0,
'".mysql_real_escape_string($_POST[name])."',
'".mysql_real_escape_string($_POST[data])."',
'".mysql_real_escape_string($_POST[text])."',
'".mysql_real_escape_string($p)."') ");
$id = mysql_insert_id();
$sType = basename($_FILES['user_file']['name']);
$aType = explode(".", $sType);
$sType = end($aType);
$p = "images/$id.".$sType;
copy ($_FILES['user_file']['tmp_name'], $p);
1
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
21.09.2011, 23:26  [ТС] 16
Картинка загружается нормально, но в бд не записывается ссылка на файл.
0
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
21.09.2011, 23:33 17
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$sql = mysql_query("INSERT INTO news VALUES(0,
'".mysql_real_escape_string($_POST[name])."',
'".mysql_real_escape_string($_POST[data])."',
'".mysql_real_escape_string($_POST[text])."',
'".mysql_real_escape_string($p)."') ");
$id = mysql_insert_id();
$sType = basename($_FILES['user_file']['name']);
$aType = explode(".", $sType);
$sType = end($aType);
$p = "images/$id.".$sType;
copy ($_FILES['user_file']['tmp_name'], $p);
mysql_query("UPDATE news SET image=".$p." WHERE id=".$id);
0
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
21.09.2011, 23:46  [ТС] 18
Не пашет, записи в бд нет.
0
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
21.09.2011, 23:49 19
Вы изменили название полей соответственно Вашей БД?
0
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
21.09.2011, 23:56  [ТС] 20
да, у вас было mysql_query("UPDATE news SET image=".$p." WHERE id=".$id); поле image, у меня поле images. тут я всё заменил.
0
21.09.2011, 23:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2011, 23:56
Помогаю со студенческими работами здесь

PHP rename() не работает
Не переименовывает файл, из prompt переменная принимает значение и в php передаётся корректно....

Не работает функция rename
У меня уже паника сейчас будет, от непонимания происходящего! ...

Rename при загрузке
Делаю так: $opis = $_POST; $file_extension = pathinfo($_FILES, PATHINFO_EXTENSION);

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru