Jump to content
xisto Community

vainsoft

Members
  • Content Count

    2
  • Joined

  • Last visited

  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.