当我从外部文件调用它时,使用 crop php 调整图像大小时出现问题不在在线服务器上显示图像
Problem resizing image with crop php when I call it from external file don't show the image on online server
这是包含裁剪和页眉示例的文件。
redimensionador.php
<?php
//Redimensionador
$nombre_archivo = "ajo_tradiciones.jpg";
$rutaCarpetas = "views/images/$nombre_archivo";
$img = imagecreatefromjpeg($rutaCarpetas);
$imgs = getimagesize($rutaCarpetas);
$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);
$tp = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
imagecopyresampled($tp, $img, 0,0,0,0, 70, 70, $w, $h);
ob_clean();//Adding ob_clean I get it works on online server.
//With this option I get view the image with the new size 70x70
Header("Content-type: image/jpeg");
imagejpeg($tp, NULL, 100);
imagedestroy($img);
?>
但是如果我从另一个文件如 crop-cargador.php 调用 redimensionador 它不起作用。
裁剪-cargador.php
<p>Option resized from external file</p>
<img src="redimensionador.php" />
<p>Option resized from external file from folders route</p>
<img src="views/modules/redimensionador.php" />
所有这些都在本地主机上工作,但如果我尝试从 crop-cargador.php 查看图像,最后一个示例在在线服务器上不起作用。 =13=]
我应该怎么做才能解决这个问题?
最后我使用了 $_SERVER["DOCUMENT_ROOT"]; 显然我得到了解决方案。
redimensionador.php
<?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
$img = imagecreatefromjpeg($rutaCarpetas);
$imgs = getimagesize($rutaCarpetas);
$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);
$tp = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
imagecopyresampled($tp, $img, 0,0,0,0, 70, 70, $w, $h);
ob_clean();
//Con esta opción logro verla en pantalla con el nuevo tamaño 70x70
Header("Content-type: image/jpeg");
imagejpeg($tp, NULL, 100);
imagedestroy($img);
?>
crop-cargador.php
<?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" />
所以我分享它以防万一以后有人需要它。
您好!
这是包含裁剪和页眉示例的文件。
redimensionador.php
<?php
//Redimensionador
$nombre_archivo = "ajo_tradiciones.jpg";
$rutaCarpetas = "views/images/$nombre_archivo";
$img = imagecreatefromjpeg($rutaCarpetas);
$imgs = getimagesize($rutaCarpetas);
$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);
$tp = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
imagecopyresampled($tp, $img, 0,0,0,0, 70, 70, $w, $h);
ob_clean();//Adding ob_clean I get it works on online server.
//With this option I get view the image with the new size 70x70
Header("Content-type: image/jpeg");
imagejpeg($tp, NULL, 100);
imagedestroy($img);
?>
但是如果我从另一个文件如 crop-cargador.php 调用 redimensionador 它不起作用。
裁剪-cargador.php
<p>Option resized from external file</p>
<img src="redimensionador.php" />
<p>Option resized from external file from folders route</p>
<img src="views/modules/redimensionador.php" />
所有这些都在本地主机上工作,但如果我尝试从 crop-cargador.php 查看图像,最后一个示例在在线服务器上不起作用。 =13=]
我应该怎么做才能解决这个问题?
最后我使用了 $_SERVER["DOCUMENT_ROOT"]; 显然我得到了解决方案。
redimensionador.php
<?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
$img = imagecreatefromjpeg($rutaCarpetas);
$imgs = getimagesize($rutaCarpetas);
$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);
$tp = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
imagecopyresampled($tp, $img, 0,0,0,0, 70, 70, $w, $h);
ob_clean();
//Con esta opción logro verla en pantalla con el nuevo tamaño 70x70
Header("Content-type: image/jpeg");
imagejpeg($tp, NULL, 100);
imagedestroy($img);
?>
crop-cargador.php
<?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" />
所以我分享它以防万一以后有人需要它。
您好!