Ir para conteúdo

POWERED BY:

Arquivado

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

dan_lorenzato

Scandir em Compartilhamento!

Recommended Posts

Fiz um compartilhamento em meu servidor, e minhas máquinas clientes tem acesso livre ao compartilhamento, gravam nele e tudo. Mas meu php retorna erro quando uso um scandir no mesmo:

 

Warning: scandir(\\linux\vault$\) [function.scandir]: failed to open dir: No error in C:\Arquivos de programas\VertrigoServ\www\ged\Connections\functions.php on line 44

 

e meu código tá assim:

 

$dir1 = "\\\\linux\\vault$\\";$scan = scandir($dir1);

Já tentei inverter as barras como "//linux/vault$/" ou o normal "\\linux\vault$\" mas dá o mesmo erro!

 

O que eu fiz de errado!?

 

Um abraço a todos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim retorna erro de sintaxe....por causa da ultima barra "\"...

 

ai tentei assim:

$dir1 = "\linux\vault$\";$scan = scandir($dir1);

mas mesmo assim o scandir não roda.... =(

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP
$dir1 = "linux$vault";

$scan = scandir($dir1);

 

coloque o sifrão da variável sempre na frente, e tente todos os modos que já tentou, mas com ele na frente " $ "

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah....esse cifrão na frente é porque o nome do compartilhamento na rede é esse mesmo..."Vault$", o cifrão deixa o compartilhamento oculto pra clientes Windows!mas pra facilitar os testes, refiz o compartilhamento da pasta e deixei com nome de "vault" somente....mas tanto com "\linux\vault\" como "\linux\vault" o scandir ainda não pega...=(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só as barras são assim : " / " sempre nessa posição... a sintaxe desse código é a seguinte :

 

PHP
$dir1 = "linux/vault$";

$scan = scandir($dir1);

 

se não der certo poste todo o teu código ai pra mim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue me código em anexo....é um arquivo que verifica na pasta indicada, se a mesma atingiu um limite de 5 mil arquivos. Quando atinge esse limite, ela cria outra pasta e inicia a gravação a partir da proxíma pasta...

 

<?$dir1 = "f:/Vault/";  //A variavel declarada desta forma, onde indico unidade de disco e pasta, o scandir consegue ler o diretório.$dir1 = "linux/vault/"; //A variavel declarada desta forma, onde indico a maquina da rede seguida de seu compartilhament o scandir não consegue ler.$scan = scandir($dir1);$dir2 = end($scan);$dir = $dir1.$dir2."/";$files1 = scandir($dir);$row = count($files1);if ($row > 5000) {$dir2 += 1;mkdir("$dir1"."$dir2");}?>

Eu indiquei a váriavel "$dir1" duas vezes só pra mostrar as duas formas que eu testei...

Só criar um compartilhamento ai na sua máquina e indicar o nome da sua maquina e o nome do compartilhamento nessa váriavel, e vê se vai dar erro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara tu ta trocando as bolas não ?? hehhe

 

Perceba que em uma das variáveis está o $dir1.

e na outra tu também tinha colocado o $dir1... ai confunde não seria $dir2 ?

PHP
<?php

 

$dir1 = "f:/Vault/";  //Perceba que aqui tu colocou o $dir1.

 

$dir2 = "linux/vault/"; //Aqui tu também tinha colocado o $dir1... ai confunde não seria $dir2 ?

 

 

$scan = scandir($dir1);

$dir2 = end($scan);

 

$dir = $dir1.$dir2."/";

$files1 = scandir($dir);

$row = count($files1);

 

if ($row > 5000) {

$dir2 += 1;

mkdir("$dir1"."$dir2");

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

hahahahhhahahhahahahhahha.... http://forum.imasters.com.br/public/style_emoticons/default/dormindo.gif

 

Mas não faz com as variáveis iguais não que da erro.

 

tenta ai novamente.

 

PHP
<?php

 

$dir1 = "f:/Vault/";

 

$dir2 = "linux/vault/";

 

$scan = scandir($dir1);

 

$dir = $dir1.$dir2."/";

$files1 = scandir($dir);

$row = count($files1);

 

if ($row > 5000) {

$dir2 += 1;

mkdir($dir1.$dir2);

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP
<?php

 

$dir1 = "f:/Vault/";

 

$dir2 = "linux/vault/";

 

$scan = scandir($dir1);

 

$dir = $dir1.$dir2."/";

$files1 = scandir($dir);

$row = count($files1);

 

if ($row > 5000) {

$dir2 += 1;

mkdir($dir1.$dir2);

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já descobri qual era meu problema.....apesar das minhas maquinas enchergarem a máquina com nome de "Linux" na rede, meu scandir não achou.

 

declarei a variavel da seguinte forma:

 

$dir1 = "//192.168.254.166/vault$/";

Ao invés de colocar nome, coloquei IP. Ai funcionou beleza.

 

Brigadão pela ajuda aeee....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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