Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou tentando criar uma pasta em uma mapeamento de rede mas não estou tendo sucesso
<?php
if(isset($_POST["databse"]) && isset($_POST["nomecli"])){
$database = 'C:/xampp/htdocs/criarbase/'.$_POST["databse"];
$namecli = $_POST["nomecli"];
$caminho = 'Z:/Bases/'.$namecli;
$destino = $caminho.'/'.$namecli.'.zip';
if(is_dir($caminho)){
echo 'Pasta existe';
}else{
if(mkdir($caminho, 0755, true)){
print_r(error_get_last());
if (!copy($database, $destino)) {
echo "falha ao copiar $database...\n";
}else{
echo('Base enviada para servidor');
}
}
}
}
?>
se eu troco ele para a pasta local funciona tranquilamente no inicio achei que poderia ser permissão no servidor para criar a pasta, por ser um win server que esta salvando, mas troquei para uma win 10, e o erro permanece como não encontrado o diretório
Já tentei colocar o caminho completo, por nome do servidor ou ip do servidor
Já entrei no serviço do apache que esta rodando e coloquei o usuário que tem permissão de escrita o Admistrador no caso>
Em 05/02/2021 at 11:41, Diego Carlos disse:
se eu troco ele para a pasta local funciona tranquilamente pasta local funciona tranquilamente
Você disse que na pasta local funciona tranquilamente. Mostre seu código localhost na integra para que possamos comparar com o código que vai ficar no servidor online para ver o que está acontecendo
>
Em 05/02/2021 at 11:41, Diego Carlos disse:
o erro permanece como não encontrado o diretório
Outro detalhe é que se o diretório não foi encontrado é porque realmente não existe tal diretório. Se o erro aparece é porque tem algo que não está correto.
>
Em 10/02/2021 at 10:43, Biel. disse:
Você disse que na pasta local funciona tranquilamente. Mostre seu código localhost na integra para que possamos comparar com o código que vai ficar no servidor online para ver o que está acontecendo
Então @Biel. e o mesmo código a única coisa que muda e o
$caminho = 'C:/Bases/'.$namecli;
e pra entender isso e um sistema interno, que só preciso salvar um arquivo em outra maquina
>
Em 10/02/2021 at 10:43, Biel. disse:
Outro detalhe é que se o diretório não foi encontrado é porque realmente não existe tal diretório. Se o erro aparece é porque tem algo que não está correto.
sobre isso o diretório existe, tanto é que se eu faço um MKDIR direto no cmd ele cria a pasta, mas no php não rola
Andei dando uma lida em alguns lugares, vi que parece ser algo no apache, ja virei esse apache e não libera essa criação de pasta
acredito que seja questão do apache mesmo em relação ao windows e a pasta mapeada.
eu tentaria dar uma trapaceada, ao invez de usar o copy(
tenta usar o cmd(copy ..
ou seja manda o apache mandar executar o comando no windows e deixa com windows a qustão de transfereri o arquivo para a pasta da rede.
>
Em 17/02/2021 at 15:55, merlinus disse:
acredito que seja questão do apache mesmo em relação ao windows e a pasta mapeada.
eu tentaria dar uma trapaceada, ao invez de usar o copy(
tenta usar o cmd(copy ..
ou seja manda o apache mandar executar o comando no windows e deixa com windows a qustão de transfereri o arquivo para a pasta da rede.
Tbm não deu @merlinus, mesmo caso local funciona, no mapeamento ou no caminha completo da rede também não da
if(isset($_POST["databse"]) && isset($_POST["nomecli"])){
$quebra = explode('/', $_POST["databse"]);
$localbase = $quebra[0].'\\'.$quebra[1];
$database = 'C:\\xampp\\htdocs\\criarbase\\'.$localbase;
$namecli = $_POST["nomecli"];
$caminho = 'Z:\\Base\\'.$namecli;
$destino = $caminho;
$mkdir = exec('mkdir "'. $caminho .'"');
$copy = exec('copy "'. $database .'" "'.$caminho.'"');
}desculpa a demora, fiquei preso nuns projetos.
Faz um experimento usando sem o post, apenas o caminho e coloca o campo output e imprime ele, assim:
exec("copy C:\\xampp\\htdocs\\criarbase\\teste Z:\\Base\\destino", $output);
print_r($output);
depois no prompt do servidor funciona o comando pra copiar a pasta destino?
ninguem?