#! /bin/sh # NAME # mod_files.sh - Update of the php-source/ext/session/mod_files.sh # # SYNOPSIS # mod_files.sh basedir depth [numberofsubdirs] # # DESCRIPTION # this script creates the directories tree used by php to store the session files # (see php.ini - 'session.save_path' option) # # Example: if you want php to store the session files in a directory tree # of 3 levels of depth containing 32 directories in each directory, # first, put the setting bellow in the php.ini file: # # session.save_path = "3;/tmp/session" # # Now create the basedir directory: 'mkdir /tmp/session' # # Then, call this scrip with the following arguments: # # ./mod_files.sh ./mod_files.sh /tmp/session 3 32
if test "$2" = ""; then echo "usage: $0 basedir depth [numberofsubdirs]" echo "numberofsubdirs: if unset, defaults to 16. if 32, 32 subdirs, if 64, 64 subdirs." exit 1 fi
if test "$2" = "0"; then exit 0 fi
hash_chars="0 1 2 3 4 5 6 7 8 9 a b c d e f" if [ ! -z $3 ] ; then if test "$3" -a "$3" -eq "32"; then hash_chars="$hash_chars g h i j k l m n o p q r s t u v" if test "$3" -eq "64"; then hash_chars="$hash_chars w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z - ," fi fi fi
for i in $hash_chars; do newpath="$1/$i" mkdir $newpath || exit 1 sh $0 $newpath `expr $2 - 1` $3 done