查找文件w/php时出现问题

查找文件w/php时出现问题,php,syntax,Php,Syntax,我有一个数据库,它与图片服务器相连。如果一张照片没有上传,我想在它的位置放一张“不可用”的照片。每个pic根据数据库中的主键以数字顺序排列$row['Item\u ID']。下面的脚本搜索该文件,但找不到任何图片,因此它对所有内容都使用“不可用”。我不确定当我写“$row[“Item_ID”]”时是否可以在第一行使用双引号 $img_var = '$row["Item_ID"]'; $item_img = '/item_images/$img_var.jpg'; if (!fi

我有一个数据库,它与图片服务器相连。如果一张照片没有上传,我想在它的位置放一张“不可用”的照片。每个pic根据数据库中的主键以数字顺序排列
$row['Item\u ID']
。下面的脚本搜索该文件,但找不到任何图片,因此它对所有内容都使用“不可用”。我不确定当我写
“$row[“Item_ID”]”
时是否可以在第一行使用双引号

$img_var = '$row["Item_ID"]';
$item_img = '/item_images/$img_var.jpg';         
if (!file_exists($item_img))        
{ $row['Item_ID'] = 'unavailable'; }     
else { $row['Item_ID'] = $row['Item_ID']; }

单引号不加内插。

$img_var = '$row["Item_ID"]';
$item_img = '/item_images/$img_var.jpg';
需要阅读

$img_var = $row["Item_ID"];
$item_img = "/item_images/$img_var.jpg";
甚至

$item_img = "/item_images/{$row["Item_ID"]}.jpg";

当它位于单引号内时,PHP不会将$img\u var解析为它的值,它只使用字符串“$img\u var”

您的前两行不必要地执行(或试图执行)字符串替换

单引号分隔的字符串不会为变量或转义序列插入

但实际上,您正在处理这个过于复杂的问题—只需在一行上连接文件路径,并在需要时故障切换到不可用的映像

$item_img = '/item_images/' . $row["Item_ID"] . '.jpg';
if ( !file_exists( $item_img ) )
{
  $item_img = '/item_images/unavailable.jpg';
}
注意
$path\u to\u root
。你的HTML根目录与你的PHP根目录不一样(除非你的服务器被特别配置成那样…我的不是),所以你必须确保路径是正确的。我喜欢用
define('ROOT',dirname(_文件__)),将一个PHP文件放在我的站点的底部
然后你就可以做
ROOT./path/to/which.jpg'

$item_img = '/item_images/'.$row['Item_ID'].'.jpg';
if(!file_exists($path_to_root.$item_img)) {
    $item_img = '/item_images/unavailable.jpg';
}