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, la escritura de \n como una cadena, por lo que el archivo se parece a esto:

40119\n40122\n40120\n42155\n36925\n45881\n42145\n45880

De Google ing me dice que el uso de \r\n, pero \r es un retorno de carro que no parece ser lo que yo quiero hacer. Sólo quiero que el archivo este aspecto:

40119
40122
40120
42155
36925
45881
42145
45880

Gracias.

InformationsquelleAutor VIVA LA NWO | 2010-06-18

4 Comentarios

  1. 249

    Reemplazar '\n' con "\n". La secuencia de escape no se reconoce cuando se utiliza '.

    Ver el manual.

    Para la pregunta de cómo escribir los finales de línea, consulte la nota aquí. Básicamente, los diferentes sistemas operativos tienen diferentes convenciones para los finales de línea. Windows utiliza «\r\n», sistemas operativos basados en unix usar «\n». Usted debe adherirse a una convención (yo había elegido «\n») y abrir el archivo en modo binario (fopen debe conseguir «wb», no «w»).

    • He cambiado «\r\n» «\n», para mi el final de línea amd funcionó. Gracias.
  2. 59

    Uso PHP_EOL que las salidas \r\n o \n según el sistema operativo.

    • No meterse en problemas, siempre uso \n a menos que usted desea abrir el archivo en un sistema operativo específico – si es así, utilice la nueva línea de la combinación de ese sistema operativo, y no el sistema operativo que está ejecutando PHP en (PHP_EOL).
  3. 56

    PHP_EOL es una constante predefinida en PHP desde PHP 4.3.10 y PHP 5.0.2. Ver el manual publicación:

    Usando esto le ahorrará codificación adicional sobre la plataforma de la evolución.

    IE.

    $data = 'some data'.PHP_EOL;
    $fp = fopen('somefile', 'a');
    fwrite($fp, $data);

    Si de un bucle a través de este dos veces que iba a ver en ‘somefile’:

    some data
    some data

Dejar respuesta

Please enter your comment!
Please enter your name here