kalobok
Новичок
выборочная загрузка
я нашел вот такой вот скриптик для загрузки на ftp сервер.
но! в скрипте можно только указать адрес ftp сервера юзернаме и пароль а нужно чтоб юзер мог выбрать адрес хоста а скрипт уже сам взял из записи пароль и юзернаме для него.
например если есть три адреса ftp://adress1 ,ftp://adress2 , ftp://adress3 то выбрав один из них подбирается и пароль и юзрнаме. в пхп я еще слаб и не дошел даже до массивов
а тут на тебе такая штука помогите пожалуйста.
я нашел вот такой вот скриптик для загрузки на ftp сервер.
но! в скрипте можно только указать адрес ftp сервера юзернаме и пароль а нужно чтоб юзер мог выбрать адрес хоста а скрипт уже сам взял из записи пароль и юзернаме для него.
например если есть три адреса ftp://adress1 ,ftp://adress2 , ftp://adress3 то выбрав один из них подбирается и пароль и юзрнаме. в пхп я еще слаб и не дошел даже до массивов
а тут на тебе такая штука помогите пожалуйста.
PHP:
<?
//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","2M");
//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 2meg files and some overhead
ini_set("post_max_size","8M");
?>
<html>
<head>
<title>ftp connect and upload</title>
</head>
<body>
<?
//check to see if we have submited yet
if($_POST["submit"]!="submit"){
//not yet so lets make the form
?>
<p>Upload Files to ftp site (2M MAX)</p>
<p>
<input type="file" name="userfiles[]2">
<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>
<br>
<!-- change below to your max -->
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<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="ftpuser"; //change to ftp username
$ftp_user_pass="ftppass"; //change to ftp password
$ftp_server="yoursitehere.com"; //change to ftp url
$ftp_dump_dir="/destination"; //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 = "file".($x+1)."_".date("MdY");
$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>