2013-10-01 48 views
0

我在這裏使用file_exist得到了一個代碼。它會檢查目錄中是否存在.txt和.jpg文件。然後將它們顯示在警告框中。它適用於.txt,但不適用於.jpg。它顯示圖像源而不是圖像本身。我在這裏做錯了什麼?你能給我一些幫助嗎?非常感謝提前!這是我的代碼。file_exist顯示圖像路徑而不是.jpg

的search.php

<?php 
    class Model 
    { 
     public function readexisting() 
     { 
      if(
       file_exists($_SERVER['DOCUMENT_ROOT']."/Alchemy/events/folder-01/event-01.txt") 
       && 
       file_exists($_SERVER['DOCUMENT_ROOT']."/Alchemy/events/folder-01/event-01.jpg") 
      ) 
      { 
       $myPic  = "/Alchemy/ajax/events/folder-01/event-01.jpg"; 
       echo $myPic; 

       $myFile = ($_SERVER['DOCUMENT_ROOT'] . "/Alchemy/events/folder-01/event-01.txt"); 
       $fh  = fopen($myFile, 'r'); 
       $theData = fread($fh, filesize($myFile)); 
       fclose($fh); 

       echo $theData ; 
      } 
      else 
      { 
       echo "The file $myFile does not exist"; 
      } 
     } 
    } 
?> 
+0

如果您有答案,請將答案標記爲正確。這樣您可以幫助其他人節省時間並幫助社區中的其他人。 –

+0

嗨!我試過你編輯的代碼,但仍然得到「/Alchemy/ajax/events/folder-01/event-01.jpg」而不是.jpg文件。你有什麼其他的建議?謝謝 – Kaye

+0

請在下面閱讀此評論。有三個人(包括我)給你答案。你添加了標題內容類型嗎? –

回答

4

您需要申請header()告訴PHP您呈現的圖像。

header("Content-type: image/jpeg");

或根據哪個文件要渲染,運用適當的標題。

+0

你好我可以在哪裏激勵頭()?謝謝你能給我一些關於正確使用的頭文件的代碼嗎?謝謝:) – Kaye

0

對於一個圖像(或任何其他的事情),你需要發送一個內容類型的頭,否則將不會顯示。你可以通過先獲得mime類型here然後在echo之前添加標題來完成。

header("Content-Type: ". $mimetype); 
echo $theData; 

其中$mimetype是檢索到的MIME類型。

1

取出echo $myPic;,然後前echo $theData;

header("Content-type: image/jpeg"); 

一般來說,你有數據輸入您要發送通知瀏覽器添加此。另請注意,在開始向瀏覽器發送任何數據之前,應該找到header()命令。另外,如果您要操縱多種文件類型(即:png,jpg,gif),則應該在deader命令中更改MIME類型以映射相應的文件類型。

header("Content-type: image/gif"); // For gif images 
header("Content-type: image/png"); // For png images 
header("Content-type: image/jpeg"); // For jpg images 
+0

嗨我試過你的建議。我刪除了echo $ myPic;然後添加你的代碼,但它顯示的東西就像'警告:' – Kaye

+0

你可以編輯我的代碼嗎?所以我可以準確地說...我真的很難與這一個。謝謝 – Kaye

+0

請考慮我需要顯示兩者。而且如果你可以把它放在模態彈出。 – Kaye

相關問題