I'm trying to upload files to a specific folder on my Hostgator server, however I put the exact path of the folder and the file does not appear in the folder that set the path, it appears in the root folder. Here is the code:
'
/*-----------------------------------------------------------------------------*
* Parte 1: Configurações do Envio de arquivos via FTP com PHP
/*----------------------------------------------------------------------------*/
// IP do Servidor FTP
$servidor_ftp = 'br476.hostgator.com.br';
// Usuário e senha para o servidor FTP
$usuario_ftp = 'hugohs';
$senha_ftp = 'ajbsistemas2018';
// Extensões de arquivos permitidas
$extensoes_autorizadas = array( '.exe', '.jpg', '.mp4', '.mkv', '.txt', '.png' );
// Caminho da pasta FTP
$caminho = '/public_html/Video';
/*
Se quiser limitar o tamanho dos arquivo, basta colocar o tamanho máximo
em bytes. Zero é ilimitado
*/
$limitar_tamanho = 0;
/*
Qualquer valor diferente de 0 (zero) ou false, permite que o arquivo seja
sobrescrito
*/
$sobrescrever = 0;
/*-----------------------------------------------------------------------------*
* Parte 2: Configurações do arquivo
/*----------------------------------------------------------------------------*/
// Verifica se o arquivo não foi enviado. Se não; termina o script.
if ( ! isset( $_FILES['arquivo'] ) ) {
exit('<br> <p class="alert alert-danger d-flex justify-content-center"> Nenhum arquivo enviado! </p>');
}
// Aqui o arquivo foi enviado e vamos configurar suas variáveis
$arquivo = $_FILES['arquivo'];
// Nome do arquivo enviado
$nome_arquivo = $arquivo['name'];
// Tamanho do arquivo enviado
$tamanho_arquivo = $arquivo['size'];
// Nome do arquivo temporário
$arquivo_temp = $arquivo['tmp_name'];
// Extensão do arquivo enviado
$extensao_arquivo = strrchr( $nome_arquivo, '.' );
// O destino para qual o arquivo será enviado
$destino = $caminho . $nome_arquivo;
/*-----------------------------------------------------------------------------*
* Parte 3: Verificações do arquivo enviado
/*----------------------------------------------------------------------------*/
/*
Se a variável $sobrescrever não estiver configurada, assumimos que não podemos
sobrescrever o arquivo. Então verificamos se o arquivo existe. Se existir;
terminamos aqui.
*/
if ( ! $sobrescrever && file_exists( $destino ) ) {
exit('<br> <p class="alert alert-danger d-flex justify-content-center"> Arquivo já existe. </p>');
}
/*
Se a variável $limitar_tamanho tiver valor e o tamanho do arquivo enviado for
maior do que o tamanho limite, terminado aqui.
*/
if ( $limitar_tamanho && $limitar_tamanho < $tamanho_arquivo ) {
exit('<br> <p class="alert alert-danger d-flex justify-content-center"> Arquivo muito grande. </p>');
}
/*
Se as $extensoes_autorizadas não estiverem vazias e a extensão do arquivo não
estiver entre as extensões autorizadas, terminamos aqui.
*/
if ( ! empty( $extensoes_autorizadas ) && ! in_array( $extensao_arquivo, $extensoes_autorizadas ) ) {
exit('<br> <p class="alert alert-danger d-flex justify-content-center"> Tipo de arquivo não permitido. </p>');
}
/*-----------------------------------------------------------------------------*
* Parte 4: Conexão FTP
/*----------------------------------------------------------------------------*/
// Realiza a conexão
$conexao_ftp = ftp_connect( $servidor_ftp );
// Tenta fazer login
$login_ftp = @ftp_login( $conexao_ftp, $usuario_ftp, $senha_ftp );
// Se não conseguir fazer login, termina aqui
if ( ! $login_ftp ) {
exit('Usuário ou senha FTP incorretos.');
}
// Envia o arquivo
if ( @ftp_put( $conexao_ftp, $destino, $arquivo_temp, FTP_BINARY ) ) {
// Se for enviado, mostra essa mensagem
echo '<br> <p class="alert alert-success d-flex justify-content-center"> Arquivo enviado com sucesso! </p>';
} else {
// Se não for enviado, mostra essa mensagem
echo '<br> <p class="alert alert-danger d-flex justify-content-center"> Erro ao enviar arquivo! </p>';
}
// Fecha a conexão FTP
ftp_close( $conexao_ftp );'
The file returns a successful send message, but instead of appearing in the "softwares" folder, it appears in the "public_html" folder.
Do you have any solutions to this problem?