[PHP]Pq e q n posso definir a minha string como quero?

Armadillo

Folding Member
Boas.

Estou a tentar definir numa varialvel em PHP, um caminho para ir buscar ficheiros.

PHP:
<?php
$caminhoNovos = "C:\Programas\sugarcrm-4.5.1e\htdocs\sugarcrm\crm_int\files\";
?>
o erro eh o seguinte:
Parse error: parse error, unexpected $end in C:\Programas\sugarcrm-4.5.1e\htdocs\sugarcrm\crm_int\ini.php on line 3

Eu sei que se tirar a ultima "\" deixo de ter o erro, mas tb se colocar a "\" primeiro q o nome do ficheiro tb me da erro.
Pq e q n posso definir a minha string como quero?
 
Boas.

Estou a tentar definir numa varialvel em PHP, um caminho para ir buscar ficheiros.

PHP:
<?php
$caminhoNovos = "C:\Programas\sugarcrm-4.5.1e\htdocs\sugarcrm\crm_int\files\";
?>
o erro eh o seguinte:
Parse error: parse error, unexpected $end in C:\Programas\sugarcrm-4.5.1e\htdocs\sugarcrm\crm_int\ini.php on line 3

Eu sei que se tirar a ultima "\" deixo de ter o erro, mas tb se colocar a "\" primeiro q o nome do ficheiro tb me da erro.
Pq e q n posso definir a minha string como quero?

Se não estou em erro quando usas o \" estás a definir uma aspa mesmo, portanto coloca mais uma aspa no fim
 
Mais uma aspa no fim dá mau resultado, assim a string passa a ser isto:

C:\Programas\sugarcrm-4.5.1e\htdocs\sugarcrm\crm_int\files"

o que ele quer é isto:

C:\Programas\sugarcrm-4.5.1e\htdocs\sugarcrm\crm_int\files\

Das duas uma, ou mete as barras ao contrário (que é interpretado na mesma), ou tenta meter dupla barra no final, apesar de esta solução eu não ter a certeza se resulta.

C:\Programas\sugarcrm-4.5.1e\htdocs\sugarcrm\crm_int\files\\
 
Penso que a barra final esteja a escapar a aspa.
Metes assim:

PHP:
<?php
$caminhoNovos = "C:\Programas\sugarcrm-4.5.1e\htdocs\sugarcrm\crm_int\files";
?>


Ou seja retira a última barra que é uma solução idêntica à do Heckel que é a única solução possível.

Cumprimentos,

K0ma
 
O caracter \ é um caracter de escape, ou seja, o que vier depois é tido como literal. \" significa que queres uma aspa e nao barra seguida de aspa.
Caminhos defines ou com \\ ou então /.
<?php
$caminhoNovos = "C:\\Programas\\sugarcrm-4.5.1e\\htdocs\\sugarcrm\\crm_int\\files\\";
?>

ou

<?php
$caminhoNovos = "C:/Programas/sugarcrm-4.5.1e/htdocs/sugarcrm/crm_int/files/";
?>

PS: Não interessa estares no windows ou não, se usares / o php converte para o delimitador correcto com base no sistema operativo.
 
Back
Topo