[Pregunta]: ¿Está mal esta forma de llamar a los archivos?

Iniciado por Leguim, 22 Septiembre 2021, 22:50 PM

0 Miembros y 1 Visitante están viendo este tema.

Leguim

¿Está mal esta forma de llamar a los archivos que están alojados en mi propio servidor?

Código (php) [Seleccionar]

define('HTTP_PROTOCOL', 'http'); // http protocol
define('ROOT_URL', (HTTP_PROTOCOL).'://'.($_SERVER['HTTP_HOST']).'/myApp'); // donde myApp es el nombre x de la aplicación


Entonces en mi html yo llamo así..
Código (php) [Seleccionar]

// como llamo a un archivo .css
<link rel="stylesheet" type="text/css" href="<?php echo(ROOT_URL); ?>/css/fonts.css<?php echo(VERSION_LAST); ?>">

// como llamo a un script js
<script type="text/javascript" src="<?php echo(ROOT_URL); ?>/javascript/highcharts.js<?php echo(VERSION_LAST); ?>"></script>

// como llamo a una imagen
<img src="<?php echo(ROOT_URL); ?>/images/myPhoto.jpg<?php echo(VERSION_LAST); ?>">


Hay constantes que ya tiene listas PHP creo que una es __DIR__ o algo así, el punto es que estaba pensando y una cosa es acceder por directorio pero yo estoy accediendo por una URL, quizás sea menos óptimo hacerlo como hago yo.

¿Qué les parece?


MinusFour

No se de que hables cuando dices por "directorio". Los attributos src y href usan URLs.

Leguim

Ah okay, me olvidé de dejar un ejemplo de como llamo mis ficheros:

Código (php) [Seleccionar]

require(($_SERVER['DOCUMENT_ROOT']).'/myApp/library/x.php');


Para este caso si está correcto hacerlo con una constante de directorio "(C:\xampp\etc)" y no de una url, no?

Danielㅤ

Hola, tenés que usar la ruta de archivos locales porque justamente estás llamando a archivos del mismo servidor, cuando es externo se usan las URLs.



Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Shell Root

Es lo que se llama comun mente rutas absolutas o relativas. Creería que es lo mismo pero algunas personas les va mejor con la ruta completa. A mi en lo personal prefiero las relativas a partir de la carpeta del website, no me gusta ver plasmado la ruta completa.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

WHK

#5
Buscas algo asi?

dirname(((isset($_SERVER['HTTPS']) and ($_SERVER['HTTPS'] === true)) ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']).'/'

También está el $_SERVER['PHP_SELF'] pero tiene XSS.

Por otro lado en ves de pegar las variables en el template mejor llamaría a una función que construya la ruta según opciones, por ejemplo:


<?php
function url($path '/') {
    return (((isset(
$_SERVER['HTTPS']) and ($_SERVER['HTTPS'] === true)) ? 'https' 'http').'://'.$_SERVER['HTTP_HOST'].$path;
}
?>


<a href="<?php=url('/test')?>">Test</a>


En el camino te encontrarás con mcuhos problemas, por ejemplo algunos filtrados para evitar el xss, saber si vas a tener lógica dentro de tus plantillas o no, etc. Lo que te recomiendo mejor es que uses un framework que ya tenga todo eso incluido como codeigniter.

Saludos.