2014-10-27 88 views
0

我試圖從文件夾中顯示圖像。當我運行我的腳本,我得到下面的錯誤 -如何解決「只應通過引用傳遞變量」錯誤

"Only variables should be passed by reference in C:\wamp\www\salon\mainS\image_delete.php on line 72" 

CODE:

<?php 

    $dir = 'uploads/'; 
    $display = array('jpg', 'jpeg', 'png', 'gif'); 

    if (file_exists($dir) == false) { 
     echo 'Directory \''. $dir. '\' not found!'; 
    } else { 
    $dir_contents = scandir($dir); 

    foreach ($dir_contents as $file) { 
     $type = strtolower(end(explode('.', $file))); 

     if ($file !== '.' && $file !== '..' && in_array($type, $display) == true)  
     {    
     echo'<div style="width:1170px;" >'. 
     '<div style="float:left; margin-right:5px;" >'.'<img style="width:200px; height:200px;"src="'. $dir. '/'. $file. '" alt="'. $file.'"/>'.'</div>' 
     .'</div>'; 
     } 
    } 
    } 
?> 

我行72

$type = strtolower(end(explode('.', $file))); 
+0

轉儲'$ file',看看你做了什麼。 – 2014-10-27 05:26:06

+0

你的代碼對我來說工作正常...如果有任何其他問題,請檢查image_delete.php文件 – TBI 2014-10-27 05:34:03

+1

[只有變量應該通過引用傳遞]的可能重複(http://stackoverflow.com/questions/4636166/only - 變量-應待通過按引用) – kenorb 2015-11-14 16:00:00

回答

1

試試這個

$name_parts = explode('.', $file); 
$type = strtolower(end($name_parts)); 
0

試試這個:

$dir = 'uploads/'; 
    if (file_exists($dir) == false) { 
    echo 'Directory \''. $dir. '\' not found!'; 
    } else { 
     $dir_contents = scandir($dir); 

     foreach ($dir_contents as $file) { 
      try { 
       if (!is_dir($file) && (getimagesize($file))) { 
        echo'<div style="width:1170px;" >' . 
        '<div style="float:left; margin-right:5px;" >' . '<img style="width:200px; height:200px;"src="' . $dir . '/' . $file . '" alt="' . $file . '"/>' . '</div>' 
        . '</div>' . "\r\n"; 
       } 
      } catch (Exception $e) { 
       continue; 
      } 
     } 
    } 

相關問題