Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Скрипт для замещения файлов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Помощь со скриптом
Juni
Отправлено: 20 Июня, 2015 - 13:39:58
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Июнь 2015  


Помог: 0 раз(а)




Здравствуйте. Первый раз на этом форуме, заранее извиняюсь, если написала не туда. Помогите написать простой скрипт на php для копирования и замещения файла txt
из http://сайт[dot]ру/mp3/main/14_00/playlist[dot]txt
в http://сайт[dot]ру/mp3/playlist[dot]txt

В Яндексе нашла кучу скриптов на совершенно разных языках, но к сожалению, все не то что нужно.

(Отредактировано автором: 20 Июня, 2015 - 13:40:40)

 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Июня, 2015 - 13:51:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




PHP:
скопировать код в буфер обмена
  1. copy('mp3/main/14_00/playlist.txt', 'mp3/playlist.txt');
 
 Top
Juni
Отправлено: 20 Июня, 2015 - 14:47:14
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Июнь 2015  


Помог: 0 раз(а)




DeepVarvar пишет:
PHP:
скопировать код в буфер обмена
  1. copy('mp3/main/14_00/playlist.txt', 'mp3/playlist.txt');


Увы, не работает. Пробовала местами менять, результат тот же. Не берет файл из папки 14-00
 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Июня, 2015 - 15:00:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




 
 Top
Строитель Модератор
Отправлено: 20 Июня, 2015 - 15:00:22
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




Juni пишет:
DeepVarvar пишет:
PHP:
скопировать код в буфер обмена
  1. copy('mp3/main/14_00/playlist.txt', 'mp3/playlist.txt');


Увы, не работает. Пробовала местами менять, результат тот же. Не берет файл из папки 14-00


Вы бы для наглядности привели бы сюда ваш код.
 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Июня, 2015 - 15:11:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Строитель зачем код приводить? Пусть дебажить учится. Ато так и будет сюда простыни вываливать. А потом когда ты им говоришь итти дебажить учиться, они на тебя еще обижаются, мол, я тут такой написал и ты обязан помочь. ТЫЖПРОГРАММИСТ!
 
 Top
Juni
Отправлено: 20 Июня, 2015 - 15:19:43
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Июнь 2015  


Помог: 0 раз(а)




Строитель пишет:
Juni пишет:
DeepVarvar пишет:
PHP:
скопировать код в буфер обмена
  1. copy('mp3/main/14_00/playlist.txt', 'mp3/playlist.txt');


Увы, не работает. Пробовала местами менять, результат тот же. Не берет файл из папки 14-00


Вы бы для наглядности привели бы сюда ваш код.


function fcopy($srcdir, $dstdir) {
$srcdir="http://сайт.org/mp3/playlist.txt"; // Каталог с исходными файлами
$dstdir="http://сайт.org/mp3/main/14.00/playlist.txt"; // Конечный каталог
// Открыть исходный каталог
$curdir = opendir($srcdir);
// Последовательно считывать все
// имена файлов и каталогов
while($file = readdir($curdir)) {
// Пропустить указатель на текущий и
// предыдущий каталоги
if($file != '.' && $file != '..') {
$srcfile = $srcdir . '/' . $file;
$dstfile = $dstdir . '/' . $file;
// Скопировать файл
copy ($srcfile, $dstfile);
}
}
// закрыть ранее открытый каталог
closedir($curdir);

(Отредактировано автором: 20 Июня, 2015 - 15:21:58)

 
 Top
Viper
Отправлено: 20 Июня, 2015 - 15:57:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Зачем в пределах одного сайта копировать через http? Любите извращаться?

Вот это г.

заменить
PHP:
скопировать код в буфер обмена
  1. if (!copy ($srcfile, $dstfile)) {
  2.         $e = error_get_last();
  3.         print_r($e);
  4. }

(Отредактировано автором: 20 Июня, 2015 - 15:57:36)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Строитель Модератор
Отправлено: 20 Июня, 2015 - 17:13:01
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




DeepVarvar пишет:
Строитель зачем код приводить? Пусть дебажить учится. Ато так и будет сюда простыни вываливать. А потом когда ты им говоришь итти дебажить учиться, они на тебя еще обижаются, мол, я тут такой написал и ты обязан помочь. ТЫЖПРОГРАММИСТ!



Согласен, "... Пусть дебажить учится." Но с другой стороны - как понять в чём может быть проблема, если нет кода? На будущее, будет хотя бы код в посте...
(Добавление)
Juni пишет:
Строитель пишет:
Juni пишет:
DeepVarvar пишет:
PHP:
скопировать код в буфер обмена
  1. copy('mp3/main/14_00/playlist.txt', 'mp3/playlist.txt');


Увы, не работает. Пробовала местами менять, результат тот же. Не берет файл из папки 14-00


Вы бы для наглядности привели бы сюда ваш код.


function fcopy($srcdir, $dstdir) {
$srcdir="http://сайт.org/mp3/playlist.txt"; // Каталог с исходными файлами
$dstdir="http://сайт.org/mp3/main/14.00/playlist.txt"; // Конечный каталог
// Открыть исходный каталог
$curdir = opendir($srcdir);
// Последовательно считывать все
// имена файлов и каталогов
while($file = readdir($curdir)) {
// Пропустить указатель на текущий и
// предыдущий каталоги
if($file != '.' && $file != '..') {
$srcfile = $srcdir . '/' . $file;
$dstfile = $dstdir . '/' . $file;
// Скопировать файл
copy ($srcfile, $dstfile);
}
}
// закрыть ранее открытый каталог
closedir($curdir);



Какой-то кошмар...

Вот элементарный вариант (ссылки замените на свои)
PHP:
скопировать код в буфер обмена
  1.  
  2.  $file = 'http://my.ru/example.txt'; // Ссылку переписать на свою
  3.  $newfile = 'example.dat'; // А здесь ссылки не поддерживаются
  4.  
  5.  function fcopy($file, $newfile) {
  6.      if (copy($file, $newfile)) {
  7.          echo 'Данные успешно скопированы!';
  8.      }
  9.  }
  10.  
  11.  fcopy($file, $newfile);
 
 Top
Juni
Отправлено: 23 Июня, 2015 - 11:00:05
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Июнь 2015  


Помог: 0 раз(а)




Мне жутко неудобно, но не знаю, что за example.dat. Мне какой-то файл в формате dat нужно создавать?
Я попробовала вставить ссылки на старый файл и новый файл, но скрипт не запускается

$file = 'http://сайт.org/mp3/playlist.txt'; // Ссылку переписать на свою
$newfile = 'http://сайт.org/mp3/main/22.00/playlist.txt'; // А здесь ссылки не поддерживаются

function fcopy($file, $newfile) {
if (copy($file, $newfile)) {
echo 'Данные успешно скопированы!';
}
}

fcopy($file, $newfile);

Можете пояснить для тех кто вообще никак не разбирается)
 
 Top
Panoptik
Отправлено: 23 Июня, 2015 - 11:36:18
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




а зачем вам это вообще надо если вы относитесь к мем "кто вообще никак не разбирается?"
учтите что ваш диплом без знаний никому не нужен, да и со знаниями тоже.
если собираетесь работать в сфере ИТ, то придется таки разобраться, если нет, то можно забить на учебу и сразу пойти торговать на рынок, потому что другие "специалисты" без знаний сейчас не востребованы


-----
Just do it
 
 Top
Juni
Отправлено: 23 Июня, 2015 - 11:40:51
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Июнь 2015  


Помог: 0 раз(а)




Ну хотя потому что у меня нет диплома, я самоучка) Поэтому "элементарные" вещи мне просто не знакомы, я в них и разбираюсь.
И вообще, вместо того чтобы тирады строчить, лучше подскажите. Слов на порядок меньше писать, а пользы вагон
 
 Top
Строитель Модератор
Отправлено: 23 Июня, 2015 - 23:09:54
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




Juni пишет:
Ну хотя потому что у меня нет диплома, я самоучка) Поэтому "элементарные" вещи мне просто не знакомы, я в них и разбираюсь.
И вообще, вместо того чтобы тирады строчить, лучше подскажите. Слов на порядок меньше писать, а пользы вагон


Дык зачем эдесь описывать элементарные понятия, если они уже итак описаны в мануалах и учебниках? Пользуйтесь выше указанными методами(учебник+мануал по PHP) и гуглом, и непременно научитесь. Подмигивание
(Добавление)
PHP:
скопировать код в буфер обмена
  1.  
  2.  /*
  3.  А по теме:
  4.  Создайте файл(например, copy.php) по адресу
  5.  http://сайт.org/mp3/main/22.00/
  6.  Вставьте в этот файл ниже приведённый код
  7.  Сохраните изменения и обратитесь к этому файлу из
  8.  адресной строки вашего браузера, т.е., перейдите по ссылке
  9.  http://сайт.org/mp3/main/22.00/copy.php
  10.  Если всё сделано правильно, то браузер отобразит строку
  11.  "Данные успешно скопированы!"
  12.  и в директории http://сайт.org/mp3/main/22.00/ появится копия
  13.  файла "playlist.txt"
  14.  */
  15.  $file = 'http://сайт.org/mp3/playlist.txt'; // Ссылку переписать на свою
  16.  $newfile = 'playlist.txt'; // А здесь ссылки не поддерживаются
  17.  
  18.  function fcopy($file, $newfile) {
  19.      if (copy($file, $newfile)) {
  20.          echo 'Данные успешно скопированы!';
  21.      }
  22.  }
  23.  
  24.  fcopy($file, $newfile);
  25.  
 
 Top
dcc0
Отправлено: 24 Июня, 2015 - 16:16:38
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Лучше с помощью exec запустить bash скрипт, который запустит крон, а затем крон запустит еще один скрипт, который запустит встроенную утилиту копирования, так будет надежнее, я гарантирую.


-----
Март 2021. Бросил программирование
 
 Top
Строитель Модератор
Отправлено: 24 Июня, 2015 - 20:01:12
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




Улыбнул Закатив глазки
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB