fopen() имя файла через переменную

12
Оптимизайка
На сайте с 11.03.2012
Offline
396
#11

ТС, даже если вы отключите опцию php allow_url_fopen, все равно нельзя использовать слэш (/) в имени файла. Поэтому имя файла надо преобразовать в другое. например используя советы, приведенные выше.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
AP
На сайте с 12.06.2015
Offline
74
#12
HEMASTER:
Я четко поставил вопрос "Вопрос в том как присвоить название создаваемому файлу с помощью переменной в функции fopen()? Если нельзя никак, то нужно другое решение." Остальное не интересует пока.

Вы посмотрите вначале, что в этой переменной $line находится.

H
На сайте с 21.08.2004
Offline
122
#13
hrach:
надо сначала вырезать, а потом пытаться создать файл.

замените/уберите спец символы (:,// и т.д.).
$fp = fopen(str_replace(':','',str_replace('/','',$line), "w+")) // проверьте кол-во скобок

ТС, я четко указал переменную в аргументах функции fopen!

Удачи.

Есть что-то, что мы не знаем, но узнать это мы не можем.
D
На сайте с 07.11.2000
Offline
228
#14

HEMASTER, Вам просто нужно вырезать http:// из переменной, убрать слеши и все будет работать.

Простыми словами:

у Вас в переменной - URL сайта. Интерпретатор думает, что вы планируете открыть файл и что-то писать на чужом сайте.

MK
На сайте с 18.08.2005
Offline
126
#15

Это сработает (Если права есть).

$line = dirname(__FILE__) . '/file.txt';
$fp = fopen($line, "w+");

А на это

$line = '/ru/forum/development/web;
$fp = fopen($line, "w+");

Ругнется, что ХТТП обертка не поддерживает коннект который что то хочет записать

Поэтому, вам и говорят приведите

/ru/forum/development/web к https_searchengines.guru_forumdisplay.php_f_48
и будет все норм.
нет
HR
На сайте с 22.08.2010
Offline
94
#16

троки из букв и цифр. Результат тот же.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий