Estoy haciendo una aplicación para Android que necesita para ser capaz de empujar los archivos en un servidor.

Para esto estoy usando POST y fopen/fwrite pero este método sólo se anexa el archivo y el uso de unlink antes de escribir en el archivo no tiene ningún efecto. (file_put_contents tiene exactamente el mismo efecto)

Esto es lo que tengo hasta ahora

<?php
$fileContent = $_POST['filecontent'];

$relativePath = "/DatabaseFiles/SavedToDoLists/".$_POST['filename'];
$savePath = $_SERVER["DOCUMENT_ROOT"].$relativePath; 

unlink($savePath);

$file = fopen($savePath,"w");
fwrite($file,$fileContent);
fclose($file);

?>

El archivo que va a eliminar correctamente su auto cuando yo no trato y escribir en él después, pero si yo trato y escribir, va anexa.

Alguien tiene alguna sugerencia acerca de sobrescribir el contenido del archivo?

Gracias, Lucas.

De ninguna manera esto podría estar sucediendo. fopen en w modo es «abrir archivo, truncar a longitud cero». Si fue anexando, tendría que ser la apertura en a modo

OriginalEl autor Luke Pring | 2014-07-08

4 Comentarios

  1. 6

    Uso wa+ para la apertura y el truncamiento:

    $file = fopen($savePath,"wa+");

    fopen

    w+: Abierto para la lectura y la escritura; coloca el puntero de archivo al principio del archivo y truncar el archivo de longitud cero. Si el archivo no existe, se intenta crear.

    un+: Abierto para la lectura y la escritura; coloca el puntero de archivo al final del archivo. Si el archivo no existe, se intenta crear.

    nope, wa+ todavía se anexa el archivo
    Debes estar haciendo algo mal. Como el manual dice: se trunca a 0 longitud.
    Yo era, por error en mi aplicación
    ¿Qué hiciste? Me alegro de que ahora funciona.
    yo estaba usando cadena = cadena + newString y el olvido de llamar string = «» antes de hacer clic en guardar un segundo momento, de modo que acaba de añadir a los nuevos en cada momento

    OriginalEl autor putvande

  2. 4
    file_put_contents($savePath,$fileContent);

    Sobrescribirá el archivo o crear si no existe ya.

    OriginalEl autor andrew

  3. 0

    Encontrado el error, se me olvidó restablecimiento de una cadena dentro de mi aplicación

    OriginalEl autor Luke Pring

Dejar respuesta

Please enter your comment!
Please enter your name here