Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!!!
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.... =(
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 " $ "
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...=(
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.
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...
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](http://br.php.net/end)($scan);
$dir = $dir1.$dir2."/";
$files1 = scandir($dir);
$row = [count](http://br.php.net/count)($files1);
if ($row > 5000) {
$dir2 += 1;
[mkdir](http://br.php.net/mkdir)("$dir1"."$dir2");
}
?>hehehe...no meu post antes do seu eu te falei que coloquei a variavel duas vezes SÓ pra você ver os dois jeitos que eu testei....KkKKkkkK
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](http://br.php.net/count)($files1);
if ($row > 5000) {
$dir2 += 1;
[mkdir](http://br.php.net/mkdir)($dir1.$dir2);
}
?>PHP
<?php
$dir1 = "f:/Vault/";
$dir2 = "linux/vault/";
$scan = scandir($dir1);
$dir = $dir1.$dir2."/";
$files1 = scandir($dir);
$row = [count](http://br.php.net/count)($files1);
if ($row > 5000) {
$dir2 += 1;
[mkdir](http://br.php.net/mkdir)($dir1.$dir2);
}
?>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....
vê ai :
PHP
$dir1 = "linuxvault$";$scan = scandir($dir1);