2013-09-29 67 views
0

错误:READDIR()预计参数1是资源,字符串中给定不能使READDIR接受字符串VAR

$directorypremium = 'uploads/premium/'.text2url($pseudo_cookies).'/'; 

while($file = readdir($directorypremium)) { 
     if($file != '.' AND $file != '..') 
      { 
      $taille_fichier = filesize($directory.$file); $taille_fichier = round($taille_fichier/1000); $total_size = $total_size + $taille_fichier; 
      } 
     } 

我的功能text2url:

function text2url($chaine) 
    { 
    $chaine = htmlentities($chaine, ENT_NOQUOTES, 'utf-8'); 
    $chaine = preg_replace('#\&([A-za-z])(?:uml|circ|tilde|acute|grave|cedil|ring)\;#', '\1', $chaine); 
    $chaine = preg_replace('#\&([A-za-z]{2})(?:lig)\;#', '\1', $chaine); 
    $chaine = preg_replace('#\&[^;]+\;#', '', $chaine); 
    $chaine = preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $chaine); 
    $chaine = str_replace('(', '', $chaine); 
    $chaine = str_replace(')', '', $chaine); 
    $chaine = str_replace('[', '', $chaine); 
    $chaine = str_replace(']', '', $chaine); 
    $chaine = str_replace('.', '-', $chaine); 
    $chaine = trim($chaine); 
    $chaine = str_replace(' ', '_', $chaine); 

    return $chaine; 
    } 

我知道问题$ chaine是一个字符串值,但我无法解决问题以使其通过readdir接受。有没有办法让$ chaine对readdir函数有价值?

+1

这个问题似乎是题外话,因为这个人问的是无法读取PHP手册 –

回答

2

readdir功能接受从opendir功能获得的资源:

$dir = opendir($path); 
while($file = readdir($dir)){ 
... 

readdiropendir

+0

omg,我可能会误删opendir,并完全忘记它...非常感谢你(都)的帮助! –

1

readdir()接受文件句柄,而不是一个字符串:

manual报价:

dir_handle: The directory handle resource previously opened with opendir() . If the directory handle is not specified, the last link opened by opendir() is assumed.`

因此,也许使用opendir()第一?