Akssio 0 Denunciar post Postado Dezembro 10, 2005 To fazendo um site onde o cliente vai poder fazer uploads de fotos onde estas serão gravadas em uma pasta no servidor remoto e seu nome no banco de dados... A parte do código que indica o diretório está assim: set_time_limit(0); $diretorio = "http://www.site.com.br/images"; $id_arquivo = "imagem"; $nome_arquivo = $_FILES[$id_arquivo]["name"]; $arquivo_temporario = $_FILES[$id_arquivo]["tmp_name"]; move_uploaded_file($arquivo_temporario, "$diretorio/$nome_arquivo"); No FTP já coloquei a permissão CHMOD 777 para poder gravar na pasta "images"...mas continua não gravando. Alguém tem uma explicação?? Me ajudem a encontrar o erro e como concertá-lo?? Compartilhar este post Link para o post Compartilhar em outros sites
Akssio 0 Denunciar post Postado Dezembro 10, 2005 Assim tb não deu....axo que o problema tá é no diretório(http://www.site.com.br/images)pode ser ki ele não reconheça o caminhopois tentei usando C:/..E DEU CERTO.como ficaria com o diretório sendo remoto?? Compartilhar este post Link para o post Compartilhar em outros sites
mestre fyoda 1 Denunciar post Postado Dezembro 10, 2005 tenta faze assim $nome_arquivo = $_FILES["$id_arquivo"]["name"];$arquivo_temporario = $_FILES["$id_arquivo"]["tmp_name"];mano se nao funfa você aceita que eu passe um pra você ? Compartilhar este post Link para o post Compartilhar em outros sites
Akssio 0 Denunciar post Postado Dezembro 10, 2005 Se o script não esta no mesmo host que ira salvar a pagina??o script esta dentro da página ki esta o formulário de envio da imagem e a página já esta no servidor remoto...tipo...e se eu colocasse no diretório: "ftp://ftp.site.com.br/images"... ficaria errado??..assim tb não deu certo!! Compartilhar este post Link para o post Compartilhar em outros sites
mestre fyoda 1 Denunciar post Postado Dezembro 10, 2005 passar codigo pronto , malz por nao especifica . Compartilhar este post Link para o post Compartilhar em outros sites
Akssio 0 Denunciar post Postado Dezembro 10, 2005 pode passar....ficarei muito grato! :) Compartilhar este post Link para o post Compartilhar em outros sites
Felipe_ls 0 Denunciar post Postado Dezembro 10, 2005 tenta colocar $diretorio=$_SERVER['DOCUMENT_ROOT'];Assim ele vai mandar o arquivo pra mesma pasta do script... O problema deve ser o caminho, só é ceito o caminho fisico, tipo "\www\seusite\pasta" no linux, e "c:\algumacoisa\pasta" no windows... Entendeu? Compartilhar este post Link para o post Compartilhar em outros sites
mestre fyoda 1 Denunciar post Postado Dezembro 10, 2005 logico mano , você vi presiza da uma olhadinha no codigo pra adapita-loPrimeiramente, vamos criar uma tabela no Banco de Dados: CREATE TABLE imagens (codigo INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,formato VARCHAR(255) NOT NULL,imagem BLOB NOT NULL);upload.php<?$caminho = "/caminho/para/a/pasta/"; // Coloque o caminho do servidor para a pasta onde as imagens vao ficar.if(empty($file)) {?><form method="POST">Imagem: <input type="file" name="file"><br>Formato: <select name="formato"><option value="gif">Gif</option><option value="jpeg">Jpg</option></select><br><input type="submit" value="Enviar"></form><?} elseif(!empty($file)) {$arq = $file_name;if(move_uploaded_file($file."/".$arq, $caminho."/".$arq)) {$abre = fopen($caminho."/".$arq, "r");$le = fread($abre, filesize($caminho."/".$arq));fclose($abre);$qr = "INSERT INTO imagens (formato,imagem) VALUES('".$formato."','".addslashes($le)."')";mysql_query($qr) or die(mysql_error());} else {echo "Nao foi possivel enviar a imagem!";}}?>imagem.php<?$qr = "SELECT * FROM imagens ORDER BY codigo DESC";$sql = mysql_query($qr);$l = mysql_fetch_array($sql);header("Content-type: image/".$l[formato]);echo stripslashes($l[imagem]);?>ai vai uma reclamação , gente muda esse sistema de colocar quote , eu sempre to apanhando pra colocar :) Compartilhar este post Link para o post Compartilhar em outros sites
Akssio 0 Denunciar post Postado Dezembro 10, 2005 Desculpe quando me referi a pagina, queria dizer imagem...O que quero dizer, você tem um diretorio imagem hospedado na inetrnet, certo. Seu script de upload esta rodando localmente, na minha opinião fica mais facil você fazer a transferencia da imagem utilizando funções FTP...não o que você fez...De uma lida no link que post no meu outro topicoo script também está no servidor...só ki não dentro da pasta imagens..se eu colocar o script dentro da página 'imagens' fica mais facil?? Compartilhar este post Link para o post Compartilhar em outros sites
mestre fyoda 1 Denunciar post Postado Dezembro 10, 2005 achei um script com diretorio do site . eu analisei o codigo e ta bacana , da uma olhada ai e ve se ta funfando . ta em vermelho aonde você vai ter que escolher em qual pasta vai usar , se você tiver num nivel acima tire o comentario desse codigo $dir_retira="" e comente o $dir_retira="admin/"; , caso nao esteje um nivel acima você deixa como ta e so muda o diretorio admin . <form action="upload_foto.php" method="post" enctype="multipart/form-data"> Envie sua foto para o site! <input type="file" name="foto"><BR> <input type="submit" value="Enviar Foto!"> </form> upload_foto.php if($erro==0) { //processa e verifica o upload da foto do usuário: $erro = $config = array(); // Prepara a variável do arquivo $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE; // Tamanho máximo do arquivo (em bytes) $config["tamanho"] = 25000; // Largura máxima (pixels) $config["largura"] = 96; // Altura máxima (pixels) $config["altura"] = 96; // Formulário postado... executa as ações if ($arquivo) { // Verifica se o mime-type do arquivo é de imagem if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"])) { $erro[] = "<font color=\"#FF0000\" size=\"1\" face=\"Verdana\">Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo</font>"; } else { // Verifica tamanho do arquivo if ($arquivo["size"] > $config["tamanho"]) { $erro[] = "<font color=\"#FF0000\" size=\"1\" face=\"Verdana\">Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo</font>"; } // Para verificar as dimensões da imagem $tamanhos = getimagesize($arquivo["tmp_name"]); // Verifica largura if ($tamanhos[0] > $config["largura"]) { $erro[] = "<font color=\"#FF0000\" size=\"1\" face=\"Verdana\">Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels</font>"; } // Verifica altura if ($tamanhos[1] > $config["altura"]) { $erro[] = "<font color=\"#FF0000\" size=\"1\" face=\"Verdana\">Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels</font>"; } } // Imprime as mensagens de erro if (sizeof($erro)) { /* compensa você deixar direto uma imagem "blank.gif" e quando for salvar se der o erro.. apenas gardar o caminho do arquivo*/ $caminho = pathinfo(__file__); $imagem_dir = $caminho['dirname']."/fotos/blank.jpg"; foreach ($erro as $err) { echo " - " . $err . "<BR>"; } echo "<a href=\"upload_foto.php\">Fazer Upload de Outra Imagem</a>"; } // Verificação de dados OK, nenhum erro ocorrido, executa então o upload... else { // Pega extensão do arquivo preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); // Gera um nome único para a imagem $imagem_nome = md5(uniqid(time())) . "." . $ext[1]; /* Caminho de onde a imagem ficará (Modifiquei agora ele vai descobrir o arquivo real do do diretório). Se colocasse do jeito que postei anteriormente daria erro*/ $dir_retira="admin/"; /*coloque se a pasta de destino estiver a um nivel acima. deixe $dir_retira="" caso não este diretório */ $caminho = pathinfo(__file__); $menos_adm = strlen($caminho['dirname'])- strlen($dir_retira); /* conta quantas strings tem o caminho menos a pasta espeficifaca */ $diretorios = substr($caminho['dirname'], 0, $menos_adm); /* então não pega este ultimo diretório */ $imagem_dir = "$diretorios/fotos/$imagem_nome"; // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $imagem_dir); $declar = "INSERT INTO `tab_users_temp` (`idt` , `nome` , `nick` , `idade` , `sexo` , `cidade` , `estado` , `pais` , `msn` , `email` , `url` , `foto` , `login` , `senha` , `interesses` ) VALUES ('$idt' , '$nome' , '$nick' , '$idade' , '$sexo' , '$cidade' , '$estado' , '$pais' , '$msn' , '$email' , '$url' , '$imagem_nome' , '$login', '$senha' , '$interesses');"; mysql_db_query ($bd, $declar, $conec); echo ("<font color=\"#000000\" size=\"1\" face=\"Verdana\">Seu cadastro foi concluído com sucesso. O cadastro passará por uma verificação dos Administradores. Se tudo correto, o cadastro será liberado.<br>O painel de alteração/exclusão de cadastro será liberado em breve.</font> <p><font color=\"#000000\" size=\"1\" face=\"Verdana\"><a href=\"membros.php\">Clique aqui</a> para ver a pagina de membros.</font></p>"); } mysql_close ($conexao); }} Compartilhar este post Link para o post Compartilhar em outros sites
Akssio 0 Denunciar post Postado Dezembro 12, 2005 Não conseguir fazer esse outro jeito.. Este é o código completo ....tentei usar funções FTP if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $arquivo = $_FILES["imagem"]; $arquivo_nome = $arquivo ["name"]; $insertSQL = sprintf("INSERT INTO eventos (imagem, comentario, link) VALUES ('$arquivo_nome', %s, %s)", GetSQLValueString($_POST["comentario"], "text"), GetSQLValueString($_POST["link"], "text")); $conx = ftp_connect("ftp.site.com.br","21"); $login = ftp_login ($conx, "site.com.br", "senha"); $chmod_cmd = "CHMOD 0777 "; $chmod = ftp_site($conx, $chmod_cmd); $upload = ftp_put($conx, '/image/'.$arquivo_nome, $_FILES["imagem"], FTP_ASCII); mysql_select_db($database_noticias, $noticias); $Result1 = mysql_query($insertSQL, $noticias) or die(mysql_error()); $insertGoTo = "sucesso.htm"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); } mysql_select_db($database_noticias, $noticias); $query_rseventos = "SELECT * FROM eventos ORDER BY id DESC"; $rseventos = mysql_query($query_rseventos, $noticias) or die(mysql_error()); $row_rseventos = mysql_fetch_assoc($rseventos); $totalRows_rseventos = mysql_num_rows($rseventos); ?> O que está errado.??? Compartilhar este post Link para o post Compartilhar em outros sites
Andre Summers 0 Denunciar post Postado Dezembro 12, 2005 nao entendi muito bempodem explicar melhor? Compartilhar este post Link para o post Compartilhar em outros sites
Akssio 0 Denunciar post Postado Dezembro 13, 2005 Desculpe pela demora...é ki deu um problema na mina net!!..é o seguinte...tenho uma página e o próprio cliente vai poder fazer o upload das fotos.Essas fotos através do upload deverá ser gravada na pasta "imagem" no servidor remoto.o caminho da imagem será gravado no banco de dados....para o upload tentei usar funções FTP mas naum deu certo....confere ai encima..!!! Compartilhar este post Link para o post Compartilhar em outros sites
Akssio 0 Denunciar post Postado Dezembro 13, 2005 dá uma olhada naquela parte assim: $upload = ftp_put($conx,'/image/'.$arquivo_nome, $_FILES["imagem"], FTP_ASCII); Este $_FILES["imagem"], esta com o endereço da imagem no pc! posso usa-lo neste local?? Compartilhar este post Link para o post Compartilhar em outros sites