Tecnología

Inicio

PHP Problemas Desvincular

PHP Problemas Desvincular


El lenguaje de programación PHP da al programador la capacidad de borrar archivos en un servidor Web utilizando la función "unlink". Técnicamente, desvincular, no se elimina físicamente un archivo desde un dispositivo de almacenamiento; En su lugar, se elimina el nombre del archivo de la lista de archivos mantenidos por el sistema operativo. Más tarde, el sistema operativo libera el espacio en poder del archivo para que pueda ser utilizado por otros datos. Si no se tiene cuidado, usted podría eliminar accidentalmente el archivo equivocado. Evitar problemas con la función de PHP mediante el uso de desvinculación con cautela y correctamente.

permisos

Una llamada a la función unlink PHP puede fallar si su aplicación no tiene permiso para acceder y borrar archivos en el servidor Web. En los servidores basados ​​en Windows, PHP debe tener el permiso del usuario de Internet o IUSR para acceder a los archivos. En los servidores de Linux, el archivo que desea desvincular debe conceder su permiso script PHP para escribir, cambiar el nombre o eliminarlo.

Los archivos no se elimina por completo

Otro problema con la función de desvinculación de PHP es que un archivo no será borrado por el sistema operativo si se mantiene abierta por el script PHP o cualquier otra aplicación en el servidor Web. Siempre que un archivo está abierto, sólo el nombre del archivo se elimina y el sistema operativo no se elimine el contenido real de los archivos en el dispositivo de almacenamiento. Cualquier aplicación que utiliza el archivo todavía se puede acceder a él a leer y escribir datos. Una vez que el archivo se cierra, sin embargo, el sistema operativo puede eliminarlo y permitir que otros datos que se escriben en su lugar.

Linux enlaces de archivos

los sistemas operativos Linux, Unix y Windows le permiten crear enlaces simbólicos a los archivos en los discos duros. Los enlaces simbólicos contienen información que indica que el sistema operativo en un archivo en algún otro lugar en el servidor. Mientras que la función de desvinculación de PHP puede eliminar el nombre del archivo, si existe un enlace simbólico al archivo, se sigue que apunte a la ubicación del archivo original. Para asegurarse de que un archivo se elimina por completo, usted debe asegurarse de que todos los enlaces simbólicos se rompen también.

Error programador

Desvincular puede causar problemas graves si un programador no depurar y probar a fondo su código. Un error del programa puede hacer que el archivo incorrecto se va a eliminar o el archivo correcto se va a eliminar de forma prematura. Por ejemplo, si se intenta eliminar un archivo y reemplazarlo con otro, pero un error se produce antes o durante el intento de escribir el nuevo archivo, que ya no tendrá ya sea el archivo de sustitución original o. Este tipo de error se puede evitar cambiando el nombre del archivo original, la creación de uno nuevo y luego desvincular el primer archivo sólo si el nuevo archivo se escribió correctamente y se cierra.