Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему заменить iframe на include в php софте так трудно, путаются расположения файлов и перестаёт софт работать.

Денис Гергерт Ученик (31), на голосовании 1 год назад
Как как отыскивать эти ненависливые расположения файлов и менять их правильно

к примеру вот функция в которой для работы include нужно менять расположение файла

 if ( !isset($_GET['catalog']) ) { 
$path_to_skin = ROOT_LK_DIR . $config_lk['skin']['path_to_skin'] . $server. $username . '.png';
$path_to_cloak = ROOT_LK_DIR . $config_lk['skin']['path_to_cloak'] . $server. $username . '.png';
} else {
if ( preg_match('/^[a-z0-9\_\/\.\-]{0,50}$/si', $_GET['catalog']) ) {

if ( $_GET['catalog'] == 'catalogSkins' ) {
$path_to_skin = ROOT_LK_DIR . '/' . $config_lk['skin']['catalog'] . '/' . $username . '.png';
$path_to_cloak = '';
} else {
$path_to_skin = ROOT_LK_DIR . $_GET['catalog'] . $username . '.png';
$path_to_cloak = '';
}
}

$server = 'catalogSkins_';
}
Голосование за лучший ответ
Артём Сазонов Гуру (3152) 1 год назад
Замена <iframe> на include в PHP софте может быть трудной задачей, потому что в отличие от <iframe>, include использует относительные пути к файлам. Это означает, что путь к файлу, который нужно включить, будет относительно папки, в которой находится текущий PHP-файл, а не относительно корневой папки сайта.

При замене <iframe> на include необходимо убедиться, что путь к файлу, который вы хотите включить, указывает на правильное местоположение файла относительно текущего PHP-файла. Если путь к файлу указан неверно, то include не сможет найти файл и ваше приложение перестанет работать.

Если вы хотите найти правильное расположение файла, то сначала нужно понять, где находится текущий PHP-файл, который содержит include. Затем вы можете использовать относительные пути для указания расположения включаемого файла относительно текущего PHP-файла. Например, если включаемый файл находится в той же папке, что и текущий PHP-файл, вы можете использовать следующий код:

php
Copy code
include 'file-to-include.php';
Если включаемый файл находится в подпапке относительно текущего PHP-файла, вы можете использовать следующий код:

php
Copy code
include 'subfolder/file-to-include.php';
Если включаемый файл находится в родительской папке относительно текущего PHP-файла, вы можете использовать следующий код:

php
Copy code
include '../file-to-include.php';
Кроме того, чтобы облегчить замену <iframe> на include, вы можете использовать константы PHP для хранения путей к файлам. Например, вы можете определить константу ROOT_DIR, которая будет указывать на корневую папку вашего сайта, и затем использовать эту константу вместо абсолютного пути к файлу. Например:

php
Copy code
define('ROOT_DIR', '/var/www/mysite/');
include ROOT_DIR . 'file-to-include.php';
Это позволит вам легко изменять путь к корневой папке, не изменяя путь к файлам в вашем коде.
EVK IT Сервис К Мыслитель (5226) 1 год назад
Если разобраться раз и навсегда с путями, то все просто. Используй константу от корня и все будет ok

 $ROOT=$_SERVER['DOCUMENT_ROOT']; 
Митяй Профи (731) 1 год назад
Вам подойдет функция которая вычисляет различные пути к заданному файлу из директории текущего файла к файлу из URL.
Замечу, что функция определения пути к файлу не просто выполняет расчёты со строками, а реально проверяет, что файл существует и если не находит, то возвращает в массивах 0. По ссылке выше - описание функции и варианты использования. Нужная модификация функции последняя на странице.
Похожие вопросы