Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde amigos do Imasters, estou com uma pequena dificuldade para concatenar uma string com uma variável.
O problema é esse:
$teste = 'Rafael'.$sobrenome;
echo $teste; // o resultado sai assim: Rafael $sobrenome
O detalhe é que essa sintaxe que usei é para gerar uma pasta no meu FTP com o comando ftp_mkdir. O estranho é que a varável vai com o nome e não com o valor.
Alguém poderia me dizer se é preciso fazer algum tipo de conversão ou algo do gênero?
Obrigado.
>
o trecho de código que você postou, não gera a saida que você disse.
poste a tua situação real.
e tenha em mente q o browser não diferencia nada para o php.
Certo, eu sei que aquele código não gera a saida que disse. Aquilo é um exemplo que está acontecendo em um trecho do meu código.
segue o cógido real:
$dir = 'caminhoFtp'.$descricaoDiretorio;
$dirThumbs = 'caminhoFtp'.$descricaoDiretorio.'/thumbs';
$ftp_server = "";
$ftp_user_name = "" ;
$ftp_user_pass = "";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$criarDiretorio = ftp_mkdir($conn_id, $dir);
$criarThumbs = ftp_mkdir($conn_id, $dirThumbs);
a variavel $criarDiretorio gera um diretório com o nome de $descricaoDiretorio no FTP e não com seu valor.
Onde você atribui valor a
$descricaoDiretorio;
????
se a variavel realmente estiver inicializada tente usar apas duplas tipo:
$dir = "caminhoFtp".$descricaoDiretorio;
Desculpe elitediego, aquilo foi só um exemplo mal elaborado, sei que quando é aplicado assim a saída da variável é correta, porém quando integro essa situação para gerar um diretório no FTP a variável imprimi somente seu nome e não o valor.
--
Os valores são atribuídos logo acima desse código, e sim, já utilizei aspas duplas e o problema continuou.
Obrigado.
Certo, eu sei que aquele código não gera a saida que disse. Aquilo é um exemplo que está acontecendo em um trecho do meu código.
se for dar exemplos, dê exemplos problemáticos iguais, e não um que não bate com a realidade
segue o cógido real:
e o restante ?
no trecho q você postou, ainda não tem nenhum erro. Poste o restante.
cógigo completo:
$descricao = $_POST["descricao"];
$naoPermitido = array(" ", ",","á", "é", "Á", "É", "!", "?", ";", "(", ")", "â", "Â", "ô", "Ô", "Õ", "õ", "ã", "Ã", "ó", "Ó");
$Permitido = array("-", "", "a", "e", "A", "E", "", "", "","","","a", "A", "o","O", "O","o","a", "A", "o", "O");
$descricaoDiretorio = str_replace($naoPermitido,$Permitido,$descricao);
if(!empty($descricaoDiretorio)){
$dir = 'caminhoFtp'.$descricaoDiretorio;
$dirThumbs = 'caminhoFtp'.$descricaoDiretorio.'/thumbs';
$ftp_server = "";
$ftp_user_name = "" ;
$ftp_user_pass = "";
$conn_id = ftp_connect($ftp_server);
// login com username e password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$criarDiretorio = ftp_mkdir($conn_id, $dir);
$criarThumbs = ftp_mkdir($conn_id, $dirThumbs);
}
Depois disso é apenas gravado no BD.
não vi erros.
$dir = 'caminhoFtp'.$descricaoDiretorio;
$dirThumbs = 'caminhoFtp'.$descricaoDiretorio.'/thumbs';
var_dump( $dir, $dirThumbs );
poste a saida.>
não vi erros.
$dir = 'caminhoFtp'.$descricaoDiretorio;
$dirThumbs = 'caminhoFtp'.$descricaoDiretorio.'/thumbs';
var_dump( $dir, $dirThumbs );
poste a saida.
O erro ainda ocorre, ele grava no BD com o nome e não com o valor da variável e não ocorre nenhum tipo de erro.
tentei colocar direto, assim:
$dir = "caminhoFtp/$descricaoDiretorio";
$dirThumbs = "caminhoFtp/$descricaoDiretorio/thumbs";
No FF funcionou, criou o arquivo com o nome correto.
No IE e chrome já deu erro ao criar os diretórios, provavelmente porque não reconhece as variáveis.
Sempre usei esse tipo de sintaxe, o interessante é que o problema começou a acontecer quando eu inclui ela nessa estrutura de FTP > PHP.
>
No FF funcionou, criou o arquivo com o nome correto.
No IE e chrome já deu erro ao criar os diretórios, provavelmente porque não reconhece as variáveis.
isso não existe.
poste a saída que eu pedi do var_dump()
e se der erro, informe exatamente qual foi o erro.
Consegui identificar o problema, eu não tratei o "/", em alguns testes eu estava colocando data 00/00 e a string identificava a "/" como outro diretório.
O outro problema era de concatenação mesmo, fiz alguns ajustes e funcionou.
Quanto ao problema de gravar o nome da variável e não o valor, sem explicação ainda. oO.
Mas enfim, obrigado a todos que me ajudaram.
E desculpe ao William, por eu ser tão teimoso em afirmar que em um browser funcionava e outro não, sei que isso não é pretexto de erro, mas era o que estava acontecendo.
Obrigado novamente.
var_dump():
string(69) "/public_html/temp/imagens/casamentosEventos/albuns/imagens/Rafael-123"
string(76) "/public_html/temp/imagens/casamentosEventos/albuns/imagens/Rafael-123/thumbs"
o trecho de código que você postou, não gera a saida que você disse.
poste a tua situação real.
e tenha em mente q o browser não diferencia nada para o php.