Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 10
Sexo: Feminino

Salvar uma imagem em outro dominio

10-11-2016 22:35

Estou fazendo um sistema em meu domínio que eu consiga acessar o banco de dados de um cliente alterar e inserir novos dados. Até aí tudo bem, o problema é quando tento salvar uma imagem dá um erro 'ERRO DE MOVIMENTAÇÃO DO ARQUIVO NO SERVIDOR. <br />' de acordo com meu código.

O que eu estou fazendo de errado?

if ($_FILES['foto']['name'] == "") { $antes = ""; } else { $antes = $_FILES['foto']['name']; } $idp = $_POST['idproduto']; $queryDados = mysql_query("INSERT INTO categoria (foto, " . "nome, " . "idproduto, " ."dtreg )" . "VALUES('" . $antes . "'," . "'" . $_POST['nome'] . "'," . "'" . $_POST['idproduto'] . "'," . "NOW()" . ")"); if ($queryDados) { //REALIZANDO UPLOAD DA FOTO ANTES if ($antes <> "") { if (is_uploaded_file($_FILES['foto']['tmp_name'])) { $pasta1 = "http://dominiodomeucliente.com.br/uploads/"; // Gerando um nome aleatório para a imagem $arquivo1 = $pasta1.$_FILES['foto']['name']; $nomeAleatorio = $antes; // Movendo arquivo para servidor if(!move_uploaded_file($_FILES['foto']['tmp_name'], $arquivo1)) { die('ERRO DE MOVIMENTAÇÃO DO ARQUIVO NO SERVIDOR. <br />' . mysql_error()); } else { $imagem1 = $arquivo1; //if (!move_uploaded_file($temp, $caminho . $nomeAleatorio)) //$erro = 'Não foi possível anexar o arquivo'; $caminho1 = $pasta1.$nomeAleatorio; $img1 = imagecreatefromjpeg($imagem1); $thumb1 = imagecreatetruecolor(514,296); imagecopyresampled($thumb1, $img1 , 0 , 0 , 0 , 0 , 514 , 296, imagesX( $img1 ) , imagesY( $img1 )); imagejpeg($thumb1, $caminho1, 100); unlink($arquivo1); } } else { die('ERRO DE UPLOAD DO ARQUIVO. <br />' . mysql_error()); } } print "<script>alert('Cadastrado com sucesso!');</script>"; } else { print "<script>alert('Erro no cadastro.');</script>"; }

Favor me ajude.
Obrigada
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Salvar uma imagem em outro dominio

10-11-2016 22:59

Creio que por segurança você não pode fazer um upload para uma pasta de outro servidor sem uma autenticação.

Talvez seja possível você fazer esse upload para outro servidor com um script de F.T.P.

Ai com esse script você vai precisar definir o ftp da conta do seu cliente, pasta que armazena a foto, login e senha do servidor dele.
0
A melhor hospedagem para o seu site HostGator!
 
Avatar do usuário
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 10
Sexo: Feminino

Re: Salvar uma imagem em outro dominio

10-11-2016 23:04

Poderia mostrar esse script ? muita agradecida
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Salvar uma imagem em outro dominio

11-11-2016 09:21

Eu testei aqui um script e funcionou. Eu fiz o upload partindo do meu servidor localhost e enviei um arquivo para o meu domínio no servidor remoto.

O script eu achei nesse link http://php.net/manual/en/function.ftp-put.php#82059

O script é o seguinte:

<?php $name = "nome_do_arquivo_local.jpg"; $filename = "nome_que_oarquivo_tera.jpg"; //-- Code to Transfer File on Server Dt: 06-03-2008 by Aditya Bhatt --// //-- Connection Settings $ftp_server = ""; // Address of FTP server. $ftp_user_name = ""; // Username $ftp_user_pass = ""; // Password $destination_file = "public_html/pasta_para_receber_os_arquivos/"; //where you want to throw the file on the webserver (relative to your login dir) $conn_id = ftp_connect($ftp_server) or die("<span style='color:#FF0000'><h2>Couldn't connect to $ftp_server</h2></span>"); // set up basic connection $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass) or die("<span style='color:#FF0000'><h2>You do not have access to this ftp server!</h2></span>"); // login with username and password, or give invalid user message if ((!$conn_id) || (!$login_result)) { // check connection // wont ever hit this, b/c of the die call on ftp_login echo "<span style='color:#FF0000'><h2>FTP connection has failed! <br />"; echo "Attempted to connect to $ftp_server for user $ftp_user_name</h2></span>"; exit; } else { //echo "Connected to $ftp_server, for user $ftp_user_name <br />"; } $upload = ftp_put($conn_id, $destination_file.$name, $filename, FTP_BINARY); // upload the file if (!$upload) { // check upload status echo "<span style='color:#FF0000'><h2>FTP upload of $filename has failed!</h2></span> <br />"; } else { echo "<span style='color:#339900'><h2>Uploading $name Completed Successfully!</h2></span><br /><br />"; } ftp_close($conn_id); // close the FTP stream ?>

Você precisa alterar as seguintes linhas:

$ftp_server = ""; // Address of FTP server. $ftp_user_name = ""; // Username $ftp_user_pass = ""; // Password $destination_file = "public_html/pasta_para_receber_os_arquivos/"; //where you want to throw the file on the webserver (relative to your login dir)

$ftp_server é o IP do servidor
$ftp_user_name é o usuário que usa para o ftp
$ftp_user_pass é a senha do usuário acima
$destination_file é a pasta no servidor que vai receber o arquivo


Ai você vai ter que usar o script para enviar o arquivo para o seu próprio servidor, em seguida, usar o nome do arquivo para fazer o upload no script acima.
1
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado