Olá, boa noite!
Gostaria de saber como faço para bloquear o acesso direto a diretórios? Por exemplo tem vários arquivos dentro de um diretório, passo o link para o usuário acessar um arquivo especifico mas não quero que ele consiga entrar no diretório e liste todos os arquivos que tem lá. Como eu faria para realizar essa restrição?
Olá amigo, não sou usuário avançado, conseguir um código-fonte que lista arquivos de uma pasta no servidor, esses fontes listavam apenas os arquivos, daí eu dei uma incrementada nele para além dos arquivos ele listar também o tamanho do arquivo e a data da última modificação, segue ANEXO como ele está exibindo os resultados com perfeição.
A minha dificuldade é que ele lista os arquivos da pasta por ordem alfabética de A a Z e eu gostaria muito que essa lista de arquivos fosse exibida por ordem de data de modificação decrescente, da mais atual para a mais antiga, e não estou conseguindo realizar essa tarefa, gostaria muito da ajuda dos amigos para solucionar esse ocorrido, desde já agradeço a ajuda de todos.
Segue o código-fonte
<?php
//$diretorio = "D:\SERVIDOR-APACHE\PATRIMONIO TECNOLOGIA\images";
$diretorio = "/home/patrimonio/www/sites/default/files/ftpdata/download/Acesso Remoto"; //USADO PARA LISTAR OS ARQUIVOS DA PASTA
$url = "sites/default/files/ftpdata/download/Acesso Remoto/"; // USADO PARA FAZER O LINK DE DOWNLOAD
// abre o diretório
$ponteiro = opendir($diretorio);
// monta os vetores com os itens encontrados na pasta
while ($nome_itens = readdir($ponteiro)) {
$itens[] = $nome_itens;
}
// ordena o vetor de itens
sort($itens);
// percorre o vetor para fazer a separacao entre arquivos e pastas
foreach ($itens as $listar) {
// retira "./" e "../" para que retorne apenas pastas e arquivos
if ($listar!="." && $listar!=".."){
// checa se o tipo de arquivo encontrado é uma pasta
if (is_dir($listar)) {
// caso VERDADEIRO adiciona o item à variável de pastas
$pastas[]=$listar;
} else{
// caso FALSO adiciona o item à variável de arquivos
$arquivos[]=$listar;
}
}
}
// lista as pastas se houverem
if ($pastas != "" ) {
foreach($pastas as $listar){
print "";}
}
// lista os arquivos se houverem
if ($arquivos != "") {
foreach($arquivos as $listar){
//CONDICAO PARA NOMEAR EM BYTES, KB, MB, GB, TB
$tamanho = filesize("$url/$listar");
$kb = "1024";
$mb = "1048576";
$gb = "1073741824";
$tb = "1099511627776";
if($tamanho<$kb){
$tamanho_resposta = ($tamanho." bytes");
}else if($tamanho>=$kb&&$tamanho<$mb){
$kilo = number_format($tamanho/$kb,2);
$tamanho_resposta = ($kilo." KB");
}else if($tamanho>=$mb&&$tamanho<$gb){
$mega = number_format($tamanho/$mb,2);
$tamanho_resposta = ($mega." MB");
}else if($tamanho>=$gb&&$tamanho<$tb){
$giga = number_format($tamanho/$gb,2);
$tamanho_resposta = ($giga." GB");
}
// FIM CONDICAO PARA NOMEAR EM BYTES, KB, MB, GB, TB
// DATA DA ULTIMA MODIFICACAO
$modificado = date("d/m/Y H:i:s", filemtime("$url/$listar"))."<br>";
// FIM DATA DA ULTIMA MODIFICACAO
//echo"$modificado";
// FAZ A LISTA DE XIBICAO DOS AQRUIVOS DO DIRETORIO
// FAZ A LISTA DE XIBICAO DOS AQRUIVOS DO DIRETORIO
echo"
<tr>
<td width='438' height='30' bgcolor='#ffffff'><p><font size='2'> <a href='$url/$listar' target='_blank'>$listar</a></font></p></td>
<td width='192' bgcolor='#ffffff'><p><font size='2'> $tamanho_resposta</font></p></td>
<td width='340' bgcolor='#ffffff'><p><font size='2'> $modificado</font></p></td>
<td width='202' bgcolor='#ffffff'><p align='center'><a href='$url/$listar' target='_blank'><img src='images/nuvem.jpg'/></a></p></td>
</tr>
";
}
} else {
echo "<p><font color='#ff0000' size='3'>Não há nenhum arquivo.</font><p><br>";
}
echo"</table>"
?>
Olá, estou começando a aprender o php e quero muito saber como busco um arquivo pdf em um diretório usando o login que e o cpf como texto para busca, ja fiz a tela de login, o formulario de busca e o mostra resultado em php usando a função glob http://php.net/manual/pt_BR/function.glob.php, que encontra qualquer arquivo com o nome que escrever no campo busca, porem gostaria que ao logar já mostrasse o arquivo daquele usuário sem ter que buscar por ele, se o usuário buscar por 1, mostra todos os arquivos que contem 1 no nome.
Bom dia pessoal, alguém pode me ajudar ? (Sou iniciante KKK)
Tenho uma página em HTML (index.htm) para upload de arquivos e imagens com o seguinte código:
<form action="envia_foto.php" method="post" enctype="multipart/form-data">
<div align="center">
<p> </p>
<p>
<input type="file" name="Arquivo" id="Arquivo">
<br>
</p>
<p>
<input type="submit" value="Enviar">
</p>
</div>
</form>
,........
E tenho a página em PHP (envia_foto.php) com o seguinte código
........
<html>
<head>
<title>Envia foto</title>
</head>
<body>
<?php $nome_temporario=$_FILES["Arquivo"]["tmp_name"]; $nome_real=$_FILES["Arquivo"]["name"]; copy($nome_temporario,"up/$nome_real"); ?>
<p align="center"><font size="7">Arquivo enviado com sucesso ! </font></p>
</body> </html>
A questão é a seguinte..
Gostaria de inserir um campo na página HTML que tem os botões de selecionar e enviar, que eu possar inserir um número, e que o arquivo que a pessoa está enviando seja renomeado com esse numero, ficando por exemplo 123.jpg o que antes seria IMG_20181010_1530.jpg, e um outro campo de caixa de seleção onde eu coloque os caminhos que possa ser salvo, no caso as pastas com nomes.
Caso possam me ajudar eu agradeço ... Esse código atual já está rodando só que salvando o nome original da imagem e em uma única pasta
.....
As imagens que anexei é de como está, de como desejo que esteja, e como comecei a a fazer o código mas não sei mesclar com o formulário atual
Queria saber se é possível alterar a ordem com que os subdiretórios de um diretório é listado. Exemplo:
Tenho um diretório raiz que possuem os seguintes diretórios: 2013, 2014, 2015, [...].
Tem como fazer com que eles sejam mostrados em uma ordem específica?
Código que tô usando:
$baseDir = 'diretorio/'.$dirDinamico;
$abreDir = (@$_GET['dir'] != '' ? $_GET['dir'] : $baseDir);
$strrdir = strrpos(substr($abreDir,0,-1),'/');
$backdir = substr($abreDir, 0,$strrdir+1);
$openDir = dir($abreDir);
while($arq = $openDir -> read()):
if($arq != '.' && $arq != '..'):
if(is_dir($abreDir.$arq)){
//aqui é a parte que organizo (visualmente) a exibição dos diretórios.