如果其他条件无法阅读



我有一个代码,用于使用 boostrap 和 codeigniter 显示 ajax 的输出。我的程序的功能是当我按下按钮上传并选择文件时,它会自动上传。如果文件是图像,它将显示刚刚上传的图像,如果刚刚上传的文件不是图像,它将显示字体很棒。代码在撇号之间有 if else 条件。这是我的代码

$output .='
<div>
<ul class="detail-attachments clearfix">
<?php
foreach ($list_file as $file) { ?>
<li id="datas">
<?php
if ($file["tipe"]=="image/jpeg" or $file["tipe"]=="image/bmp" or $file["tipe"]=="image/png") { ?>
<span class="detail-attachment-icon has-img">
<a href="'.base_url().'assets/files/file_materi/'.$data["file_name"].'" target="_blank">
<img src="'.base_url().'assets/files/file_materi/'.$data["file_name"].'">
</a>
</span>
<?php }
else { ?>
<span class="detail-attachment-icon"><i class="fa fa-file-o"></i></span>
<div id="nama_filenya">
<?php 
echo $data["file_name"];
?>
</div>
<?php }
?>
<div class="detail-attachment-info">
<button type="button" class="btn btn-danger btn-block btn-sm" data-toggle="modal" data-target="#konfirmasi_hapus<?php echo $data["id_file_materi"]; ?>">Hapus</button>
</a>
</div>
</li>
<?php }
?>
</ul>
</div>
';

但是当我运行代码并尝试上传文件时,if else 函数没有运行。当我选择文件时,结果是自动上传的,但显示的是文件、字体真棒图标和按钮。当我看到检查元素时,代码 php 函数变为如下所示的注释

<div>
<ul class="detail-attachments clearfix">
<!--?php
foreach ($list_file as $file) { ?-->
<li id="datas">
<!--?php
if ($file["tipe"]=="image/jpeg" or $file["tipe"]=="image/bmp" or $file["tipe"]=="image/png") { ?-->
<span class="detail-attachment-icon has-img">
<a href="http://localhost/ci_sc/assets/files/file_materi/camila-cabello-wonderland7.jpg" target="_blank">
<img src="http://localhost/ci_sc/assets/files/file_materi/camila-cabello-wonderland7.jpg">
</a>
</span>
<!--?php }
else { ?-->
<span class="detail-attachment-icon"><i class="fa fa-file-o"></i></span>
<div id="nama_filenya">
<!--?php 
echo $data["file_name"];
?-->
</div>
<!--?php }
?-->
<div class="detail-attachment-info">
<button type="button" class="btn btn-danger btn-block btn-sm" data-toggle="modal" data-target="#konfirmasi_hapus<?php echo $data[" id_file_materi"];="" ?="">"&gt;Hapus</button>
</div>
</li>
<!--?php }
?-->
<!-- <li id="upload_files"></li> -->
</ul>
</div>

有人可以帮助我解决我的问题,以便系统可以读取 php 函数。

提前谢谢你

您可以使用输出缓冲区来整理代码。

<?php
ob_start();
?>
<div>
<ul class="detail-attachments clearfix">
<?php
	  foreach ($list_file as $file) { ?>
<li id="datas">
<?php
			if ($file["tipe"]=="image/jpeg" or $file["tipe"]=="image/bmp" or $file["tipe"]=="image/png") { ?>
<span class="detail-attachment-icon has-img">
				<a href="'.base_url().'assets/files/file_materi/'.$data["file_name"].'" target="_blank">
				  <img src="'.base_url().'assets/files/file_materi/'.$data["file_name"].'">
				</a>
			  </span>
<?php }
			else { ?>
<span class="detail-attachment-icon"><i class="fa fa-file-o"></i></span>
<div id="nama_filenya">
<?php 
				  echo $data["file_name"];
				  ?>
</div>
<?php }
		  ?>
<div class="detail-attachment-info">
<button type="button" class="btn btn-danger btn-block btn-sm" data-toggle="modal" data-target="#konfirmasi_hapus<?php echo $data[" id_file_materi "]; ?>">Hapus</button>
</a>
</div>
</li>
<?php }
	?>
</ul>
</div>
<?php
$output = ob_get_clean();
?>

您有几个选择:

  • 每次添加 HTML 代码段时,都可以使用".="运算符连接字符串
  • 您可以使用输出缓冲,它将简单地获取您输出的所有内容并将其放入变量中
  • 我什至不会谈论 e̵ۍ̘۝v̴̩ۙ̆̕a̷̢̋l̝̲̅(̵̭̍(̶̤̱̗̃̕

我个人发现输出缓冲更干净。下面是一个代码示例:

<?php
ob_start(); ?>
<div>
<ul class="detail-attachments clearfix">
<?php
foreach ($list_file as $file) { ?>
<li id="datas">
<?php
if ($file["tipe"]=="image/jpeg" or $file["tipe"]=="image/bmp" or $file["tipe"]=="image/png") { ?>
<span class="detail-attachment-icon has-img">
<a href="<?php echo base_url() ?>assets/files/file_materi/<?php echo $data["file_name"] ?>" target="_blank">
<img src="<?php echo base_url() ?>assets/files/file_materi/<?php echo $data["file_name"] ?>">
</a>
</span>
<?php }
else { ?>
<span class="detail-attachment-icon"><i class="fa fa-file-o"></i></span>
<div id="nama_filenya">
<?php
echo $data["file_name"];
?>
</div>
<?php }
?>
<div class="detail-attachment-info">
<button type="button" class="btn btn-danger btn-block btn-sm" data-toggle="modal" data-target="#konfirmasi_hapus<?php echo $data["id_file_materi"]; ?>">Hapus</button>
</a>
</div>
</li>
<?php }
?>
</ul>
</div>
<?php
$output = ob_get_clean();

否则,您将不得不执行以下操作:

<?php
$output =
'<div>
<ul class="detail-attachments clearfix">';
foreach ($list_file as $file) {
$output .= '<li id="datas">';
if ($file["tipe"]=="image/jpeg" or $file["tipe"]=="image/bmp" or $file["tipe"]=="image/png") {
$output .= '<span class="detail-attachment-icon has-img">
<a href="'.base_url().'assets/files/file_materi/'.$data["file_name"].'" target="_blank">
<img src="'.base_url().'assets/files/file_materi/'.$data["file_name"].'">
</a>
</span>';
}
else {
$output .= '<span class="detail-attachment-icon"><i class="fa fa-file-o"></i></span>
<div id="nama_filenya">
'.$data["file_name"].'
</div>';
}
$output .= '<div class="detail-attachment-info">
<button type="button" class="btn btn-danger btn-block btn-sm" data-toggle="modal" data-target="#konfirmasi_hapus'.$data["id_file_materi"].'">Hapus</button>
</a>
</div>
</li>';
}
$output .= '
</ul>
</div>';

相关内容

  • 没有找到相关文章

最新更新