subir - Escribir una nueva línea para archivar en PHP
subir pdf php (4)
Mi código:
$i = 0;
$file = fopen(''ids.txt'', ''w'');
foreach ($gemList as $gem)
{
fwrite($file, $gem->getAttribute(''id'') . ''/n'');
$gemIDs[$i] = $gem->getAttribute(''id'');
$i++;
}
fclose($file);
Por alguna razón, está escribiendo /n
como una cadena, por lo que el archivo se ve así:
40119/n40122/n40120/n42155/n36925/n45881/n42145/n45880
De Google''ing me dice que use /r/n
, pero /r
es un retorno de carro que no parece ser lo que quiero hacer. Solo quiero que el archivo se vea así:
40119
40122
40120
42155
36925
45881
42145
45880
Gracias.
PHP_EOL es una constante predefinida en PHP desde PHP 4.3.10 y PHP 5.0.2. Ver la publicación del manual :
Usar esto le ahorrará codificación adicional en desarrollos multiplataforma.
ES DECIR.
$data = ''some data''.PHP_EOL;
$fp = fopen(''somefile'', ''a'');
fwrite($fp, $data);
Si ha pasado por esto dos veces, verá en ''algún archivo'':
some data
some data
Reemplace ''/n''
con "/n"
. La secuencia de escape no se reconoce cuando usa ''
.
Ver el manual .
Para la pregunta de cómo escribir finales de línea, mira la nota here . Básicamente, diferentes sistemas operativos tienen diferentes convenciones para terminaciones de línea. Windows usa "/ r / n", los sistemas operativos basados en Unix usan "/ n". Debes apegarte a una convención (yo elegiría "/ n") y abrir tu archivo en modo binario ( fopen
debería obtener "wb", no "w").
También puede usar file_put_contents()
:
file_put_contents(''ids.txt'', implode("/n", $gemList) . "/n", FILE_APPEND);
Use PHP_EOL
que produce /r/n
o /n
según el sistema operativo.