Cita:
Iniciado por tuadmin
usa rutas ABSOLUTAS, para descargar el problema de RUTA BASE de php que suelen a veces ser mal configurados de parte del servidor
cambia
Código PHP:
$rutaCarpetas = "views/images/$nombre_archivo";
por
Código PHP:
$rutaCarpetas = __DIR__."/views/images/$nombre_archivo";
o
Código PHP:
$rutaCarpetas = "c:/path/principal"."/views/images/$nombre_archivo";
siendo "c:/path/principal" un ejemplo de tu PATH principal
Pues sí, estabas en lo cierto, haciendo varios cambios creo que por fin lo consigo.
Cita:
Iniciado por Triby
Código PHP:
Ver original$rutaCarpetas = "views/images/$nombre_archivo";//Si reconoce y carga la imagen si solo cargo el archivo redimensionador.php
Tal vez lo reconoce porque redimensionador.php seguramente está en el mismo nivel que views, pero el script de tu proyecto está en una ruta diferente.
Entonces, la solución sería:
Código PHP:
Ver original$rutaCarpetas = "/carpeta_raiz/views/images/$nombre_archivo";
Solo remplaza
/carpeta_raiz/ con la ruta absoluta de tu proyecto y listo.
Ahora, no entiendo cómo es que al no usar ob_* te aparezca esa salida, es como si quisieras mostrar la imagen junto con el HTML.
Lo mismo digo, estabas en lo cierto y al hacer dicho cambio en esa ruta absoluta del servidor ya salen las imágenes.
Al entrar ayer en el servidor busqué la ruta absoluta y era algo así:
Cita: Ruta relativa:
/
Ruta absoluta:
/k-----/homepages/30/xxxxxx/htdocs/ (por ejemplo)
Entonces a partir de ahi he retomado pruebas con esa misma ruta, don
__DIR__ y con
$_SERVER["DOCUMENT_ROOT"]
Php para redimensionar
redimensionador.php
Código PHP:
Ver original<?php
//nombre del archivo
$nombre_archivo = "ajo_tradiciones.jpg";
//Ruta relativa de carpetas.
$rutaCarpetas = "views/images/$nombre_archivo"; //Carga
//Ruta absoluta completa del servidor
$rutaCarpetas =/k-----/homepages/30/xxxxxx/htdocs/views/images/$nombre_archivo"; // Carga
//Ruta absoluta desde homepages del servidor
$rutaCarpetas ="/homepages/30/xxxxxx/htdocs/views/images/$nombre_archivo"; //Carga
//Ruta absoluta con DIR desde el servidor
$rutaCarpetas = __DIR__."/views/images/$nombre_archivo"; //No carga
//Ruta absoluta desde el directorio Raiz del servidor.
$rutaRaiz = $_SERVER["DOCUMENT_ROOT"];
$rutaCarpetas = $rutaRaiz."/views/images/$nombre_archivo";//Carga
?>
Html para cargar imágenes.
crop-cargador.php
Código HTML:
Ver original<p>Opción redimensionada desde archivo externo (No carga)
</p> <img src="redimensionador.php" /> <p>Opción redimensionada desde archivo externo desde la ruta relativa de carpetas (carga)
</p> <img src="views/modules/redimensionador.php" /> <p>Opción redimensionada desde archivo externo desde la ruta absoluta url de carpetas (carga)
</p> <img src="<?php echo $url ?>views/modules/redimensionador.php" />
<p>Opción utilizando ruta absoluta completa del servidor (no carga)
</p> <img src="/k-----/homepages/30/xxxxxx/htdocs/views/modules/redimensionador.php" /> <p>Opción utilizando ruta raiz absoluta del servidorcon DIR (carga)
</p> <img src="<?php __DIR__ ?>views/modules/redimensionador.php" />
<p>Opción utilizando ruta raiz absoluta del servidor (carga)
</p> <img src="<?php $_SERVER["DOCUMENT_ROOT"]; ?>views/modules/redimensionador.php" />
Por lo tanto pruebo así y creo que funciona bien:
redimensionador.php
Código PHP:
Ver original<?php
//Opción 1 para cargar desde otro archivo.
//Nombre del archivo
$nombre_archivo = "ajo_tradiciones.jpg";
//Ruta absoluta desde el directorio Raiz del servidor.
$rutaRaiz = $_SERVER["DOCUMENT_ROOT"];
$rutaCarpetas = $rutaRaiz."/views/images/$nombre_archivo";//Carga
$w = $imgs[0];
$h = $imgs[1];
$escala_w = 70/$w;
$escala_h = 70/$h;
$nuevo_ancho = floor($w*$escala_w); $nuevo_alto = floor($h*$escala_h);
//Con esta opción logro verla en pantalla con el nuevo tamaño 70x70
Header("Content-type: image/jpeg");
?>
crop-cargador.php
Código HTML:
Ver original<?php $url = Ruta::ctrRuta(); // https://dominio.com/ ?>
<p>Cargo la imagen desde la ruta de la url absoluta.
</p> <img src="<?php echo $url ?>views/modules/redimensionador.php" />
Finalmente he utilizado
$_SERVER["DOCUMENT_ROOT"]; ya que me devuelve la ruta absoluta completa del servidor actual, no se si será lo más seguro en este caso ¿Con eso ya estaría solucionado?
Gracias de nuevo por vuestra gran ayuda, saludos.