Jump to content
xisto Community

vainsoft

Members
  • Content Count

    2
  • Joined

  • Last visited

Posts posted by vainsoft


  1. Alright I am trying to have a PHP FTP Upload Form that allows the user to create the directory folder for where they want to upload there files to. example:Main Directory: vainsoft.comThere directory: vainsoft.com/modeling or vainsoft.com/photographyBut I dont want them to be able to upload things into the main directory, only sub-directories, is that possible with this coding that I have:

    <?//uses $_FILES[] global array//see manual for older PHP version info//This function will be used to get the extension from the filenamefunction get_extension($file,$length=-1){$p = strrpos($file,".");$p++;if($length!=-1){  $ext = substr($file,$p,$length);}if($length==-1){  $ext = substr($file,$p);}$ext = strtolower($ext);return $ext;}//Not good practice, but here anyway//change to suit your needs//also some have to be set in the ini//for this to correctly work//2meg maxini_set("upload_max_filesize","100M");//turn on file uploadsini_set("file_uploads","1");//set your temp dirini_set("upload_tmp_dir","/tmp");//set post size large enough to accomidate//3 100meg files and some overheadini_set("post_max_size","180M");?><html><head>  <title>VainSoft - Upload Form</title></head><body><?//check to see if we have submited yetif($_POST["submit"]!="submit"){//not yet so lets make the form?><p>Upload Images here, 10 images at a time, hit back after upload to upload more. (100M MAX)</p><p><form name="fileup" method="post" enctype="multipart/form-data" action="<? echo $PHP_SELF; ?>"><input type="file" name="userfiles[]"><br><input type="file" name="userfiles[]"><br><input type="file" name="userfiles[]"><br><input type="file" name="userfiles[]"><br><input type="file" name="userfiles[]"><br><input type="file" name="userfiles[]"><br><input type="file" name="userfiles[]"><br><input type="file" name="userfiles[]"><br><input type="file" name="userfiles[]"><br><input type="file" name="userfiles[]"><br><br><!-- change below to your max --><input type="hidden" name="MAX_FILE_SIZE" value="1000000000"><input type="submit" value="submit" name="submit"></form></p><?}//see if we have submited and that the files array has been setif(($_POST["submit"]=="submit")&&(is_array($_FILES['userfiles']))){$ftp_user_name="******"; //change to ftp username$ftp_user_pass="******"; //change to ftp password$ftp_server="******"; //change to ftp url$ftp_dump_dir="******"; //change to destination directory//go through all the filesfor($x=0;$x<count($_FILES['userfiles']['name']);$x++){  //now we do some file checking  //check to see if file is there  if($_FILES['userfiles']['name'][$x]!="none"){  //file has a name  //check filesize      if($_FILES['userfiles']['size'][$x]!=0){        //file is larger than 0 bytes          //Check to see if it is uploaded          if(is_uploaded_file($_FILES['userfiles']['tmp_name'][$x])){               //file has been uploaded!             //let the user know their file has be uploaded             echo "file ".$_FILES['userfiles']['name'][$x]." uploaded!<br>";             //conect to ftp server             $conn_id = ftp_connect($ftp_server);            // login with username and password              $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);            // check connection             if ((!$conn_id) || (!$login_result)) {              echo "FTP connection has failed!<br>";              echo "Attempted to connect to $ftp_server for user $ftp_user_name";              exit;            } else {                 echo "Connected to $ftp_server! <br>";                 //set PASV mode                 if(!ftp_pasv($conn_id,TRUE)){                     echo "Could not enter PASV mode!";                 }                 //rename to file#_date.ext                 $filename = $_FILES['userfiles']['name'][$x];                  //$filename.= ".".get_extension($_FILES['userfiles']['name'][$x],3);                 //change directory                 if (@ftp_chdir($conn_id, $ftp_dump_dir)) {                     //maybe you want to make sure we are in the correct directory                    echo "Current directory is now : ", ftp_pwd($conn_id), "\n";                } else {                  //you want to know if it didn't work                  echo "Couldn't change directory\n";                }                  //upload the file and let the user know what happened                if(ftp_put($conn_id,$filename,$_FILES['userfiles']['tmp_name'][$x],FTP_BINARY)){                       echo "File ".$_FILES['userfiles']['name'][$x]." was sent successfully<br>";                    echo "File was named ".$filename."<br>";                }else{                       echo "There was a problem sending file ".$_FILES['userfiles']['name'][$x]."<br>";;                         }                }                // close the FTP stream                ftp_close($conn_id);            }            else echo"File was not uploaded!<br>";        }    }    echo "<br>";}//end for loop}//That's all folks!?></body></html>

    Any help with this will be grateful.

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.