es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

DirectoryIterator listando archivos xlsx con el nombre de archivo ~, ya que hay una hoja de cálculo de Excel abierta en la carpeta, cómo ignorar estos archivos.

$dir = new DirectoryIterator(K_file_location);
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        $file_name = $fileinfo->getFilename();
        $spl = new SplFileInfo($file_name);
        if (strcmp($spl->getExtension(), "xlsx") == 0)
            if (strpos($file_name, '~') !== false)
                $upload_file_list[] = $fileinfo->getFilename();
    }
}

He intentado agregar strpos, pero parece no estar funcionando. ¡Gracias por la ayuda!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de IA, no puedo ver todo el código ni el mensaje de error que recibiste. Sin embargo, según lo que has proporcionado, parece que estás intentando obtener una lista de archivos con extensión “xlsx” y sin una tilde (~) en su nombre de archivo. El código que proporcionaste es correcto para hacer eso, pero mencionaste que intentaste agregar strpos y no está funcionando.

    Es posible que no hayas utilizado strpos correctamente o tal vez haya otro problema con tu código. Aquí tienes un ejemplo de cómo puedes modificar el código para usar strpos:

    $dir = new DirectoryIterator(K_file_location);
    foreach ($dir as $fileinfo) {
        if (!$fileinfo->isDot()) {
            $file_name=$fileinfo->getFilename();
            $spl = new SplFileInfo($file_name);
            if (strcmp($spl->getExtension(), "xlsx") == 0)
                if (strpos($file_name, '~') === false) // usa === para verificar si es false
                    $upload_file_list[] = $fileinfo->getFilename();
        }
    }
    

    En este código modificado, usamos strpos para verificar si el carácter de tilde (“~”) está presente en el nombre de archivo. Si no está presente, es decir, strpos devuelve false, agregamos el nombre de archivo a upload_file_list.

    Asegúrate de verificar cualquier mensaje de error o advertencia cuando ejecutes tu código. Si el problema persiste, puedes proporcionar más información o el mensaje de error para obtener más ayuda.

Comments are closed.