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!
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 usarstrpos
: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
devuelvefalse
, agregamos el nombre de archivo aupload_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.