Ir para conteúdo

POWERED BY:

Arquivado

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

gabrielfalieri

Como fazer o php criar variável?

Recommended Posts

Bom dia.

Pode parecer estranho, mas estou precisando que o php crie variáveis dinamicamente.

Eu estou com um problema que é o seguinte.

Eu estou fazendo um upload de arquivo, e esse conteúdo do arquivo salvando dentro do banco de dados.

#NOTE: Changing any part of this file will invalidate the license.
#Mon Jun 27 18:29:59 UTC 2016
site-servers-licensed=1
organization-type=COMMERCIAL
issued-by=PaperCut Software International Pty. Ltd.
edition=MF
advanced-clients-licensed=2
modules-licensed=PRINT
licensed-version=16
release-stations-licensed=1
issued-date=2016-06-27
order-reference=95994
customer-reference-no=C-42ZQHG
users-purchased=350
expiry-date=indefinite
unique-id=1467052199815
ext-devices-print-release-card=14
created-by=brenda.beenken@papercut.com
updates-expiry-policy=ALLOW_UPDATES_WITHIN_SAME_VERSION
support-expiry-date=2017-06-27
users-licensed=350
organization-name=Camara Interbancaria de Pagamentos-CIP
updates-expiry-date=2017-06-27
signature=kDHDdJH7aB2Pck5LaViVMF52VXxI8XrhVbY/GboUFuTZB5S8TeOuBJgxv5NkxHgFMLUpIXnfHoR59nASgpCB3G9VcD545L0hWy+Rh9CvdFrukEXg+IQmze4t2Y8D5ne3dZrgX0G5Aa4LvPUgQXSezIGsKXWQGsVZ9k4fQEo27l0=

Só que esse conteúdo dos arquivos podem variar, e a líder da minha equipe criou conteúdos básicos, quer que assim que eu encontrar algo que não existe, dar um alter table na tabela e inserir esse conteúdo também... só que isso mexeria no meu crud, ai teria que criar essa variável e seta-la para inserir.. alguém tem ideia de como fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito bem o que quer com essa variável dinâmica.

Mas você não pode simplesmente dar um parse nesse arquivo e salvar o conteúdo dele num banco de dados?

Ps.: se é isso que já está fazendo, então eu ainda não entendi seu problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse arquivo que você está enviando é parseável? Ele pode tem ser verificado linha a linha e substituída apenas a linha que foi alterada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, é isso que estou fazendo, mas esse conteúdo pode variar, então eu teria que mexer no meu crud, toda vez que achar um diferente, teria que fazer uma setagem nova como essas por exemplo.

    private $usersLicensed;
    private $organizationName;
    private $updateExpiryDate;
    private $signature;
 
    public function setUsersLicensed($usersLicensed) {
        $this->usersLicensed = $usersLicensed;
    }
    public function setOrganizationName($organizationName) {
        $this->organizationName = $organizationName;
    }
    public function setUpdateExpiryDate($updateExpireDate){
         $this->updateExpiryDate = $updateExpireDate;
    }
    public function setSignature($signature) {
         $this->signature = $signature;
    }
    


Ai vamos supor que acha um campo no arquivo que não tenho no meu php, chamado ext-devices-samsung

Teria que criar o $extDevicesSamsung
fazer a function de setar ela e colocar ela no parametro do insert

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia pessoal

Eu estou tentando criar um array com todo o conteúdo que eu pegar do arquivo que eu quero.

O que tem de errado?

public function pegarDadosArquivo($arquivo) {

        try {

            //Abre o arquivo
            $file = fopen($arquivo, "r+");

            //lê arquivo até o final
            while (!feof($file)) {

                $linha = fgets($file, 4096);
                $ignorado = "#";
                $pos = strripos($linha, $ignorado); //verificamos se ele está na linha, se estiver é ignorado
                if ($pos === false) {

                    $separacao = explode("=", $linha);
                    if ($linha != $separacao[0]) {
                        $matriz = array(
                            "campos" => array($separacao[0]),
                            "values" => array($separacao[1])
                        );
                    }
                    
                    return $matriz;
                }
            }
            //fecha o ponteiro do arquivo
            fclose($file);
        } catch (Exception $ex) {
            echo $ex->getMessage();
        }
    }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Favor, evite o up, conforme descrito nas regras e orientações do fórum

 

Além do mais, o return é provavelmente o seu problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fundindo os tópicos, não duplique o desdobrando do assunto em vários tópicos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em primeiro lugar, você não está criando nenhum array. Em segundo, é importante entender o funcionamento do return, assim você entenderá o porquê de não retornar o array.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu queria fazer com que a medida que ele passasse do if ($linha != $separacao[0]), fosse adicionando em um array separado todo o seu conteúdo, mas como ele vai lendo linha por linha, teria que adicionando vez por vez nessa matriz..
Assim que parece de ler retornasse a matriz

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato, mas o que você programou não está fazendo isso, por causa dos seguintes trechos de código:

$matriz = array(
    "campos" => array($separacao[0]),
    "values" => array($separacao[1])
);

E este:

return $matriz;

O primeiro não está criando o array e o segundo está retornando antes da hora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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