data folder cannot be accessed on shared host

i just moved from one shared hosting platform to another as the team at the 1st one are not responding to messages.. i have no idea why.. i hadn't been hassling them in any way..

in the process of doing that, i have discovered that i cannot access some of the data folders to back them up because they are 'owned' by the webserver and not by my login account.. since i cannot reach the server team, i am perceiving that i have no way to access the folders and their contents.. and some profiles will lose their images and data..

does anyone know of a way to resolve this?

i could in theory set the nameservers back to the original host platform and login to the site and manually download the files and reupload them to the new one.

i looked at the root databrowser plugin for 1.8 but it seems to be unfinished.

 

thanks 

  • That's very strange. So, did your previous hosting is not letting you access the data folder? If that's so, you have no choice that contact them.

    Rodolfo Hernandez

    Arvixe/Elgg Community Liaison

  • ' login to the site and manually download the files and reupload them.. '  --> didya thot abt writing some mickeymouse php code to recursively glob yr datadir to fetch & auto-DL all your files * ?

  • the data folder has a mixture of folders that are owned y my account and others that are owned by the server, thus i cannot access them via ftp etc.

    in theory i might be able to write some code to get the files, yes.. i haven't ever used php to do those kinds of tasks.. i'll look into it, thanks d. 

  • *repeat --> if elgg's php code can access the data folder -- then code some mickey mouse php to do that such similar recursive reading of the data folder upload code (eg named "FetchData.php") up to http://www.URaDomain.Com/ -- goto browser and hit  http://www.URaDomain.Com/FetchData.php and.. grab all your data off away ;) delivered via the browser to'save as.." ;oOx)

     

  • probably easier than that, just use the apache permissions to change the permissions so you *can* grab it through ftp

    From the php chmod page:

    function chmod_R($path, $filemode, $dirmode) {
        if (
    is_dir($path) ) {
            if (!
    chmod($path, $dirmode)) {
               
    $dirmode_str=decoct($dirmode);
                print
    "Failed applying filemode '$dirmode_str' on directory '$path'\n";
                print
    "  `-> the directory '$path' will be skipped from recursive chmod\n";
                return;
            }
           
    $dh = opendir($path);
            while ((
    $file = readdir($dh)) !== false) {
                if(
    $file != '.' && $file != '..') {  // skip self and parent pointing directories
                   
    $fullpath = $path.'/'.$file;
                   
    chmod_R($fullpath, $filemode,$dirmode);
                }
            }
           
    closedir($dh);
        } else {
            if (
    is_link($path)) {
                print
    "link '$path' is skipped\n";
                return;
            }
            if (!
    chmod($path, $filemode)) {
               
    $filemode_str=decoct($filemode);
                print
    "Failed applying filemode '$filemode_str' on file '$path'\n";
                return;
            }
        }
    }

    $path = dataroot

    $filemod = 777

    $dirmode = 777

     

    You should be able to do anything you want with it after that.  In theory  :)

  • opendir(), readdir(), closedir()... how quaint ;)

  • ah thanks, i'll do that asap.

  • @matt: that code returns:

    failed applying filemode '777' on file 'dataroot' .. 


    i thought maybe the 'dataroot' variable refers to the data path that is stored in elgg's database.. and the path is incorrectly formatted, hence chmod_R detects a file and not a directory.. however, attempting to login to the database also throws an error.. which i am uncertain of the cause of.

    so i've been looking to run an archive/zip procedure that uses zlib or bzip2  as 'zip' is not installed on the server.. the search continues for a functional script

  • ah i have done it now, using a recursive copy function