fopen — кодировать или что-нибудь, чтобы избежать слеш (/) ввода в php?

Я здесь стек

Я хочу создать файл, и я использую title_input как имя_файла, но у меня есть проблема при создании файла в определенную папку.

Пример:

$file_name="Multi purpose Day/Night Security";

$myfile = fopen($_SERVER['DOCUMENT_ROOT']."/myweb/product/".$file_name.".php", "wb") or die("Unable to open file!");

Ошибка:

Предупреждение: fopen (C: / Program Files / xampp / htdocs / myweb / product / Multi-Purpose Day / Night Security.php): не удалось открыть поток: нет такого файла или каталога в C: \ Program Files \ xampp \ htdocs \ myweb \ admin \ process \ do_upload.php в строке 28

Невозможно открыть файл!

0

Решение

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

$filename = 'Multi purpose Day/Night Security';

// Raw filename
$filename = base64_encode($filename);

// Original filename
$filename = base64_decode($filename);
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]