Welcome Guest ( Log In | Register)



 
Reply to this topicStart new topic
> Php Ftp Upload Form, Adding User Directory to PHP Upload Form - Help
vainsoft
post Feb 9 2008, 05:06 PM
Post #1


Newbie
*

Group: Members
Posts: 1
Joined: 9-February 08
Member No.: 57,609



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.com
There directory: vainsoft.com/modeling or vainsoft.com/photography


But 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:
CODE

<?
//uses $_FILES[] global array
//see manual for older PHP version info

//This function will be used to get the extension from the filename
function 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 max
ini_set("upload_max_filesize","100M");

//turn on file uploads
ini_set("file_uploads","1");

//set your temp dir
ini_set("upload_tmp_dir","/tmp");

//set post size large enough to accomidate
//3 100meg files and some overhead
ini_set("post_max_size","180M");

?>
<html>
<head>
<title>VainSoft - Upload Form</title>
</head>
<body>
<?
//check to see if we have submited yet
if($_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 set
if(($_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 files
for($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.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

Collapse

> Similar Topics

Topics Topics
  1. Getting List Of Directories And Files Using Php(6)
  2. Upload Pics With Php?(6)
  3. Adding Users To Databases Using Phpmyadmin(2)
  4. Login / Authetication System Using Database(4)
  5. Adding One Day To Date(3)
  6. Password Strength / User Availablity Scripts ?(2)
  7. How To Sort Files Of A Directory using Php(11)
  8. Directory Files Displaying(5)
  9. How To List Files In A Directory + Subdirectory And Then Use Them.(8)
  10. Script That Tracks The User Status(4)
  11. Wappyftp V1.00(8)
  12. Displaying Files Of A Directory(2)
  13. Changin My Phpnuke Directory...please Help(13)
  14. Display Random File In A Directory(9)
  15. Php Codes: Adding Clothing, Ion Laser Guns And Shooting Projectile Cannons(3)
  1. Help Needed With Directory/file Listing Code Infinite Loop(5)
  2. Directing To A User To Specific Page First Time Only(3)
  3. Reading Files From Directory To Array, And Using $_get To Get Them(2)
  4. Unofficial Trap17 Hosted Members Directory(13)
  5. Batch Upload Script(1)
  6. File Upload(1)
  7. Multiple Drop Down Lists ?(4)
  8. Compare 2 List Of User Ids From Different Tables(1)
  9. Adding String To Integer?(1)
  10. [mysql]get Id Of Loged In User?(7)
  11. How To Display Images Of A Directory(4)
  12. Image Upload(11)
  13. Unexpected T_string In User.php [resolved](5)


 



- Lo-Fi Version Time is now: 27th July 2008 - 02:08 AM