Manejando archivos con [PHP]
A veces necesitamos hacer diferentes aplicaciones con php, ya sea cortar, eliminar, copiar, leer, escribir, etc.
Aquí explicare cada una de las funciones para eso y una creada por mi ![]()
Leer y transmitir archivo.
Hay varias formas de leer un archivo, aquí muestro ejemplos de cómo leer y transmitir archivo.
OJO: DE NINGUNA MANERA REMPLAZAN LA FUNCIÓN INCLUDE
Local:
<?
$variable="carpeta/archivo.txt"; //Puede ser en carpetas otro ejemplo "archivo.txt" así lo lee desde la carpeta donde esta el script, para retroceder se usa dos puntos, ejemplo "../carpeta/archivo2.txt"
header('Content-type: text/html');//aca es un supuesto de cabaceras, si bien pusieras en variable una imagen el header cambiaria a 'Content-type: image/png'
readfile($variable);//transmite todo contenido de $variable
?>
Externo (Debe estar activado previamente desde php.ini):
<? $variable="http://google.com"; //Url a leer, puede usarse tambien archivos dentro del servidor "http://google.com/file.php" readfile($variable);//transmite todo contenido de $variable ?>
Otra forma
Local:
<? $variable="carpeta/archivo.txt"; //Puede ser en carpetas otro ejemplo "archivo.txt" así lo lee desde la carpeta donde esta el script, para retroceder se usa dos puntos, ejemplo "../carpeta/archivo2.txt" file_get_contents($variable);//transmite todo contenido de $variable ?>
Externo (Debe estar activado previamente desde php.ini):
<? $variable="http://google.com";//Url a leer, puede usarse tambien archivos dentro del servidor "http://google.com/file.php" File_get_contents($variable);//transmite todo contenido de $variable ?>
Solo leer.
A veces cuando obtenemos un dato, queremos solo usarlo en alguna variable, usar funcion, etc. hay una forma fácil de solo guardar la información en la variable sin transmitirla, ya que a php le da lo mismo escribir $Var=file_gen_contents(‘hola.php’); que echo( file_gen_contents (‘hola.php’));
<? @ $var=file_gen_contents(‘hola.php’); // el arroba ante puesto ante la variable tiene significado como No enviar mensajes de error o escribir nada, si esa linea tiene algún error no lo reportara, al igual que no escribira nada, pero si guardara la información en la variable ¿>
Copiando archivos.
<? $archivo='carpeta/cocacola.txt';//elegir archivo $nombrenuevo='carpeta/pepsi.txt';//poner aqui la ruta LOCAL en donde queramos el nuevo archivo, recueda usar la extencion copy($archivo, $nombrenuevo);//copiando ?>
Cortar archivo.
Esto nos servirá para pasar un archivo a otro lado y eliminarlo del anterior, php no a sacado función para esto, pero aquí dejo una función para que puedan llamarla con un include ![]()
funcion.php
<?
/*
Funcion programada por <strong style="color: black; background-color: #ffff66;">dedydamy</strong>
http://<strong style="color: black; background-color: #ffff66;">dedydamy</strong>.com
*/
function cortar($archivo,$destino){
if(!file_exists($archivo)){
return(false);
}
if(!copy($archivo,$destino)){
return(false);
}
if(!unlink($archivo){
return(false);
}
return(true);
}
/*
Funcion programada por <strong style="color: black; background-color: #ffff66;">dedydamy</strong>
http://<strong style="color: black; background-color: #ffff66;">dedydamy</strong>.com
*/
?>
<?
include('funcion.php');
$archivo='carpeta/archivo.txt';//archivo a cortar
$pegar='carpeta3/archivo.txt';//lugar a donde pegar
cortar($archivo,$pegar);//regresara false si el archivo no existe, no se elimino o no se copio.
?>
Eliminar archivo.
<? $archivo='carpeta/cocacola.txt';//elegir archivo unlink($archivo);//eliminar ?>
Escribir en un archivo.
Esto nos sirve para agregar una linea o contenido abajo de las demas lineas o contenidos, o simplemente crear uno y escribir.
<?
$archivo='carpeta/archivo.txt';//seleccionamos el archivo
$contenidos='Esto es un ejemplo, me encantan lo ejemplos!!';//decimos que contenidos pegaremos
$abrir=fopen("$archivo,"a");//abrimos archivo en "a", si no existe lo crea, ademas deja escribir, NO CREA LA CARPETA
fwrite($abrir,$contenidos);//escribe en el archivo basándose en el que abrimos
fclose($abrir);//cerramos el archivo por seguridad
?>
Eso es todo, gracias por ver el post.