Cita: ¿Porqué esto me da error?
fopen ("1.txt", "r+");
fwrite ("1.txt", Hola);
fclose ("1.txt");
Porque el parámetro que debes pasar a
fwrite() y
fclose() es el
resource --referenciador-- devuelto por
fopen() , no el nombre del fichero.
Código PHP:
$res= fopen("...", "..");
fwrite($res, "...");
fclose($res);
2: Lo ignoro.
3: Lo mismo. tmpfile() devuelve lo mismo que fopen() y lo que
file_get_contents() necesita como parámetro es un string que indique el nombre (y ruta) del fichero.
Cita: Supongo que debe haber una forma para escribir y leer temporales antes de cerrarlos...
fread(), fgets(), fgetc(), etc. Todas aquellas funciones que resivan como parámetro un referenciador a archivo.
Un ejemplo:
Código PHP:
<?php
$temp = tmpfile(); //creo el temporal
fwrite($temp, "Archivo temporal"); //lo escribo
fseek($temp, 0); // Pones el apuntador al comienzo del archivo para leerlo
do {
$chr= fgetc($temp); // capturas un carácter
echo $chr; // lo imprimes
} while($chr!=false); // Mientras no sea EOF
fclose($temp); //cierro y elimino el temporal
?>
Un saludo!