2016-09-13 10 views
-2

私は少し問題があります。私は自分のシステム上に画像を置いています。画像はファイルに保存されており、データベースから呼び出しています。私は何が起こりたいのですか:ディレクトリが空であるかどうかを確認し、イメージが表示されていない場合はyes、デフォルトイメージが表示されている場合

まだ画像をアップロードしていない人のために、私はデフォルトのプロフィール画像として機能する特定のディレクトリを開くようにします。ですから、私のコードは次のようになります:アップロードされた画像がある場合、ファイルをチェックします。特定のディレクトリが開かれていない場合です。

<?php 
    $profquery = "select User_ID from tusers where vName ='".$_SESSION['SESS_vName_JO'] ."' "; 
    $search = mysql_query($profquery); 

    $row=mysql_fetch_assoc($search); 
    $q=$row['User_ID']; 


    $dir= "../../profpic/" . $q . "/"; 
    $profimge=(count(glob($dir)) === 0) ? 'Empty' : 'Not empty'; 
    if(profimge=="Empty"){ 
    $pimge = opendir($profimge); 
    $files = array(); 
    while ($pfiles[] = readdir($pimge)); 
    natsort($pfiles); 
    closedir($pimge); 
    foreach ($pfiles as $pfile) 
    { 
     if ($pfile == "." || $pfile == ".." || $pfile == "thumbs.db" || $pfile == "Thumbs.db" || $pfile == "") 
     { 
     //skip 
     }else 
     { 
     $profImage = "../../profpic/" . $profpic . "/" . $pfile; 
     $pathofimage = "../../profpic/" . $profpic . "/"; 
     } 
    } 
    }else if($profimge=="Not empty"){ 
    $folder = 0; 
    $default = "../../profpic/". $folder. "/"; 
    $pimge = opendir($default); 
    $files = array(); 
    while ($pfiles[] = readdir($pimge)); 
    natsort($pfiles); 
    closedir($pimge); 
    foreach ($pfiles as $pfile) 
     { 
     if ($pfile == "." || $pfile == ".." || $pfile == "thumbs.db" || $pfile == "Thumbs.db" || $pfile == "") 
     { 
      //skip 
     }else 
     { 
      $profImage = "../../profpic/" . $profpic . "/" . $pfile; 
      $pathofimage = "../../profpic/" . $profpic . "/"; 
     } 
     } 
    } 
?> 

私の最初のコードはこのようになり、うまくいきません。

<?php 


$profquery = "select User_ID from tusers where vName ='".$_SESSION['SESS_vName_JO'] ."' "; 
$search = mysql_query($profquery); 

$row=mysql_fetch_assoc($search); 
$profpic=$row['User_ID']; 

$cntImage=0; 
$cStatus=""; 
$FName=$profpic; 

$profimge= "../../profpic/" . $profpic . "/"; 
if(file_exists($profimge)){ 
$pimge = opendir($profimge); 
$files = array(); 
while ($pfiles[] = readdir($pimge)); 
natsort($pfiles); 
closedir($pimge); 
    foreach ($pfiles as $pfile) 
    { 
     if ($pfile == "." || $pfile == ".." || $pfile == "thumbs.db" || $pfile == "Thumbs.db" || $pfile == "") 
     { 
     //skip 
     }else 
     { 
     $profImage = "../../profpic/" . $profpic . "/" . $pfile; 
     $pathofimage = "../../profpic/" . $profpic . "/"; 
     } 
    } 
}else{ 
    $folder = 0; 
    $default = "../../profpic/". $folder. "/"; 
    $pimge = opendir($default); 
    $files = array(); 
    while ($pfiles[] = readdir($pimge)); 
    natsort($pfiles); 
    closedir($pimge); 
    foreach ($pfiles as $pfile) 
    { 
     if ($pfile == "." || $pfile == ".." || $pfile == "thumbs.db" || $pfile == "Thumbs.db" || $pfile == "") 
     { 
     //skip 
     }else 
     { 
     $profImage = "../../profpic/" . $profpic . "/" . $pfile; 
     $pathofimage = "../../profpic/" . $profpic . "/"; 
     } 
    } 

} 
?> 
+2

ですか? – user1234

+3

あなたが試したことのあなたのコードを私たちに教えてください。 –

+3

[PHPを使ってディレクトリが空であることを確認するにはどうすればいいですか?](http://stackoverflow.com/questions/7497733/how-can-use-php-to-check-if-a-directory-is -empty) –

答えて

0

チェックディレクトリは、あなたがしようとした何を空の関数

public static function isEmptyDir($dir){ 
    return (($files = @scandir($dir)) && count($files) <= 2); 
} 
+0

これをちょっと説明してください。 – TheTruth

関連する問題