N3lson Posted March 3, 2014 at 07:48 PM Report #547426 Posted March 3, 2014 at 07:48 PM (edited) boas tenho um script para fazer a listagem de ficheiros de acordo com a pasta pedida echo'<div class="intcol_2"> <h2>'.icon('img/prod.png').'Listagem de Documentos <span> <a href="javascript:void(0)">Data: </a>'.date('Y-m-d').' </span> </h2>'; echo '<table>'; th('Ficheiro,tamanho,criado,modificado'); $pasta = opendir($pasta); while($file = readdir($pasta)){ if($file !='.' && $file !='..') echo '<tr> <td><a href="'.$pasta.'/'.$file.'">'.ucfirst($file).'</a></td> <td>'.round((filesize($file) / 1024), 2).' Kb</td> <td>'.date('d-m-Y',filectime($file)).'</td> <td>'.date('d-m-Y',filemtime($file)).'</td> </tr>'; } echo'</table>'; Mas está a funcionar com erros, e apenas me lista o 2º ficheiro todos os outros dão este erro. Warning: filesize(): stat failed for calc.php in C:\SERVER\htdocs\Man\admin\admin_func.php on line 24 Warning: filectime(): stat failed for calc.php in C:\SERVER\htdocs\Man\admin\admin_func.php on line 25 Outra coisa que reparei foi o link do ficheiro aparecer assim endereço_raiz/man/Resource id #10/calc.php Edited March 3, 2014 at 07:53 PM by N3lson You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.
I-NOZex Posted March 3, 2014 at 08:03 PM Report #547430 Posted March 3, 2014 at 08:03 PM (edited) Aviso Esta função pode retornar o booleano FALSE, mas também pode retornar um valor não-booleano que pode ser avaliado como FALSE, como 0 ou "". Leia a seção em Booleanos para maiores informações. Utilize o operador === para testar o valor retornado por esta função /* Esta é a forma correta de varrer o diretório */ while (false !== ($file = readdir($handle))) { echo "$file\n"; } /* Esta é a forma INCORRETA de varrer o diretório */ while ($file = readdir($handle)) { echo "$file\n"; } ~in http://pt2.php.net/readdir anyway, isso nao sao erros, sao avisos, mas acho q isto te vai resolver: http://stackoverflow.com/a/6388742/1869192 repara no @ Edited March 3, 2014 at 08:06 PM by I-NOZex 1 Report B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
N3lson Posted March 4, 2014 at 05:31 AM Author Report #547472 Posted March 4, 2014 at 05:31 AM Sim já tinha reparado no @ mas isto é o k esta acontecer lista os documentos todos mas apenas me dá os dados de 1 You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.
HappyHippyHippo Posted March 4, 2014 at 05:38 AM Report #547473 Posted March 4, 2014 at 05:38 AM while(($file = readdir($pasta)) !== false) { if($file !='.' && $file !='..') { $filepath = $pasta.'/'.$file; echo '<tr> <td><a href="'.$filepath.'">'.ucfirst($file).'</a></td> <td>'.round((filesize($filepath) / 1024), 2).' Kb</td> <td>'.date('d-m-Y',filectime($filepath)).'</td> <td>'.date('d-m-Y',filemtime($filepath)).'</td> </tr>'; } } 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
N3lson Posted March 4, 2014 at 07:12 AM Author Report #547474 Posted March 4, 2014 at 07:12 AM Obrigado ao 2 pela ajuda, já rola com as instruções do HappyHippyHippo. O problema era ter de indicar o caminho para cada linha do loop? Pensava que como iria buscar o ficheiro não era necessário. You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.
HappyHippyHippo Posted March 4, 2014 at 11:09 AM Report #547482 Posted March 4, 2014 at 11:09 AM O problema era ter de indicar o caminho para cada linha do loop? não o erro era não dares o caminho completo às funções 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now