Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Recommended Posts

Ola,,,,
estou tentando a PEGAR O CAMINHO DE ONDE VEM UM AQUIVO,
porem consigo apenas o nome para o arquivo sobe,,, pasta UPLOADS no servidor,,,,,
segue o código bem detalhado,, quem puder ajudar agradeço....

<?php

//recebe o nome do arquivo via $_FILES
$arq = $_FILES['arquivo']['name'];

//obtem o nome do arquivo que chegou
$nome = $arq;

//obtem dados do diretorio do aquivo
//***AQUI É O PROBLEMA ISTO RETORNA APENAS UM PONTO
$tt = dirname($arq);

//MOSTRA O NOME DO AQUIVO
echo "nome do arquivo: " . $nome . "<br>";

//AQUI PODEM OBSERVAR QUE MOSTRA O PONTO RETORNADO
echo "diretorio" . $tt . "<br>";

//AQUI EU TENTO PEGAR OS DADOS DE ONDE VEIO O ARQUIVO
//****POREM ELE RETORNA--->>/var/www/html/UPLOADS
//***MAS ESTE ENDEREÇO ACIMA, É A PASTA ONDE O AQUIVO É TRAZIDO,,OU SEJA...
//PARA ONDE ELE SOBE,,,, EU QRIA SABER O ENDEREÇO DE ONDE ELE VEM,, QUE SERIA ALGO DO TIPO...

///C:\Users\meuPC\Desktop\oficina\relatorios diarios <<<<---- AQUI POR FAVOR EU QRO ESTA INFORMAÇAO!!

echo realpath($tt) . "<br>";

?>
<form name="" method="post" action="mandavarios.php">
<input class="button" type="submit" value="Cancelar/voltar"/>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está tentando pegar o caminho do arquivo do cliente; até onde eu sei, não é possível por questões de segurança. Pode até ser que tenha alguma biblioteca Javascript que faça isso, mas ainda assim pode ter problemas de compatibilidade com os navegadores.

Você pode dizer qual o motivo de tentar pegar o caminho do arquivo do cliente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

a idéia é RENOMEAR AQUIVOS QUE comecem com a primeira letra

do arquivo escolhido ,, naquela pasta onde estao os arquivos,,,

no caso eu qria fazer sem ter q fazer UPLOAD PARA O SERVIDOR,,,,

são arquivos de audio,,, cujo nome na pasta do cliente,normalmente esta assim,,,,C00120151206000133

onde c001 é o telefonista,,, entao onde começa com c001 preciso mudar para PAULO,,por exemplo,,,

se nao tiver outro jeito,, terei q fazer upload da pasta inteira para o servidor,, ,,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta cheirando mal... :ph34r:

De nome as pastas de acordo com ID de cada Usuário/Cliente, se precisar deletar o Usuário/Cliente, é mais facil deletar as pastas que tem o ID relacionado.

Senão vira uma festa no servidor.

Se este hash C00120151206000133 é para segurança, isso se resolve com permissões de pastas ou filtros com .htaccess

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver se entendi, você quer que a aplicação web renomeie os arquivos que estão na máquina do cliente? se sim, acho que a unica maneira é fazer o upload de todos os arquivos, renomear e então fazer o download novamente, o que não fica legal; acho que é melhor procurar/desenvolver uma aplicação desktop para isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta cheirando mal... :ph34r:

De nome as pastas de acordo com ID de cada Usuário/Cliente, se precisar deletar o Usuário/Cliente, é mais facil deletar as pastas que tem o ID relacionado.

Senão vira uma festa no servidor.

Se este hash C00120151206000133 é para segurança, isso se resolve com permissões de pastas ou filtros com .htaccess

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta cheirando mal... :ph34r:

De nome as pastas de acordo com ID de cada Usuário/Cliente, se precisar deletar o Usuário/Cliente, é mais facil deletar as pastas que tem o ID relacionado.

Senão vira uma festa no servidor.

Se este hash C00120151206000133 é para segurança, isso se resolve com permissões de pastas ou filtros com .htaccess

Creio q você nao entendeu,, ou tentar explicar,,,

a pasta sao de audios de gravaçoes ,,, pelo menos 500 gravaçoes na mesma patas,,,

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha só,,,, C00120151206000133 é um audio gerado pela central,,, eles podem ser,,,

de C001 ate C035, ,,, logo eu tenho 35 atendentes com nomes diferentes,,, ou seja,,,,

a ideia principal,, é renomear,,,, C001 = paulo,,,

C002 = marcio,,,

ou seja,,, substituir os números por nomes,, para poder,, tipo ao final do expediente,,,contar,,ou pegar,,

todas as ligaçoes do paulo,,, ou todas as ligações do marcio,,,,

​nao existe ali como você falou pastas,, usuários... ou isso ou aquilo,,,,

os arquivos de áudio são gerados por uma central ao final da ligação do telefonista,,,,

Compartilhar este post


Link para o post
Compartilhar em outros sites

são arquivos de audio,,, cujo nome na pasta do cliente,normalmente esta assim,,,,C00120151206000133

:rolleyes:

olha só,,,, C00120151206000133 é um audio gerado pela central,,, eles podem ser,,,

:blink:

decida!

Leia e entenda, muitos pulam etapas ai não sabe como montar uma estrutura de pastas e começa a gambiarra, que é seu caso.

https://pt.wikipedia.org/wiki/%C3%81rvore_(estrutura_de_dados)

Compartilhar este post


Link para o post
Compartilhar em outros sites

:rolleyes:

:blink:

decida!

Leia e entenda, muitos pulam etapas ai não sabe como montar uma estrutura de pastas e começa a gambiarra, que é seu caso.

NAO É O MEU CASO,,, NAO TENHO CULPA SE você NAO ENTENDE.....

mais simples dq eu t expliquei,, nao tem jeito,, mas vou tentar novamente,,,,

na maquina do cliente,, existe uma pasta,, COM UM NOME QUALQUER!!!!

e dentro desta pasta com um nome qualquer,,, existem varios audios,, para serem renomeados,,

com nomes dos telefonistas que atenderam as ligaçoes,,,,,

ou seja,, varios aquivos de audios q podem começar de C001 ate C035 ,,,,

https://pt.wikipedia.org/wiki/%C3%81rvore_(estrutura_de_dados)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos aos fundamentos:

PHP é uma linguagem server-sided, ou seja, ela é interpretada no servidor.

Não há como o php interferir no sistema de arquivos (leitura/escrita, copia, etc..) numa máquina cliente.

Ele recebe os dados enviados pelo cliente e executa as tarefas previamente preparadas para determinada situação.

Javascript é uma linguagem client-sided, ou seja, é interpretada no cliente.

Por questões de segurança levantadas durante a evolução da linguagem, o que deseja não será feito, seja pela linguagem em si, seja pela restrição que os navegadores impõem aos scripts que eles executam.

O que você deseja fazer é mais simples de ser feito usando algo como um script .bat que roda durante a inicialização/agendamento do sistema operacional (para máquinas windows) ou .sh (para máquinas linux).

Se isso não é possível, então um sistema de upload, onde se identifica o usuário e renomeia os arquivos enviados baseado no usuário que enviou é a forma mais tangível.

PS: Se durante uma conversação, uma ou mais pessoas não se entendem, é sinal que há uma falha de comunicação.

Cabe a aquele que não foi compreendido, melhorar a comunicação, mesmo que essa melhora de comunicação implique em melhorar o conhecimento para encontrar outras formas de descrever o assunto abordado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos aos fundamentos:

PHP é uma linguagem server-sided, ou seja, ela é interpretada no servidor.

Não há como o php interferir no sistema de arquivos (leitura/escrita, copia, etc..) numa máquina cliente.

Ele recebe os dados enviados pelo cliente e executa as tarefas previamente preparadas para determinada situação.

Javascript é uma linguagem client-sided, ou seja, é interpretada no cliente.

Por questões de segurança levantadas durante a evolução da linguagem, o que deseja não será feito, seja pela linguagem em si, seja pela restrição que os navegadores impõem aos scripts que eles executam.

O que você deseja fazer é mais simples de ser feito usando algo como um script .bat que roda durante a inicialização/agendamento do sistema operacional (para máquinas windows) ou .sh (para máquinas linux).

Se isso não é possível, então um sistema de upload, onde se identifica o usuário e renomeia os arquivos enviados baseado no usuário que enviou é a forma mais tangível.

PS: Se durante uma conversação, uma ou mais pessoas não se entendem, é sinal que há uma falha de comunicação.

Cabe a aquele que não foi compreendido, melhorar a comunicação, mesmo que essa melhora de comunicação implique em melhorar o conhecimento para encontrar outras formas de descrever o assunto abordado.

Agradeço muito seu esclarecimento,, vou tentar com os arquivos bat... porem,, ao final de sua explicação,,, entendo q cabe a parte q nao entendeu pedir melhores esclarecimentos de forma educada,, e com pelo menos um minimo de respeito ao usuário,,,,

grato pela sua resposta,,,,

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por asacap1000
      Salve Galera!!! estou com um projeto onde preciso disponibilizar na intranet documentos que estão em um servidor.
      Estes documentos estão salvos em diversas pastas dividido por dias meses e anos etc etc.
      Não quero que list todos os documentos porém ele seria pesquisado.
      Exemplo: NF 123456
      No arquivo salvaram assim "cliente NF 123456.pdf", tentei utilzar o glob porém ele não retorna nada nem deu erro.
      Por ser em outro servidor não seu se ele consegue ler já pesquisei mas não encontrei nada sobre isso.
       
      Saberiam me ajudar com este caso:
       
      Na intranet ele terá uma busca normal de relatórios ao listar essas informações ele diponibiliza um link com o numero da NF a qual eu chamaria essa página para realizar a busca no servidor e assim abrir o arquivo no navegador..
    • Por Ane_
      Olá gente.
       
      Não consigo abrir o arquivo de desenvolvimento de um aplicativo,
      que foi feito pela themeforest(o template).
      Será que ele não é compatível com as IDE's que eu tô tentando abrir, já tentei no:
       
      Notepad++ Visual Studio (Com o ionic instalado) Android Studio  
      Esse é um dos erros que aparecem:
       
      "the archive not is displayed in the editor because it is either binary or uses unsupported text encoding"
       
    • Por Dj Del Palmis
      Olá pessoal criei um seguinte script para minha pagina para upload de múltiplas fotos, contudo coloquei um if para caso o campo $_FILES retornar vazio ele retorne uma msg de erro. Porém toda vez mesmo o campo file estando vazio, ele retorna que há algo. Alguém pode me dar uma ajuda no que estou fazendo de errado?
      if(!empty($_FILES["imagens"]) and !empty($_FILES["imagens"]["name"])){ $img_contar = count($_FILES["imagens"]["name"]); $array_img = ""; for ($i = 0; $i < $img_contar; $i++){ $imagens = $_FILES["imagens"]; $new_img = uniqid("img_", $imagens["name"][$i]); $extensao = pathinfo($_FILES["imagens"]["name"][$i], PATHINFO_EXTENSION); move_uploaded_file($imagens["tmp_name"][$i], "upload/".$new_img.".".$extensao); $array_img .= $new_img.".".$extensao.";"; } $insert = mysqli_query($conn, "INSERT INTO itens(codigo, model, nome, imagens, categoria, qnt, marca, preco) VALUES('".$cod."', '".$model."', '".$nome."', '".$array_img."', '".$cat."', '".$qnt."', '".$marca."', '".$preco."');"); if(!$insert){ echo "<center style='color:red' class='men'>O SQL retornou algum erro, tente novamente!</center>"; } else{ echo "<center style='color:green' class='men'>Produto cadastrado com exito!</center>"; } } else{ $insert = mysqli_query($conn, "INSERT INTO itens(codigo, model, nome, categoria, qnt, marca, preco) VALUES('".$cod."', '".$model."', '".$nome."', '".$cat."', '".$qnt."', '".$marca."', '".$preco."');"); if(!$insert){ echo "<center style='color:red' class='men'>O SQL retornou algum erro, tente novamente!</center>"; } else{ echo "<center style='color:green' class='men'>Produto cadastrado com exito!</center>"; } }  
    • Por vinihhylian0103
      É possível anexar um arquivo e enviá-lo por email via PHP? Se sim, alguém poderia me dar uma ajuda com isso por favor, é realmente muito importante para meu projeto do TCC.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.