-
Similar Content
-
By joeythai
Boa tarde pessoal,
Tenho uma API para enviad dados via XML, eu salvo esse xml em um arquivo físico, os dados no arquivo físico me retornam 2 registros com todas as TAGs certinho, porém, quando eu pego a url e mando no browser, esses registros duplicam, alguém sabe o porque disso ? Estou utilizando laravel e a biblioteca DomDocument do PHP. O código esse abaixo:
<code>
<?php namespace App\Http\Controllers\API\V1\Integracao; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Support\Facades\Validator; use Illuminate\Validation\ValidationException; use App\Services\ToArray; use App\Exceptions\ApiException; use App\Http\Controllers\AppBaseController; use Illuminate\Support\Str; use App\Model\MySql\Site\IntegracaoModel as Integracao; use App\Model\MySql\Site\AuxFotosModel; use DOMDocument; /** * * Classe criada para retornar informações dos imóveis do site da Sodré * e integrar com o Zap e Viva Real * */ class IntegracaoController extends AppBaseController { private $infos; private $integracao; private $urlImagem = "https://fotos.sodresantoro.com.br/fotos.imoveis/"; public function __construct(Integracao $integracao) { $this->integracao = $integracao; } public function index() { $dadosImoveis = $this->integracao->imoveis(); #versao do encoding xml $dom = new DOMDocument("1.0", "UTF-8"); #retirar os espacos em branco $dom->preserveWhiteSpace = false; #gerar o codigo $dom->formatOutput = true; #criando o nó principal (root) $root = $dom->createElement("ListingDataFeed"); $domAttrXMLNS = $dom->createAttribute("xmlns"); $domAttrXMLNS->value = 'http://www.vivareal.com/schemas/1.0/VRSync'; $domAttrXMLNSXSI = $dom->createAttribute("xmlns:xsi"); $domAttrXMLNSXSI->value = "http://www.w3.org/2001/XMLSchema-instance"; $domSchemaLocation = $dom->createAttribute("xsi:schemaLocation"); $domSchemaLocation->value = "http://www.vivareal.com/schemas/1.0/VRSync"; #nó filho $listings = $dom->createElement("Listings"); foreach ($dadosImoveis as $imoveis) { $listing = $dom->createElement("Listing"); $details = $dom->createElement("Details"); $media = $dom->createElement("Media"); foreach ($imoveis->imagens as $key => $imagem) { $this->infos['imagem'] = $this->urlImagem . $imagem->nome; $item = $dom->createElement("Item", $this->infos['imagem']); #adiciona atributos nos elementos $domAttrImage = $dom->createAttribute("medium"); $domAttrImage->value = "image"; $domAttrCap = $dom->createAttribute("caption"); $domAttrCap->value = "img" . $key++; $domAttrPrimary = $dom->createAttribute("primary"); $domAttrPrimary->value = "true"; $item->appendChild($domAttrCap); $item->appendChild($domAttrImage); $media->appendChild($item); } $this->infos['lance_inicial'] = $imoveis->vl_lanceinicial; $this->infos['title'] = $imoveis->title; $this->infos['descricao'] = $imoveis->descricao; $this->infos['lote_id'] = $imoveis->lote_id; $this->infos['endereco'] = $imoveis->Endereco; $this->infos['imagem'] = ''; //Faço o explode para poder fazer o envio(API não aceita casas decimais) //Para consultar: https://developers.grupozap.com/feeds/vrsync/elements/details/#list-price $preco = explode('.', $this->infos['lance_inicial']); $listPrice = $dom->createElement("ListPrice", $preco[0]); $description = $dom->createElement("Description", htmlspecialchars(str_limit($this->infos['descricao'], 2000))); $title = $dom->createElement("Title", $this->infos['title']); $listingID = $dom->createElement("ListingID", $this->infos['lote_id']); $transactionType = $dom->createElement("TransactionType", "For Sale"); $usageType = $dom->createElement("UsageType", "Residential"); $propertyType = $dom->createElement("PropertyType", "Residential / Apartment"); #adiciona os nós $details->appendChild($usageType); $details->appendChild($propertyType); $details->appendChild($description); $details->appendChild($listPrice); $listing->appendChild($title); $listing->appendChild($listingID); $listing->appendChild($transactionType); $listing->appendChild($details); $listing->appendChild($media); $listings->appendChild($listing); } $root->appendChild($listings); $root->appendChild($domAttrXMLNS); $root->appendChild($domAttrXMLNSXSI); $root->appendChild($domSchemaLocation); $dom->appendChild($root); # Para salvar o arquivo, descomente a linha $dom->save("listagem-imoveis.xml"); #cabeçalho da página #header("Content-Type: text/xml"); # imprime o xml na tela print $dom->saveXML(); return response($dom->saveXML()); } public function download() { return response()->file(public_path('listagem-imoveis.xml', 'Imóveis')); } } </code>
-
By samuelsennev
Fala pessoal, beleza?
Então, estou tendo esse problema com o laravel 7. O que acontece é: tenho um formulário que manda alguns inputs para o método store(Request $request)--estrutura resource do laravel--, que por sua vez salva no banco de dados. Porém, a aplicação está caindo em uma página em branco antes de chegar no próprio método store.
O engraçado é que semana passada funcionava (inclusive salvava os registros no bd)... não fiz alterações que comprometem a rota. Simplesmente parou de funcionar. A aplicação me retorna uma página em branco.
Vale lembrar:
- A aplicação nem chega no controller;
- Na primeira linha do método store(Request $request) tem um "dd($request);" para ver o que está chegando... ele nunca retorna a requisição na tela. Logo, presumo que o erro é na rota mesmo.
A rota dentro de web.php: Route::get('/paginaPrincipal-5w2h', 'PT\PT_FiveTwoController@index')->name('index-5w'); Route::post('/salvando-5w2h', 'PT\PT_FiveTwoController@armazenar')->name('salvar-5w'); ------------------------------------------------------------------------------------------------------------------ O formulário da view: <form action="{{route('salvar-5w')}}" method="POST"> @csrf <div class="row"> <div class="col-lg-12S"> <div class="iq-card" > <div class="iq-card-header d-flex justify-content-between" style="border:none;"> <div class="row"> <div class="col-lg-6" style="padding-top: 2%; font-size: 18px;"> <label style="display: inline;">Nome: </label> </div> <div class="col-lg-6"> <input type="text" name="nome" class="form-control round" style="width: 200%;" placeholder="Seu nome..." > </div> </div> </div> </div> </div> </div> <button style="margin-left:90%; margin-bottom: 2%; padding:8px 16px ;" class="btn btn-primary">Salvar</button> </form> -----(A aplicação chega em index() tranquilamente, porém, em armazenar() não)----- O controller: namespace App\Http\Controllers\PT; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Auth; class PT_FiveTwoController extends Controller { public function index() { $user_id = Auth::id(); $data = DB::table('5w2h')->select()->where('user_id', $user_id)->get(); // dd($data); return view('tools.5w2h', ['data' => $data]); } public function armazenar(Request $request) { dd($request); } }
-
By Wallcrawler
Olá pessoal tudo bem? Estou tentando fazer a cópia de uma imagem que está disponível na web e salvar em uma pasta no meu projeto. Essa imagem está sob protocolo SSL mas navegador consegue acessá-la normalmente. Mas o meu script php é bloqueado, e não entendo o porquê.
Segue o código que estou usando:
<?php //error_reporting(E_ALL ^ E_DEPRECATED); //ini_set('display_errors', 1); //die('Script travado!'); $start = microtime(true); set_time_limit(0); function save_image($inPath,$outPath) { //Download images from remote server $in = fopen($inPath, 'rb'); $out = fopen($outPath, 'wb'); while ($chunk = fread($in,8192)) { fwrite($out, $chunk, 8192); } fclose($in); fclose($out); } include_once ($_SERVER['DOCUMENT_ROOT'] . '/grpi/include/classes/Rpi.class.php'); include_once ($_SERVER['DOCUMENT_ROOT'] . '/grpi/include/functions.class.php'); $func = new FuncoesAuxiliares(); $rpi = new Rpi(); if(!isset($_GET['num_processo'])) { $rows = $rpi->Consulta('select num_processo, classe, especificacao from processos order by num_processo ASC limit 1'); } else { $rows = $rpi->Consulta("select num_processo, classe, especificacao from processos where num_processo > '" . $_GET['num_processo'] . "' order by num_processo ASC limit 1"); } $registros = 0; $arrayInsert = array(); $qtd_caracteres_total = 14; foreach ($rows as $rs) { //$rs['num_processo'] $zeros = ''; $qtd_char_processo = strlen($rs['num_processo']); //Fill zeros for($i=0; $i < ($qtd_caracteres_total - $qtd_char_processo); $i++) { $zeros .= '0'; } echo('BR5' . $zeros . $rs['num_processo'] . '<br>'); $url = 'http://www.tmdn.org/tmview/trademark/image/BR5' . $zeros . $rs['num_processo']; //Aqui tento acessar a imagem e salvar na pasta correspondente save_image($url, __DIR__ .'/logo/' . $rs['num_processo'] . '.jpg'); //copy('https://www.tmdn.org/tmview/trademark/image/BR5' . $zeros . $rs['num_processo'], __DIR__ .'/logo/' . $rs['num_processo'] . '.jpg'); $processo = $rs['num_processo']; $registros++; } $registros = number_format($registros, 0, ',', '.'); // Display Script End time $time_end = microtime(true); //dividing with 60 will give the execution time in minutes other wise seconds $execution_time = ($time_end - $start)/60; //execution time of the script echo '<b>Total Execution Time:</b> '. $execution_time .' Mins <hr><br><br>Registros: ' . $registros . '<br><br>'; echo("<a href='down_logo.php?num_processo=" . $processo ."' target='_self'>Próxima página</a><br><br>"); ?> O erro retornado é o seguinte:
Warning: fopen(): SSL: Connection reset by peer in /home/storage/8/23/2c/euregistrogrpi/public_html/grpiv2/rpi/down_logo.php on line 10
Warning: fopen(http://www.tmdn.org/tmview/trademark/image/BR500000825642590): failed to open stream: HTTP request failed! in /home/storage/8/23/2c/euregistrogrpi/public_html/grpiv2/rpi/down_logo.php on line 10
Warning: fread() expects parameter 1 to be resource, boolean given in /home/storage/8/23/2c/euregistrogrpi/public_html/grpiv2/rpi/down_logo.php on line 12
Warning: fclose() expects parameter 1 to be resource, boolean given in /home/storage/8/23/2c/euregistrogrpi/public_html/grpiv2/rpi/down_logo.php on line 16
Só que se você tentar acessar o endereço no browser, diretamente, a imagem aparece:
https://www.tmdn.org/tmview/trademark/image/BR500000825642590
Onde posso estar errando? Obrigado pela atenção de todos.
-
By Bruno Ferreira da Silva
Estou utilizando laravel 5.8.
Meu problema é o seguinte, estou realizando o login com usuário e senha. O sistema entra na condição e debuga corretamente o usuário logado. e no mesmo momento que eu altero a url para ..../dashboard, ele redireciona como se estivesse deslogando. mas na segunda tentativa isso não acontece, ele realiza o login normalmente. Ai isso se repete sempre que troca de usuário.
O controller da dashboard chama apenas a view e mais nada.
public function authenticate(Request $request) { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { dd(Auth::user()); return redirect()->intended('dashboard'); } }
-
By Chris Martin
Pessoal, estou com um problema com relacionamentos no laravel. (Inclusive pode ser até falta de atenção minha), mas quebrei a cabeça demais e não consegui; Tenho as tabelas 'arquiteto' e 'cliente' e um arquiteto tem vários clientes, só que não consegui fazer o relacionamento aparecer na tabela 'cliente' tenho o campo `arquiteto_id' que referencia o 'id' da tabela 'arquitetos', só que quando fiz a relação na model Arquiteto ela não está aparecendo class Arquiteto extends Model{ protected $fillable = [...]; public function clientes() { return $this->hasMany('App\Cliente'); } }
-
Boa noite pessoa! Como vão?
Meu site foi feito em laravel e está rodando em hospedagem compartilhada, tudo funciona bem, menos as imagens quando são feitos upload (aparecem um x e não carrega imagem),
O site grava as fotos corretamente no diretório public/uploads e carrega no diretório raiz a pasta uploads (onde não tem nenhuma imagem). Como faço para trocar a instrução de puxar a imagem em public/uploads ao invés da pasta uploads?
abs.
Share this post
Link to post
Share on other sites