<?php require 'sqlefs/sqlefs.php'; # Loads class and assigns efs object. $efs->connect("mysql:host=localhost;dbname=myefsdb username password") # connect to myefsdb database. $efs->cd("c:/"); # select the C volume table and root path. ?>
<?php # you must modify sqlefs_login.php for this example to work! require_once '../sqlefs_login.php'; header('Content-Type: text/plain'); define('br', "\r\n"); define('hr', "===========================\r\n"); echo 'Creating file...' . br; $efs->write('test.txt' , 'Some file contents.'); echo 'Copying file...' . br; $efs->cp('test.txt', 'copy of test.txt'); echo 'Copying file again...' . br; $efs->cp('test.txt', 'copy2 of test.txt'); echo hr; echo 'Listing of: ' . $efs->cd() . br; print_r( $efs->ls() ); echo hr; echo 'Deleting test.txt...' . br; $efs->rm('test.txt'); echo hr; echo 'Listing of: ' . $efs->cd() . br; print_r( $efs->ls() ); echo hr; echo 'Deleting all files in folder...' . br; $efs->rmdir(); echo hr; echo 'Listing of: ' . $efs->cd() . br; print_r( $efs->ls() ); ?>
<?php # you must modify sqlefs_login.php for this example to work! require_once '../sqlefs_login.php'; define('br', '<br>'); define('hr', '<hr>'); echo 'Creating some files...' . br; $efs->write('test1.txt' , 'Some file contents.'); $efs->write('test2.txt' , 'Some file contents.'); $efs->write('subdir1/testA.txt' , 'Some file contents.'); $efs->write('subdir2/testB.txt' , 'Some file contents.'); $efs->write('subdir2/deeper/testC.txt' , 'Some file contents.'); echo hr; echo 'See files in ' . $efs->cd() . br; print_r( $efs->ls() ); echo hr; echo 'See subdirectories in ' . $efs->cd() . br; print_r( $efs->subs() ); echo hr; echo 'See files in subdir1/' . br; print_r( $efs->ls('subdir1/') ); echo hr; echo 'See details on files in subdir2/' . br; print_r( $efs->details('subdir2/') ); echo hr; echo 'See subdirectories in subdir2/' . br; print_r( $efs->subs('subdir2/') ); echo hr; # see more information using details echo 'Formatted file and directory listing...'; echo '<h3>Path: ' . $efs->cd() . '</h3>'; echo '<table border="1">'; $subs = $efs->subs(); foreach ($subs as $sd) { echo '<tr><td>' . $sd . '</td></tr>'; } $files = $efs->details(); foreach ($files as $f) { echo '<tr><td>' . $f['filename'] . '</td>'; echo '<td>' . $f['modified'] . '</td>'; echo '<td>' . $f['owner'] . '</td>'; echo '<td>' . $f['size'] . '</td></tr>'; } echo '</table>'; echo '<hr>'; echo 'Deleting files...' . br; $efs->rmdir(); $efs->rmdir('subdir1/'); $efs->rmdir('subdir2/'); ?>
<?php # you must modify sqlefs_login.php for this example to work! require_once '../sqlefs_login.php'; header('Content-Type: text/plain'); define('br', "\r\n"); define('hr', "===========================\r\n"); echo 'Creating some files...' . br; $efs->write('test1.txt' , 'Some file contents.'); $efs->write('test2.txt' , 'Some file contents.'); echo hr; echo 'See details on files in current path...' . br; print_r( $efs->details() ); echo hr; # info is actually the same as details, but returns false if no file is found echo 'See details on a specific file.' . br; print_r( $efs->info('test1.txt') ); echo hr; echo 'See the owner.' . br; print_r( $efs->owner('test1.txt') ); echo hr; echo 'See if a file exists.' . br; print_r( $efs->exists('test1.txt') ); echo hr; ?>
<?php # you must modify sqlefs_login.php for this example to work! require_once '../sqlefs_login.php'; header('Content-Type: text/plain'); $data = array( 'time' => $_SERVER['REQUEST_TIME'], 'ip' => $_SERVER['REMOTE_ADDR'], 'agent' => $_SERVER['HTTP_USER_AGENT'], ); # save server data $efs->save('test.dat' , $data); # load and print request data $loaded_data = $efs->load('test.dat'); print_r($loaded_data); $efs->rm('test.dat'); ?>
<?php # you must modify sqlefs_login.php for this example to work! require_once '../sqlefs_login.php'; header('Content-Type: text/plain'); define('br', "\r\n"); define('hr', "===========================\r\n"); $start_dir = $efs->cd(); # set path to some new place echo 'I went to: ' . $efs->cd('lets/visit/some/new/sub/directory/') . br; echo hr; # demonstrate up while ($start_dir != $efs->cd()) { echo 'up to ' . $efs->up() . br; } echo hr; # now we're back to start, lets see subdirectories echo 'Listing of ' . $efs->cd() . br; print_r( $efs->subs() ); echo br; echo 'Since we did not write a file there, that path is not listed as a subdirectory' . br ; echo hr; # listing a non-existing path $new_path = date("Y/m/d/H/i/s"); echo 'Listing contents of ' . $new_path . br; print_r( $efs->ls($new_path) ); echo br; echo 'Listing contents of non-existing path does not cause an error.' . br; echo hr; ?>
<?php # you must modify sqlefs_login.php for this example to work! require_once '../sqlefs_login.php'; header('Content-Type: text/plain'); define('br', "\r\n"); define('hr', "===========================\r\n"); # The filepath specification # [owner@][volume:][/][directory/][file.ext] # change user to bob... $efs->cd('bob@'); # change volume FYI... # $efs->cd('disk2:'); # go to root $efs->cd('/'); # go into a subdirectory $efs->cd('subdir/'); # cd ignores the file part $efs->cd('/subdir/file.txt'); # we can combine these... # see Sams files $efs->ls('sam@'); # see Sams files in a subdirectory $efs->ls('sam@subdir/'); # use resolve to break paths apart echo 'resolve sam@subdir/' . br; print_r( $efs->resolve('sam@subdir/') ); echo hr; echo 'resolve sam@subdir/ without current path context...' . br; print_r( $efs->resolve('sam@subdir/', array('','','','','','')) ); echo hr; # you can use the state array to retrieve current defaults... echo 'Current defaults take from state array:' . br; echo 'Volume: ' . $efs->state['vol'] . br; echo 'User: ' . $efs->state['user'] . br; echo 'Path: ' . $efs->state['path'] . br; # Note that some commands that request arguments that are specifically NOT paths # such as disk and assign. # disk('C') versus cd('C:') # assign('file', 'bob') although assign('bob@file') is ok. ?>
<?php # you must modify sqlefs_login.php for this example to work! require_once '../sqlefs_login.php'; header('Content-Type: text/plain'); $efs->write('test.txt' , 'Hello World'); echo $efs->read('test.txt'); ?>
<?php # BEFORE USING EXAMPLES YOU MUST HAVE THE FOLLOWING: # a database # A volume (aka SQLEFS table / disk) # Your SQL server username # Your SQL server password # A COPY of this file named sql_efs_login.php in the parent directory # That file modified to the connection parameters!!! # MAKE SURE THIS PATH IS CORRECT... require '../sqlefs.class.php'; $efs = new efsclass(); # SET TO YOUR OWN database, username, and password!!! $efs->connect('mysql:mysql:host=localhost;dbname=myefsdb name pass'); # SET C to your own volume name if different than C $efs->disk('c'); # EXAMPLES WILL CREATE, DELETE, AND MODIFY FILES WITHIN THIS FOLDER: $efs->cd('/Test_Files/'); ?>
<?php # you must modify sqlefs_login.php for this example to work! require_once '../sqlefs_login.php'; if (isset($_FILES['myupload'])) { # save the file $filename = $efs->upload('myupload'); # download it... $efs->download($filename); # NOTE: # ordinarily we would sanitize a user given $filename with # $efs->tofile($filename) # but $efs->upload sanitizes to file name for us. # delete it in case its big $efs->rm($filename); # exit exit; } ?> <html> <head><head> <body> <h1>Upload and Download Example</h1> <form role="form" method="post" enctype="multipart/form-data"> <input type="file" name="myupload"> <input type="submit"> </form> </body> </html>