0

Converter table em .XLS

1º passo o código PHP


public function exportarAction() {
        $this->layout = false;
        $db = new $this->model();
        $this->views['dados'] = $db->Lista();
    }

2º passo o codigo HTML

<?php

header("Pragma: public");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: pre-check=0, post-check=0, max-age=0");
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: none");
header("Content-Type: application/vnd.ms-excel;");
header("Content-type: application/x-msexcel");
header("Content-Disposition: attachment; filename=produtos-" . date('Ymd') . ".xls");

?>



<html>

    <body>

        <table border="1">
            <tr>
                <th style="background: #D7D7D7">CODIGO</th> 
                <th style="background: #D7D7D7">NOME</th>
                <th style="background: #D7D7D7">MARCA</th>
                <th style="background: #D7D7D7">VALOR</th>

            </tr>

            <?php foreach($THIS->views['dados'] as $row): ?>
                <tr>
                    <td align="center">
                        <?= utf8_decode($row["codigo"]); ?>
                    </td>
                    <td align="center">
                        <?= utf8_decode($row["nome"]); ?>
                    </td>
                    <td align="center">
                        <?= utf8_decode($row["nome_marca"]); ?>
                    </td>
                    <td align="center">
                       R$ <?php echo number_format($row['valor'], 2, ',', '.');?>
                    </td>
                </tr>

            <?php endforeach; ?>

        </table>

    </body>

</html>
0

Como colocar acentuação em alerts javascript

Segue abaixo os códigos que substituem os acentos:

á = \u00e1
à = \u00e0
â = \u00e2
ã = \u00e3
ä = \u00e4
Á = \u00c1
À = \u00c0
 = \u00c2
à = \u00c3
Ä = \u00c4
é = \u00e9
è = \u00e8
ê = \u00ea
ê = \u00ea
É = \u00c9
È = \u00c8
Ê = \u00ca
Ë = \u00cb
í = \u00ed
ì = \u00ec
î = \u00ee
ï = \u00ef
Í = \u00cd
Ì = \u00cc
Î = \u00ce
Ï = \u00cf
ó = \u00f3
ò = \u00f2
ô = \u00f4
õ = \u00f5
ö = \u00f6
Ó = \u00d3
Ò = \u00d2
Ô = \u00d4
Õ = \u00d5
Ö = \u00d6
ú = \u00fa
ù = \u00f9
û = \u00fb
ü = \u00fc
Ú = \u00da
Ù = \u00d9
Û = \u00db
ç = \u00e7
Ç = \u00c7
ñ = \u00f1
Ñ = \u00d1
& = \u0026
‘ = \u0027

Basta substituir o código acima onde deveria haver a acentuação.
Ex:
Na frase: alert(“O campo nome é de preechimento obrigatório “) escreva;
alert(“O campo nome \u00e9 de preenchimento obrigat\u00f3rio”);

Sem categoria
0

Forçar download Jquery + ZendFramework

Primeiramente criamos nosso arquivo .JS

$(document).ready(function() {

$(document).on('click', '.IMGdownload', function(e) {
        $arquivo = $(this).data('image');

        $.download('/fotos/download', 'imagem=' + $arquivo);

    });


jQuery.download = function(url, data, method) {
    console.log(data);
    //url and data options required
    if (url && data) {
        //data can be string of parameters or array/object
        data = typeof data == 'string' ? data : jQuery.param(data);
        //split params into form inputs
        var inputs = '';
        jQuery.each(data.split('&'), function() {
            var pair = this.split('=');
            inputs += '<input type="hidden" name="' + pair[0] + '" value="' + pair[1] + '" />';
        });
        //send request
        jQuery('<form action="' + url + '" method="' + (method || 'post') + '">' + inputs + '</form>')
                .appendTo('body').submit().remove();
    }
    ;
};

});

2º Criamos nossa Action que será responsável em forçar o download do arquivo.

public function downloadAction() {
        $this->_helper->layout()->disableLayout();
        $img = 'fotos/' . $_POST['imagem'];
        if (isset($img) && file_exists($img)) {
            switch (strtolower(substr(strrchr(basename($img), "."), 1))) {
                case "pdf":
                    $tipo = "application/pdf";
                    break;
                case "exe":
                    $tipo = "application/octet-stream";
                    break;
                case "zip":
                    $tipo = "application/zip";
                    break;
                case "doc":
                    $tipo = "application/msword";
                    break;
                case "xls":
                    $tipo = "application/vnd.ms-excel";
                    break;
                case "ppt":
                    $tipo = "application/vnd.ms-powerpoint";
                    break;
                case "gif":
                    $tipo = "image/gif";
                    break;
                case "png":
                    $tipo = "image/png";
                    break;
                case "jpg":
                    $tipo = "image/jpg";
                    break;
                case "mp3":
                    $tipo = "audio/mpeg";
                    break;
                // deixar vazio por segurança
                case "php":
                case "htm":
                case "html":
            }
            header("Content-Type: " . $tipo);
            header("Content-Length: " . filesize($img));
            header("Content-Disposition: attachment; filename=" . basename($img));
            readfile($img);
            exit;
        }
    }
}

3º criamos nosso html o botão para download:

na data-image armazenamos o nome da imagem a ser baixada.

 <div class="IMGdownload" data-image="20150122084858.jpg"></div>
Sem categoria
0

Importando dados de .csv para database

Função que será responsável de fazer a importação dos dados

 public function import($filename) {
$file_handle = NULL;
$data = NULL;
$keys = NULL;
$record = NULL;
if (file_exists($filename)) {
$file_handle = fopen($filename, "r");
} else {
throw new Exception("File not found: " . $filename, null);
}
while (!feof($file_handle)) {
$row = fgetcsv($file_handle, 1024);
if (is_array($row)) {
//definir as chaves de registro de matriz de cabeçalho csv
if ($keys == NULL) {
$keys = array_flip($row);
}
//conjunto de registros valores de matriz de linha csv
elseif ($keys != NULL) {
foreach ($keys as $key => $value) {
$record[] = $row[$value];
}
$data[] = $record;
}
}
}
if ($file_handle)
fclose($file_handle);
return $data;
}

Listando os dados e inserindo na database

  public function indexAction() {

if (!empty($_FILES['file_excel'])) {
$fileAdapter = new Zend_File_Transfer_Adapter_Http();
$fileAdapter->setDestination('excelTMP/');
$formato = explode(".", $_FILES['file_excel']['name']);
if ($formato[1] !== 'csv') {
$this->_helper->FlashMessenger->addMessage(array('erro' => 'N&atilde;o foi poss&iacute;vel importar, extens&atilde;o inv&aacute;lida'));
$this->redirect('admin/importacao/');
}
if (is_uploaded_file($_FILES['file_excel']['tmp_name'])) {
if (!$fileAdapter->receive('file_excel')) {
$messages = $fileAdapter->getMessages['file_excel'];
$this->_helper->FlashMessenger->addMessage(array('erro' => 'Falha a o enviar o arquivo!'));
$this->redirect('admin/importacao/');
} else {

//Realize As Ações Necessárias Com Os Dados
$filename = $fileAdapter->getFileName('file_excel');
$caminho = 'excelTMP/' . $_FILES['file_excel']['name'];
$file_excel = $this->import($caminho);

$dados = array();
 foreach ($file_excel as $indice => $row1) {
$data = explode(";", $row1[$indice]);

$dados['dado0'] = $data[0];
$dados['dado1'] = $data[1];
$dados['dado2'] = $data[2];
$dados['dado3'] = $data[3];

//Inserindo os dados
$model->insert($dados);
}
 $this->_helper->FlashMessenger->addMessage(array('sucesso' => 'Dados importado com sucesso!'));
$this->redirect('admin/importacao/');
}
}
}
Sem categoria
0

Renomeando arquivos do diretório com PHP

if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." ) {
//nome antigo 
echo $file;
$novo_nome = trim(str_replace('_', '', $file));
echo $novo_nome;
//Agora renomeia
rename(readdir($handle), $novo_nome);
}
}
closedir($handle);
}
Sem categoria