2013-01-22 51 views
-2

當我嘗試獲取數組內容時,我得到「數組」而不是內容。當我嘗試獲取數組內容時,我得到「數組」而不是內容

foreach函數(如果它是正確的,我不能嘗試它,直到現在)應該發佈圖片。

<?php 
    $slideshowdir = "./public/all/slideshow/"; 
    if (is_dir($slideshowdir)) { 
     if ($dh = opendir($slideshowdir)) {        
      while (($slides = readdir($dh)) !== false) { 
       $possible_slides = $slideshowdir.array($slides); 
      } 
     } 
    } 

    foreach($possible_slides as $slide){ 
     $picture = file($slide); 
      echo $picture; 
    } 
?> 

編輯:對不起,我不是100%清楚。我想發佈的文件是圖片。

編輯:我解決了用下面的代碼的問題:

<?php 
    $possible_slides = array(); 
    $slideshowdir = "./public/all/slideshow/"; 
    if (is_dir($slideshowdir)) { 
     if ($dh = opendir($slideshowdir)) {        
      while (($slide = readdir($dh)) !== false) { 
       if (is_file ($slideshowdir.$slide)) { 
        $possible_slides[] = $slideshowdir.$slide; 
       } 
      } 
     } 
    } 

    foreach($possible_slides as $slide){ 
     echo '<img src="'.$slide.'">'; 
    }  
?> 

回答

2

請閱讀文檔file()。它一行一行地返回一個文件內容的數組。

您可能想要使用的是file_get_contents()

此外,你的第一個循環看起來很腥。我想你想這樣做:

<?php 
$possible_slides = array(); 
$slideshowdir = "./public/all/slideshow/"; 
if (is_dir($slideshowdir)) { 
    if ($dh = opendir($slideshowdir)) {        
     while (($slide = readdir($dh)) !== false) { 
      if (is_file ($slideshowdir.$slide)) { 
       $possible_slides[] = $slideshowdir.$slide; 
      } 
     } 
    } 
} 

foreach($possible_slides as $slide){ 
    $picture = file_get_contents($slide); 
    echo $picture; 
} 

請注意,我已經加入while循環檢查,以確保只有文件添加到$possible_slides。這應該過濾掉子目錄,以及...

+0

謝謝,我沒有注意到......但我的問題是還活着,我總是路徑/陣列,而不是路徑/slide1.jpg等 – Perocat

+0

@Perocat對不起,我沒有看到第一個。我編輯了我的帖子來解決這兩個問題。 – Carsten

+0

再次感謝您!不幸的是,這是file_get_contents的結果:等等 和文件:ArrayArrayArray等 – Perocat

0

這部分似乎hinky:$slideshowdir.array($slides)

你確定你想連接的陣列到串上?

+0

我想把該文件夾上的所有幻燈片放到一個數組上,並且回顯陣列上的所有圖片 – Perocat

+0

在這種情況下,請查看[array_push](http: //us2.php.net/manual/en/function.array-push.php)和[implode](http://us2.php.net/manual/en/function.implode.php)。我想你會發現這個組合更有用 – oomlaut

0

變化:

$possible_slides = $slideshowdir.array($slides); 

要:

$possible_slides[] = $slideshowdir.array($slides); 
+0

謝謝你的回覆......我總是得到Array Array Array等 – Perocat

+0

什麼'var_dump($ slide);'給你回來? – wintercounter

相關問題