Не могу прочитать, если еще условие - PullRequest
0 голосов
/ 18 октября 2018

У меня есть код, который используется для отображения вывода ajax с использованием boostrap и codeigniter.Функция моей программы - когда я нажимаю кнопку загрузки и выбираю файлы, она загружается автоматически.Если файл является изображением, он покажет только что загруженное изображение, а если файл, который был загружен, не является изображением, он покажет шрифт потрясающий.Код есть, если еще условие между апострофом.Это мой код

$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 могла быть прочитана системой.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

У вас есть несколько вариантов:

  • Вы можете объединять вашу строку с помощью оператора ". =" Каждый раз, когда добавляете фрагмент 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>';
0 голосов
/ 18 октября 2018

Вы можете использовать выходной буфер для очистки ваших кодов.

<?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();
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...