PHP копирование - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB90.2486
BTC/USD68841.7498
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 05.08.2020, 14:46   #1
Soba
Senior Member
 
Регистрация: 02.05.2014
Сообщений: 628
Бабло: $257430
Cool PHP копирование

Есть задача скопировать txt файл из каталога /var/www/ в каталог /root/folder/
Можно ли скриптом php сделать подобное, обратившись к скрипту из браузера?
Soba вне форума  
Старый 05.08.2020, 14:53   #2
centropartner
Member
 
Регистрация: 10.10.2013
Сообщений: 85
Бабло: $27014
По умолчанию

Включи лучше пользователя, с которого работает пхп (фпм или веб-сервер) в группу, которая будет владеть нужными папками, потом поставь нужные права на запись группой
Те. можно
centropartner вне форума  
Старый 05.08.2020, 14:54   #3
digg
$400
 
Аватар для digg
 
Регистрация: 17.05.2009
Сообщений: 14,034
Бабло: $1904260
Отправить сообщение для digg с помощью ICQ
По умолчанию

да
http://.../script.php?filename=1.txt

PHP код:
<?php

copy
('/var/www/'.$_GET['filename'], '/root/folder/'.$_GET['filename']);
если скрипт script.php лежит хз где, например /users/admin/server/ и тд

тогда путь надо прописать не проебать

PHP код:
copy('../../../var/www/'.$_GET['filename'], '../../../root/folder/'.$_GET['filename']); 
ну и права чтоб были во всех этих папках, в том числе и у самого скрипта
digg вне форума  
Старый 05.08.2020, 14:58   #4
centropartner
Member
 
Регистрация: 10.10.2013
Сообщений: 85
Бабло: $27014
По умолчанию

Цитата:
Сообщение от digg Посмотреть сообщение
да
http://.../script.php?filename=1.txt

PHP код:
<?php

copy
('/var/www/'.$_GET['filename'], '/root/folder/'.$_GET['filename']);
если скрипт script.php лежит хз где, например /users/admin/server/ и тд

тогда путь надо прописать не проебать

PHP код:
copy('../../../var/www/'.$_GET['filename'], '../../../root/folder/'.$_GET['filename']); 
ну и права чтоб были во всех этих папках, в том числе и у самого скрипта
ухты классно,
а еще можно всегда передать
?filename=../../etc/passwd
centropartner вне форума  
Старый 05.08.2020, 15:01   #5
Soba
Senior Member
 
Регистрация: 02.05.2014
Сообщений: 628
Бабло: $257430
ТС -->
автор темы ТС По умолчанию

Скрипт запускается от юзера www-data
Если юзать cp то не будет копировать.

Как на Debian дать права пользователю www-data ?
Soba вне форума  
Старый 05.08.2020, 17:14   #6
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,877
Бабло: $1862895
По умолчанию

добавь его в группу root (нет)
веломан вне форума  
Старый 06.08.2020, 08:22   #7
somebody_
Senior Member
 
Регистрация: 05.09.2008
Сообщений: 606
Бабло: $124350
Отправить сообщение для somebody_ с помощью Telegram
По умолчанию

Если в /root/folder изначально создать файл в который можно всем (777), тогда прочитать исходник через file_get_contents и затем записать(file_put_contents) прочитаное /root/folder/file , т.к. copy может быть отключена.
__________________
Пилю под Wordpress на php, html5, css3, jquery, since 2008 - wpmastering.pro
somebody_ вне форума  
Старый 06.08.2020, 18:33   #8
jared5000
Member
 
Аватар для jared5000
 
Регистрация: 29.04.2008
Сообщений: 46
Бабло: $5790
По умолчанию

Есть ещё вариант.
Создаёшь php скрипт в папке /root например.
Сам скрипт php при запуске проверяет есть ли в указаной папке /var/www/ нужный txt файл и если есть то пусть php
скрипт копирует файл в папку /root/folder/
Дальше получается сам скрипт ты ставишь в cron задачу например на каждые 5 секунд.

С этим способом не нужно парится насчёт групп и прав.
jared5000 вне форума