Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Augusto Medeiros

Erro no envio de imagem para Avatar do Wordpress

Recommended Posts

Crie um fomulário de cadastro de usuário e um controllercadastro para inserir dados na tabelas wp_usermeta
wp_posts e wp_postmeta no entanto quando tento mover a imagem do avatar ela aparece enviada para a midia do wordpress mas quando vou no perfil ela aparece como link quebrado e a imagem não é adicionada no cadastro segue o form e o arquivo php. 

 

page-cadastro.php

<?php /* Template Name: Cadastro */  ?>

<?php get_header(); ?>

<body class='cadastro_page'>
    <form name="FormCadastro" id="FormCadastro" action="<?php echo site_url().'/controllercadastro' ?>" method="post"
        enctype="multipart/form-data">
        <div class="CadastroFormulario">
            <input type="text" name="Nome" id="Nome" placeholder="Nome" required>
        </div>
        <div class="CadastroFormulario">
            <input type="text" name="Sobrenome" id="Sobrenome" placeholder="Sobrenome" required>
        </div>
        <div class="CadastroFormulario">
            <input type="email" name="Email" id="Email" placeholder="Email" required>
        </div>
        <div class="CadastroFormulario">
            <input type="text" name="Site" id="Site" placeholder="Rede Social">
        </div>
        <div class="CadastroFormulario">
            <input type="text" name="Usuario" id="Usuario" placeholder="Usuário" required>
        </div>
        <div class="CadastroFormulario">
            <input type="password" name="Senha" id="Senha" placeholder="Senha" required>
        </div>
        <div class="CadastroFormulario">
            <input type="password" name="ConfSenha" id="ConfSenha" placeholder="Confirmar a Senha" required>
        </div>
        <div class="CadastroFormulario">
            Foto do perfil <input type="file" name="Imagem[]" id="Imagem"><input type="submit" value="Cadastrar">
        </div>
    </form>

    <?php get_footer(); ?>

controllercadastro.php

<?php /* Template Name: Controller Cadastro */  ?>
<?php
$Id=0;
$Nome=filter_input(INPUT_POST,'Nome',FILTER_SANITIZE_SPECIAL_CHARS);
$Sobrenome=filter_input(INPUT_POST,'Sobrenome',FILTER_SANITIZE_SPECIAL_CHARS);
$Email=filter_input(INPUT_POST,'Email',FILTER_SANITIZE_SPECIAL_CHARS);
$Site=filter_input(INPUT_POST,'Site',FILTER_SANITIZE_SPECIAL_CHARS);
$Usuario=filter_input(INPUT_POST,'Usuario',FILTER_SANITIZE_SPECIAL_CHARS);
$Senha=filter_input(INPUT_POST,'Senha',FILTER_SANITIZE_SPECIAL_CHARS);
$ConfSenha=filter_input(INPUT_POST,'ConfSenha',FILTER_SANITIZE_SPECIAL_CHARS);
$Imagem=$_FILES['Imagem']['tmp_name'];
$Imagem2=$_FILES['Imagem']['name'];
$TesteUsuario=$wpdb->get_results("select * from wp_users where user_login='$Usuario' or user_email='$Email'");
$NomeCompleto=$Nome.' '.$Sobrenome;
$Data=date('Y-m-d g:i:s');
$hash = wp_hash_password($Senha);
$rand=rand(0,1000000);

if($Senha != $ConfSenha){
	echo "Senha diferente de confirmação de senha";
}elseif(count($TesteUsuario) > 0){
	echo "Usuário já existe";
}else {
	$wpdb->get_results("insert into wp_users values(
    '$Id',
    '$Usuario',
    '$hash',
    '$Usuario',
    '$Email',
    '$Site',
    '$Data',
    '',
    '0',
    '$Usuario'
    )"
	);
}

$IDUsuario=$wpdb->get_results("select * from wp_users where user_login = '$Usuario'");
foreach($IDUsuario as $IDUsuarios){
    $IDFinal=$IDUsuarios->ID;
}
$IDUltimoPost=$wpdb->get_results("select * from wp_posts order by ID desc limit 1");
foreach($IDUltimoPost as $IDUltimoPosts){
    $IDPostFinal=$IDUltimoPosts->ID + 1;
}              
/*    INSERT WP_USERMETA      */

$wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}' )");
$wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'wp_user_level', '10' )");
$wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'nickname', '$Usuario' )");
$wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'first_name', '$Nome' )");
$wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'last_name', '$Sobrenome' )");
$wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'locale', 'pt_BR' )");
$wpdb->get_results("insert into wp_usermeta values( '$Id', '$IDFinal', 'wp_user_avatar', '$IDPostFinal' )");

/*    INSERT WP_posts         */

$wpdb->get_results("insert into wp_posts values ('$IDPostFinal', '$IDFinal', '$Data', '$Data', '', '$rand-$Imagem2[0]', '', 'inherit', 'open', 'closed', '', '$rand-$Imagem2[0]', '', '', '$Data', '$Data', '', '0', '$_SERVER[DOCUMENT_ROOT]/wp-content/uploads/Perfil/', '0', 'attachment', 'image/jpeg', '0')");

/*    INSERT WP_POSTMETA     */

$wpdb->get_results("insert into wp_postmeta values( '$Id', '$IDPostFinal', '_wp_attachment_wp_user_avatar', '$IDFinal' )");
$wpdb->get_results("insert into wp_postmeta values( '$Id', '$IDPostFinal', '_wp_attached_file', 'Perfil/$rand-$Imagem2[0]' )");
$wpdb->get_results("insert into wp_postmeta values( '$Id', '$IDPostFinal', '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1024;s:6:\"height\";i:768;s:4:\"file\";s:20:\"Perfil/$rand-$Imagem2[0]\";s:5:\"sizes\";a:4:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:20:\"2019/07/$rand-$Imagem2[0]\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:20:\"2019/07/$rand-$Imagem2[0]\";s:5:\"width\";i:300;s:6:\"height\";i:225;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:20:\"2019/07/$rand-$Imagem2[0]\";s:5:\"width\";i:768;s:6:\"height\";i:576;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:21:\"2019/07/$rand-$Imagem2[0]\";s:5:\"width\";i:1024;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:6:\"Corbis\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:10:\"1203311251\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}' )"); 
   
/** mover arquivo para pasta PERFIL */

move_uploaded_file($Imagem[0],$_SERVER['DOCUMENT_ROOT']."/wp-content/uploads/Perfil/$rand-$Imagem2[0]");
   echo "Usuário cadastrado com sucesso!";

?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Leonardo Geja
      Olá galera, resolvi criar um canal para postar vídeos sobre WordPress.
      Tudo que aprendi estarei colocando lá então para quem quiser dar uma olhada e se inscrever link a baixo.
      Peguem leve, canal novo então tenham paciência .
      Canal youtube (Clique aqui)
    • Por Sérgio R. Junior
      Bom dia pessoal, preciso de um help!
      Tenho um cliente que tem hospedado o site no Digital Ocean (vpn), foi passado para mim o login e senha para acessar o FTP do servidor onde o site ta hospedado, mais o que acontece é o seguinte:

       
      O de cima é o meu acesso (mesma autenticação login e senha e sftp) só que não consigo logar enquanto o de baixo (cliente consegue)
      Alguém sabe o porque e como resolver?
    • Por petelekko
      Olá galera,
       
      Não consigo encontrar o erro no código abaixo. Vejam que no erro gerado aparece a mensagem de arquivo enviado. Mas não é removido para a pasta! Grato pela ajuda!!!
       
      HTML
       
      <form action="upload.php" method="post" enctype="multipart/form-data">
         Escolha o arquivo para envio (pdf):<input type="file" value="Selecionar arquivo" name="arquivo">
         <input type="submit" value="Enviar arquivo" name="enviar">
      </form>
       
      PHP
       
      <?php
         $diretorio = 'arquivos/';
         $arquivo = $diretorio . basename($_FILES['arquivo']['name']);
         $envio = 1;
         $imagemArquivo = pathinfo($arquivo,PATHINFO_EXTENSION);
         // Verifica se o arquivo é um pdf
         if(isset($_POST['arquivo'])) {
            $check = getimagesize($_FILES['arquivo']['tmp_name']);
            if($check !== false) {
              echo "Arquivo eh um pdf!" . $check['mime'] . ".";
              $envio = 1;
            } else {
              echo "Arquivo nao eh um pdf!";
              $envio = 0;
            }
            return;
         }
         // Verifica se o arquivo já existe
         if (file_exists($arquivo)) {
            echo "Desculpe, o arquivo ja foi enviado!";
            $envio = 0;
            return;
         }
         // Verifica o tamanho do arquivo
         if ($_FILES['arquivo']['size'] > 2000000) {
            echo "Desculpe, o tamanho maximo de envio eh 2 MegaBytes!";
            $envio = 0;
            return;
         }
         // Permitir apenas pdf
         if($imagemArquivo != 'pdf') {
            echo "Desculpe, somente pdf eh permitido!";
            $envio = 0;
            return;
         }
        //Envio do arquivo
         if ($envio == 1) {
            move_uploaded_file($_FILES['arquivo']['tmp_name'], $arquivo);
            echo "O arquivo". $_FILES['arquivo']['name']. "foi enviado!";
         }else{
               echo "Desculpe, houve um erro ao enviar seu arquivo!";
         }
         return;
      ?>
       
      ERRO GERADO AO TENTAR ENVIAR UM PDF
       
      Warning: move_uploaded_file(arquivos/PSAD_2017_1.pdf) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/storage/d/0e/7c/siezonasul1/public_html/php/upload.php on line 44

      Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/home/storage/d/0e/7c/siezonasul1/tmp/phpadTaOn' to 'arquivos/PSAD_2017_1.pdf' in /home/storage/d/0e/7c/siezonasul1/public_html/php/upload.php on line 44
      O arquivo PSAD_2017_1.pdf foi enviado!
       
       
       
    • Por Csilvestre
      Oi Galera,
      Eu estou desenvolvendo um site para um novo projeto meu e queria colocar um efeito de fade-in em algumas partes dele para carregar conforme o usuário for descendo o site, eu nunca fiz isso em um site e até vi uns tutoriais na internet e tentei aplica-lós no site, o problema é que ele é em wordpress dai tentei ir editando pelo editor e não funcionou e acabou bugando muita coisa no site, por sorte eu tinha backup.
      O Site é http://improvecuritiba.com.br/ e eu queria colocar fade nessas partes:


       
      Já tentei diversas vezes e de diversos modos mas sem sucesso, alguém já fez isso em site wordpress e se sim como?
      Obrigado desde já!
    • Por Rodolfo Andrade
      Galera, estou trabalhando em um projeto que possui uma funcionalidade de upload e download de arquivos.
      Porém, estou com um probleminha e não consigo resolver mesmo depois de várias pesquisas.
      O upload do arquivo está sendo feito e cadastrando as informações no banco normalmente. Mas se for feito o upload do arquivo com o mesmo nome, o arquivo que já existe é sobrescrito.
      Tentei criar uma condição pra que o arquivo seja renomeado caso já exista através do file_exists(), mas não funciona de jeito nenhum.
      Gostaria da ajuda de vocês quanto a isso!
      <?php require ("conectfile.php"); require ("zipar.class.php"); $msg = false; //mensagem de erro. if (isset($_POST['enviar'])) { $arq = $_FILES['arquivo']['name']; $arq = str_replace(" ","_",$arq);// o método "str_replace" faz substituição de caracteres. $arq = str_replace("á","a",$arq); $arq = str_replace("à","a",$arq); $arq = str_replace("ã","a",$arq); $arq = str_replace("â","a",$arq); $arq = str_replace("é","e",$arq); $arq = str_replace("ê","e",$arq); $arq = str_replace("í","i",$arq); $arq = str_replace("ô","o",$arq); $arq = str_replace("õ","o",$arq); $arq = str_replace("ó","o",$arq); $arq = str_replace("ú","u",$arq); $arq = str_replace("ü","u",$arq); $arq = str_replace("ç","c",$arq); $arq = strtolower($arq);//o método "strtolower" converte as letras para minúsculo $drct = "C:/xampp/htdocs/testes/up_down/"; $a = 1; $insrt = $cnct_arq -> prepare("INSERT INTO arq_teste (id, arquivo, data_arq) VALUES (null, '$arq.zip', NOW())"); $insrt -> execute(); if ($insrt->rowCount()>0 && file_exists($drct.$arq))/*verifica se o arquivo existe*/{ //condição de verificação de duplicidade do nome do arquivo. rename($arq, "(".$a.")".$aqr);//renomeia o arquivo "rename(nome_antigo, nome_novo)" while(file_exists($drct."(".$a.")".$aqr)){ $a++; } echo "Arquivo renomeado!"; move_uploaded_file($_FILES['arquivo']['tmp_name'],$drct.$arq); $zip = new zipar(); $zip->ziparArq($arq, $arq.".zip", $drct); unlink($drct.$arq);//exclui o arquivo original. $msg = "Arquivo enviado com sucesso!"; }elseif ($insrt->rowCount()>0){ move_uploaded_file($_FILES['arquivo']['tmp_name'],$drct.$arq); $zip = new zipar(); $zip->ziparArq($arq, $arq.".zip", $drct); unlink($drct.$arq);//exclui o arquivo original. $msg = "Arquivo enviado com sucesso!"; }else{ $msg = "Falha ao enviar o arquivo."; } } ?> <form method="post" action="formuploadfile.php" enctype="multipart/form-data"> <h2>Envio de arquivos</h2> <label>Selecionar arquivo: </label> <input type="file" name="arquivo" /> <input type="submit" name="enviar" value="Enviar" /> <?php if ($msg != false){ echo "<p> $msg </p>"; } ?> </form> <table cellpadding="3" cellspacing="0" border="0"> <thead> <tr> <td width="200">NOME DO ARQUIVO</td> <td width="250">DATA DE MODIFICAÇÃO</td> <td width="200">DOWNLOAD</td> </tr> </thead> <tbody> <?php $sqlShow = "SELECT * FROM arq_teste"; try{ $show = $cnct_arq -> prepare($sqlShow); $show -> execute(); }catch(PDOException $e){ echo $e->getMessage(); } while($showfield = $show->fetch(PDO::FETCH_ASSOC)){ ?> <tr> <td><?php echo $showfield["arquivo"] ?></td> <td><?php echo $showfield["data_arq"] ?></td> <td><a href="up_down/<?php echo $showfield["arquivo"] ?>">Download</a></td> </tr> <?php } ?> </tbody> </table>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.