我有一个目录列表(purple
,blue
,red
)在一个名为colors
的主目录中可以识别。
当我从colors
中运行此脚本时:
path_to_folders = './'
folders = [f for f in os.listdir(path_to_folders) if os.path.isdir(f)]
print(folders)
我得到了文件夹列表:
['purple', 'blue', 'red']
当我设置'path_to_folders = '../colors'
并从colors
目录之外运行脚本时,包含在其中的目录即使被读为f
也不会被识别为目录。
文件夹列表为空:[]
,但打印每个f
会得到:
purple
blue
red
怎么可能?
答案 0 :(得分:2)
if(isset($_FILES['images'])) {
foreach($_FILES['images']['tmp_name'] as $key => $tmp_name ) {
$images= $_FILES['images']['name'][$key];
$file_loc = $_FILES['images']['tmp_name'][$key];
$file_size = $_FILES['images']['size'][$key];
$file_type = $_FILES['images']['type'][$key];
$folder="uploads/";
move_uploaded_file($file_loc,$folder.$images);
}
//file uploading code ends
//insert statement starts
$stmt = $this->conn->prepare("INSERT INTO cropfeedback(adminCropId,
feedback, comments, finishedDate, images) VALUES(?, ?, ?, ?, ?)");
$stmt->bind_param("issss", $adminCropId, $feedback, $comments,
$finishedDate, $images);
$result = $stmt->execute();
$stmt->close();
if ($result) {
return true;
}
return false;
}
仅返回文件名,不包含路径名,而os.path.listdir()
需要完整的路径名,因此您应使用os.path.isdir()
在文件名前添加路径名:< / p>
os.path.join()
答案 1 :(得分:1)
开头没有../
,这些文件夹将被视为位于CWD中。 CWD中不存在此类文件夹。调整代码,以便:
path_to_folders = './'
folders = [f for f in os.listdir(path_to_folders) if os.path.isdir(path_to_folders . f)]
print(folders)