Revision Difference
file.Exists#550114
<function name="Exists" parent="file" type="libraryfunc">
<description>
Returns a boolean of whether the file or directory exists or not.
<bug issue="1038"> This will sometimes return false clientside for directories received from the server via a clientside lua file. You can work around this by using <page>file.Find</page> with the path to the directory followed by a wildcard (no trailing forward slash) and see if the directory is inside the returned directories table (**see second example)**.</bug>
<bug issue="1038"> This will sometimes return false clientside for directories received from the server via a clientside lua file. You can work around this by using <page>file.Find</page> with the path to the directory followed by a wildcard (no trailing forward slash) and see if the directory is inside the returned directories table (**see second example)**. **This is fixed in the next update.**</bug>
</description>
<realm>Shared and Menu</realm>
<args>
<arg name="name" type="string">The file or directory's name.</arg>
<arg name="gamePath" type="string">The path to look for the files and directories in. See <page text="this list">File_Search_Paths</page> for a list of valid paths.</arg>
</args>
<rets>
<ret name="" type="boolean">Returns `true` if the file exists and `false` if it does not.</ret>
</rets>
</function>
<example>
<description>Prints whether the `data` folder exists in the base directory.</description>
<code>print( file.Exists( "data", "GAME" ) )</code>
<output>
```
true
```
</output>
</example>
<example>
<description>Workaround for issue [#1038](https://github.com/Facepunch/garrysmod-issues/issues/1038).</description>
<code>
local _, folders = file.Find( "path/to/dir*", "LUA" )
for _, v in ipairs( folders ) do
if v == "dir" then
print( "Directory found!" )
break
end
end
</code>
</example>