file_exists() 不工作 codeigniter
file_exists() not working codeigniter
我正在使用 codeigniter。我想显示图像,但如果某些图像不存在,它应该显示 image-not-found-medium.jpg
这是虚拟图像..
下面是我的代码
<?php
$image_path_medium = site_url('assets/images-products/medium');
$image_not_found_medium = $image_path_medium . "/" . "image-not-found-medium.jpg";
$image_name_with_path = $image_path_medium . "/" . $home_technology[$key]->product_sku . "-" . "a" . "-medium.jpg";
if (file_exists($image_name_with_path)) {
echo $image_name_with_path;
} else {
echo $image_not_found_medium;
}
?>
但它总是显示 $image_not_found_medium
我认为我的 if condition
有问题。
请帮忙。
<?php
$image_path_medium = site_url('assets/images-products/medium');
$image_not_found_medium = $image_path_medium . "/" . "image-not-found-medium.jpg";
$image_name_with_path = $image_path_medium . "/" . $home_technology[$key]->product_sku . "-" . "a" . "-medium.jpg";//this is your image url
$image_file_path=FCPATH.'assets/images-products/medium'. $home_technology[$key]->product_sku . "-" . "a" . "-medium.jpg";//this is your file path
if (file_exists($image_file_path)) //file_exists of a url returns false.It should be real file path
{
echo $image_name_with_path;
}
else
{
echo $image_not_found_medium;
}
?>
您使用的是文件存在的绝对路径,这是错误的。您必须使用真实路径,因为 file_exists() 函数会检查当前服务器上是否存在文件或目录。
如果您的资产文件夹位于根目录中,则只需使用 getcwd() - 获取当前工作目录为
$image_path_medium = getcwd().'assets/images-products/medium';
否则请提供资产文件夹的正确路径,例如
$image_path_medium = getcwd().'application/views/assets/images-products/medium';
而不是 file_exists() 在检查文件时更喜欢 is_file(),因为 file_exists() returns 在目录上为真。此外,您可能想查看 getimagesize() returns FALSE 以确保您拥有图像。
这样使用。
$g = base_url().'upload/image.jpg';
if(file_exists($g) !== null){//your code..}
这在 CI 对我有用。
我正在使用 codeigniter。我想显示图像,但如果某些图像不存在,它应该显示 image-not-found-medium.jpg
这是虚拟图像..
下面是我的代码
<?php
$image_path_medium = site_url('assets/images-products/medium');
$image_not_found_medium = $image_path_medium . "/" . "image-not-found-medium.jpg";
$image_name_with_path = $image_path_medium . "/" . $home_technology[$key]->product_sku . "-" . "a" . "-medium.jpg";
if (file_exists($image_name_with_path)) {
echo $image_name_with_path;
} else {
echo $image_not_found_medium;
}
?>
但它总是显示 $image_not_found_medium
我认为我的 if condition
有问题。
请帮忙。
<?php
$image_path_medium = site_url('assets/images-products/medium');
$image_not_found_medium = $image_path_medium . "/" . "image-not-found-medium.jpg";
$image_name_with_path = $image_path_medium . "/" . $home_technology[$key]->product_sku . "-" . "a" . "-medium.jpg";//this is your image url
$image_file_path=FCPATH.'assets/images-products/medium'. $home_technology[$key]->product_sku . "-" . "a" . "-medium.jpg";//this is your file path
if (file_exists($image_file_path)) //file_exists of a url returns false.It should be real file path
{
echo $image_name_with_path;
}
else
{
echo $image_not_found_medium;
}
?>
您使用的是文件存在的绝对路径,这是错误的。您必须使用真实路径,因为 file_exists() 函数会检查当前服务器上是否存在文件或目录。
如果您的资产文件夹位于根目录中,则只需使用 getcwd() - 获取当前工作目录为
$image_path_medium = getcwd().'assets/images-products/medium';
否则请提供资产文件夹的正确路径,例如
$image_path_medium = getcwd().'application/views/assets/images-products/medium';
而不是 file_exists() 在检查文件时更喜欢 is_file(),因为 file_exists() returns 在目录上为真。此外,您可能想查看 getimagesize() returns FALSE 以确保您拥有图像。
这样使用。
$g = base_url().'upload/image.jpg';
if(file_exists($g) !== null){//your code..}
这在 CI 对我有用。