Ir para conteúdo

POWERED BY:

Arquivado

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

Bruno Miguel

Problema com function

Recommended Posts

Bom dia, eu tou com um problema, eu deixei um tempo sem mecher php, por isso q estou com esta duvida kkkk

 

o Codigo:

function download( $path, $fileName = '{$nomedown}' ){
        if( $fileName == '' ){
            $fileName = basename( $path );
        }
        header("Content-Type: application/force-download");
        header("Content-type: application/octet-stream;");
    	header("Content-Length: " . filesize( $path ) );
    	header("Content-disposition: attachment; filename=" . $fileName );
    	header("Pragma: no-cache");
    	header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    	header("Expires: 0");
    	readfile( $path );
    	flush();
    }

O problema esta onde diz: function download( $path, $fileName = '{$nomedown}' ){

 

Eu ao criar esta funcao, ali onde ta '{$nomedown}' eu antes tinha metido 'NomeArquivo.mp3'

 

mas agora eu ao por assim: '$nomedown' ele baixava-me o arquivo com o nome $nomedown -.-

Eu tentei meter os { e } e continuou a baixar kkk, depois retirei as aspas ' e '

E depois deu erro php:

Parse error: syntax error, unexpected T_VARIABLE in /home/radio754/public_html/painel/down.php

:S Ajudem me please xD ja nao lembro como q se mete

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

function download( $path, $fileName = 'nomedoarquivoaserbaixado.extensao' ){}

Pode deixar vazia também o $fileName


function download( $path, $fileName ){}

Com isso, os dois parâmetros vão ser obrigatórios

 

quando tu for chamar a função:

 

download( "/path/to/", "minha_musica.mp3" );

Compartilhar este post


Link para o post
Compartilhar em outros sites

resumidamente, variaveis não são interpretadas dentro de aspas simples.

 

no link tem bem explicado a diferença de aspas simples, duplas, quando vc deve usar {}.

 

http://php.net/manual/en/language.types.string.php

 

 


 

function download( $path, $fileName = 'nomedoarquivoaserbaixado.extensao' ){}

Pode deixar vazia também o $fileName


function download( $path, $fileName ){}

Com isso, os dois parâmetros vão ser obrigatórios

 

quando tu for chamar a função:

 

download( "/path/to/", "minha_musica.mp3" );

Amigo, mas eu nao quero por um nome espesifico, hm , explicando melhor, ele vai pegar o nome na database apartir do id q foi digitado no url: down.php?downid=432

 

resumidamente, variaveis não são interpretadas dentro de aspas simples.

 

no link tem bem explicado a diferença de aspas simples, duplas, quando vc deve usar {}.

 

http://php.net/manual/en/language.types.string.php

Estou vendo, ja ja, mando resposta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas amigo, eu queria saber como meto em vez do nome ex: musica.mp3

como meto $nomedown

 

 

shini, nao percebi ainda muito bem como adicionar :/

 

Bem, vou ver se explico novamente!

Eu quero q em vez do nome.mp3

TIvesse la o $nomedown, nele ja esta o nome e extensao

Conforme ele pega na database!! Sera que alguem me explica??

 

( $path, $fileName = 'Como Meter o $nomedown AQUI!!!! Se for assim nao da!!' )

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jesus!!

 

Isso é incoerente:

 

function download( $path, $fileName = '{$nomedown}' ){

 

O certo é

 

function download( $path, $fileName ){...}

 

e na chamada vc faz:

 

download('Path/Para/Arquivo' , $nomedown);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda ninguem percebeu -.- Cara, mas o nome do arquivo q a pessoa vai baixar vai ter um nome.mp3 mas o nome do arquivo original, q ta na hospedagem, e outro nome!!!!!!!!!!!

<?php

include 'functions_download.php';

session_checker();

include 'config_geral.php'; //Conexao com a DB

$rba_downloadid = $_GET['downid']; //Busca o ID do URL

$conexaodown = mysqli_query($con,"SELECT * FROM rba_downloads WHERE down_id='{$rba_downloadid}'"); //Busca os dados do Download, Nome, Extensao etc...
$down = mysqli_fetch_array($conexaodown);

$downnome = $down['down_nome']; //Nome do Arquivo que a pessoa ira baixar Ex: musica
$downtipo = $down['down_tipo']; //Extensao do Arquivo que a pessoa vai baixar Ex: .mp3
$nomedown = $downnome . $downtipo; //Ao todo = musica.mp3 Este ira ser o nome com que o arquivo que a pessoa ira baixar, ira aparecer!

function download( $path, $fileName = '$nomedown ????????????????' ) {
        if( $fileName == '' ){
            $fileName = basename( $path );
        }
        header("Content-Type: application/force-download");
        header("Content-type: application/octet-stream;");
    	header("Content-Length: " . filesize( $path ) );
    	header("Content-disposition: attachment; filename=" . $fileName );
    	header("Pragma: no-cache");
    	header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    	header("Expires: 0");
    	readfile( $path );
    	flush();
    }

if(!file_exists($down['down_pasta'].$down['down_ficheiro'].$down['down_tipo'])) {
	echo 'File Not Found!';
}else {
download( $down['down_pasta'].$down['down_ficheiro'].$down['down_tipo'] ); //Aqui a pasta, nome original do ficheiro, e a extensao: arquivos/ih4318431.mp3
}
?>

Desta vez perceberam?

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando vc faz assim:

 

 

function ola($nome = 'nome padrao'){
   echo 'ola '. $nome .'<br>';
}
 
$pessoa = 'mario';
ola($pessoa);
ola();

 

se nenhum valor for passado para a função ele simplesmente pega a string padrão. TESTA AI!

 

 

cade o segundo paramentro?

 

}else {
   download( $down['down_pasta'].$down['down_ficheiro'].$down['down_tipo'] );

 

 

aproveita e testa isso tbm:

 

 

$nome = 'mario';
 
echo 'aspas simples: $nome <br>';
echo "aspas duplas: $nome<br>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

afff... pessoal ajudando e o cara ainda persiste no erro e "exige solução"..

 

se vira maluco..

Compartilhar este post


Link para o post
Compartilhar em outros sites


<?php

function download($path, $fileName){

 

if($fileName == '' ){

$fileName = basename($path);

}

header("Content-Type: application/force-download");

header("Content-type: application/octet-stream;");

header("Content-Length: " . filesize( $path ) );

header("Content-disposition: attachment; filename=" . $fileName );

header("Pragma: no-cache");

header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");

header("Expires: 0");

readfile( $path );

flush();

}

 

// Recebendo os dados do formulário

$arquivo = $_FILES['arquivo'];

download($path, $arquivo['name']);

?>

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.