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]   

> Описание: Собственно писать долго и много, поэтому идём в тему :)
SKDzR
Отправлено: 20 Ноября, 2009 - 22:39:45
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Нояб. 2009  
Откуда: Россия -- Дзержинск


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




Приветствую всех, дорогие участники форума!
У меня появилась некая потребность в написании данного кода, но что-то не получается и выдаёт неверный результат...
И так, суть скрипта:
1. подключаем файл, берём из него данные (имя файла), переназначаем переменные, читаем весь файл,
2. переименовываем файл с настоящим именем из подключённого файла в новое имя с помощью рандома,
3. меняем в переменной, в которой находится текст файла подключённого имя со старого на новое и записываем в файл (подключённый), переписывая в нём данные.
Коды файлов:
Главный файл:
PHP:
скопировать код в буфер обмена
  1. require("renamer_1.php");
  2. $content = file_get_contents("renamer_1.php");
  3. $fp = file("renamer_1.php");
  4. $oldname = $config['admin_path'];
  5. echo $oldname;
  6. $newname = "acp_" . rand(10000, 9999999) . ".php";
  7. echo "<br>".$newname;
  8. rename($oldname, $newname);
  9. if (str_replace($oldname, $newname, $content)) echo "<br><br><b>true</b><br>$content";
  10. $in = file_put_contents("renamer_1.php", $content);

Подключаемый (renamer_1.php):
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. //System Configurations
  4.  
  5. $config = array (
  6.  
  7. 'version_id' => "8.3",
  8.  
  9. 'mail_comments' => "1",
  10.  
  11. 'admin_path' => "renamer_for.php",
  12.  
  13. 'rss_informer' => "1",
  14.  
  15. 'allow_cmod' => "0",
  16.  
  17. 'files_max_speed' => "0",
  18.  
  19. );
  20.  
  21. ?>


После запуска главного скрипта, он выводит старое имя, новое. Далее выводит TRUE и строку с НЕ заменёнными данными... Подскажите в чём проблемка у меня...
Надеюсь на Вашу помощь. Заранее благодарен!
 
 Top
chaynyk
Отправлено: 20 Ноября, 2009 - 23:55:12
Post Id



Гость


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


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




данный код ни чего не запишет.
CODE (text):
скопировать код в буфер обмена
  1. $in = file_put_contents("renamer_1.php", $content);

Так запишет

Этот код не выполним


-----
Чайник в PHP и SEO,http://fleshky[dot]ru
 
 Top
valenok
Отправлено: 21 Ноября, 2009 - 00:02:40
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




с чайником не согласен. Почему код не выполним и почему в первом случае ничего не запишет? Лучшее попробуй, потом напиши почему как раз запишет и что же будет в переменной in.

Что касается твоего кода.
Зачем $fp = file("renamer_1.php"); в твоем случае - не ясно.
Что куда записывает, заменяет, подключает и читает из задачи тоже не ясно.
Нужно переименовать файл, а в нутри него записать его новое название ?
Может будет проще просто использовать 'admin_path' => __FILE__ ?


-----
Truly yours, Sasha.
 
My status
 Top
chaynyk
Отправлено: 21 Ноября, 2009 - 00:10:33
Post Id



Гость


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


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




valenok пишет:
с чайником не согласен. Почему код не выполним и почему в первом случае ничего не запишет? Лучшее попробуй, потом напиши почему как раз запишет и что же будет в переменной in.

Извиняюсь данные переменной внимательно не посмотрел


-----
Чайник в PHP и SEO,http://fleshky[dot]ru
 
 Top
valenok
Отправлено: 21 Ноября, 2009 - 00:11:40
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




А что будет в переменной $in ?


-----
Truly yours, Sasha.
 
My status
 Top
SKDzR
Отправлено: 21 Ноября, 2009 - 12:18:51
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Нояб. 2009  
Откуда: Россия -- Дзержинск


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




valenok пишет:
Зачем $fp = file("renamer_1.php"); в твоем случае - не ясно.

эт да, заработался) эт не надо)
valenok пишет:
Нужно переименовать файл, а в нутри него записать его новое название ?
Может будет проще просто использовать 'admin_path' => __FILE__ ?

нет, нужно переименовать файл renamer_for.php, а его новое имя записать в файл renamer_1.phprenamer_for.php новом, ничего писать не надо, оставить как есть) вот так...
 
 Top
valenok
Отправлено: 21 Ноября, 2009 - 14:46:13
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




А ты храни запись в сериализоавнном виде. Будет проще читать и писать. http://php.net/serialize
PHP:
скопировать код в буфер обмена
  1. <?
  2. $configFileName = 'renamer_1.php';
  3. $newFileName = "acp_" . rand(10000, 9999999) . ".php";
  4. $config = unserilaze(file_get_contents($configFileName));
  5. $oldFileName = $config['admin_path'];
  6. $config['admin_path'] = $newFileName;
  7. file_put_contents($configFileName,serialize($config));
  8. rename($oldFileName,$newFileName);


-----
Truly yours, Sasha.
 
My status
 Top
SKDzR
Отправлено: 22 Ноября, 2009 - 12:59:29
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Нояб. 2009  
Откуда: Россия -- Дзержинск


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




valenok, не пашет код.. (даже исключая одну орф ошибку...)
что-то не так...
 
 Top
Nestor
Отправлено: 22 Ноября, 2009 - 21:03:30
Post Id



Частый гость


Покинул форум
Сообщений всего: 220
Дата рег-ции: Март 2009  


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




Немного не по теме, но зачем тебе править конфиг ДЛЕ?


-----
Aurus CMS
 
 Top
SKDzR
Отправлено: 22 Ноября, 2009 - 21:54:23
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Нояб. 2009  
Откуда: Россия -- Дзержинск


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




Nestor, нужно, для небольшого скрипта... если интересуешься дле, увидишь этот скрипт в паблике
 
 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