Gente, estou tentando exibir a partir da ação de um botão php do meu formulário uma imagem. Está sendo pego o campo Código da consulta pois é o que dá nome a imagem no ftp (Ex.: 12345.jpg) e aí eu busco ela assim! Esse botão está no formulário dessa consulta.
Porém quando tento baixar do ftp para uma pasta minha do scriptcase, ela não vem. Testei criar via php mesmo um arquivo .txt simples para ver se não era essa pasta e realmente não é pois o arquivo foi criado perfeitamente.
Observem meu código php, camuflei as credenciais obviamente mas elas estão ok. Tentei deixar tudo comentado para melhorar a leitura.
´´´
// 1. Obter o código do produto da consulta
$codigo_produto = {Código}; // {Código} é o campo vindo da consulta
// 2. Configuração do servidor FTP
$ftp_server = “ftp.exemplo.com”; // Endereço do servidor FTP
$ftp_username = “usuario”; // Nome de usuário do FTP
$ftp_password = “senha”; // Senha do FTP
$ftp_dir = “public_ftp/EXEMPLO/Img/MinhaPasta”; // Caminho da pasta no FTP onde as imagens estão
// 3. Caminho local onde a imagem será salva (diretório público acessível via HTTP no Scriptcase)
$local_dir = “…/_lib/imagemsalva/”; // Caminho para o diretório público do Scriptcase
$imagem_nome = $codigo_produto . “.jpg”; // Nome da imagem baseado no código
// 4. Conectar ao servidor FTP
$conn_id = ftp_connect($ftp_server) or die(“Não foi possível conectar ao servidor FTP.”);
// 5. Realizar o login no servidor FTP
$login_result = ftp_login($conn_id, $ftp_username, $ftp_password);
// 6. Verificar se a conexão foi bem-sucedida
if ((!$conn_id) || (!$login_result)) {
echo “Falha na conexão ou login no FTP!”;
exit;
} else {
echo “Conexão e login bem-sucedidos!
”;
// 7. Alterar para o diretório correto no FTP
if (!ftp_chdir($conn_id, $ftp_dir)) {
echo "Falha ao acessar o diretório: " . $ftp_dir;
ftp_close($conn_id);
exit;
}
// 8. Verificar se a imagem existe no FTP
$imagem_tamanho = ftp_size($conn_id, $imagem_nome);
if ($imagem_tamanho == -1) {
echo “Imagem não encontrada!”;
} else {
// Se o arquivo existe, fazer o download da imagem para o diretório local
$local_path = $local_dir . $imagem_nome;
echo "Iniciando download da imagem: $imagem_nome<br>";
// Tentar baixar a imagem para o diretório local acessível
if (ftp_get($conn_id, $local_path, $imagem_nome, FTP_BINARY)) {
echo "Imagem baixada com sucesso!<br>";
// Exibir a imagem com o caminho local
echo "<br><img src='" . $local_dir . $imagem_nome . "' alt='Imagem do Produto' width='600' height='600' />";
} else {
// Adicionar mais detalhes sobre o erro
$error_message = error_get_last();
echo "Falha ao baixar a imagem! Detalhes do erro: " . $error_message['message'] . "<br>";
echo "Caminho local de salvamento: " . $local_path . "<br>";
}
}
// 9. Fechar a conexão FTP
ftp_close($conn_id);
}
´´´