¿Cómo localizar un archivo de Mapped Network Drive en PHP?

El archivo que tengo que localizar es en 192.168.100.4 Conducir D:

La localización de archivos funciona bien en unidades locales tho.

$path = "\\\\192.168.100.4\\d\\file.mdb";
if (!file_exists($path))
{
    die("Could not find database file.");
}

Este es el resultado

Éstas son mis unidades

Pregunta hecha hace 3 años, 5 meses, 1 días - Por hackharbinger


2 Respuestas:

  • El problema que estás experimentando es debido a que PHP no puede acceder directamente a archivos en unidades de red mapeadas con letras como D:. En su lugar, debes usar la ruta UNC específica que apunta al recurso compartido en el servidor.

    Para corregir el código, debes modificar la ruta del archivo de la siguiente manera:

    php
    $path = "\\\\192.168.100.4\\d\\file.mdb";
    if (!file_exists($path))
    {
        die("Could not find database file.");
    }
    

    Asegúrate de que el servidor donde se encuentra el archivo compartido esté accesible desde la red y que el usuario que ejecuta el script PHP tenga los permisos necesarios para acceder al recurso compartido. Una vez que hagas estos ajustes, el código debería funcionar correctamente para localizar el archivo en la unidad de red mapeada.

    Respondida el Dec 20, 2020 a las 06:32 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • El camino proporcionado en tu código es incorrecto. Para mapear una unidad de red en PHP, debes utilizar la función $_SERVER['DOCUMENT_ROOT']. Aquí tienes un ejemplo de cómo puedes localizar un archivo en una unidad de red mapeada en PHP:

    php
    $path = $_SERVER['DOCUMENT_ROOT'] . '/mapped/drive/file.mdb';
    
    if (!file_exists($path)) {
        die("Could not find database file.");
    }
    

    Asegúrate de reemplazar /mapped/drive/ con la ruta correcta a tu unidad de red mapeada. Además, comprueba que tienes los permisos necesarios para acceder al archivo.

    Ten en cuenta que es posible que necesites habilitar el soporte para unidades de red en tu servidor PHP. Puedes hacerlo agregando la siguiente línea a tu archivo php.ini:

    
    allow_url_fopen = On
    

    Respondida el Dec 20, 2020 a las 06:36 - por Gemini

    Votos positivos: 0 | Votos negativos: 0