I am giving up my bed for one night.

My Sleep Out helps youth facing homelessness find safe shelter and loving care at Covenant House. That care includes essential services like education, job training, medical care, mental health and substance use counseling, and legal aid — everything they need to build independent, sustainable futures.

By supporting my Sleep Out, you are supporting the dreams of young people overcoming homelessness.

Together, we are working towards a future where every young person has a safe place to sleep.

Thank you.

Filesystem Operations

Filesystem Methods

The following EmscriptenFS methods are exposed via the php object:

php.analyzePath

Get information about a file or directory.

await php.analyzePath(path);

php.readdir

Get a list of files and folders in a directory.

await php.readdir(path);

php.readFile

Get the contents of a file as a Uint8Array by default, or optionally as utf-8.

await php.readFile(path);
await php.readFile(path, {encoding: 'utf8'});

php.stat

Get information about a file or directory.

await php.stat(path);

php.mkdir

Create a directory.

await php.mkdir(path);

php.rmdir

Delete a directory (must be empty).

await php.rmdir(path);

Delete a file.

await php.unlink(path);

php.rename

Rename a file or directory.

await php.rename(path, newPath);

php.writeFile

Create a new file. Content should be supplied as a Uint8Array, or optionally as a string of text.

await php.writeFile(path, data);
await php.writeFile(path, data, {encoding: 'utf8'});

Accessing the FileSystem of a Service Worker

Note: If you’re using php-web in conjunction with php-cgi-worker to work on the filesystem, you’ll need to refresh the filesystem in the worker. You can do that with the following call using msg-bus (as shown below).

// Write a file
await sendMessage('writeFile', ['/path/to/your/file', 'contents', {encoding: 'utf8'}]);

// Check the path
const result = await sendMessage('analyzePath', ['/path/to/your/file']);

If you modify the filesystem outside of the service worker, you can refresh its filesystem with a call to refresh.

// Tell the worker that the FS has been updated
await sendMessage('refresh');