snipplrCallback({"id":18338,"title":"php-ftp-simple-system","source":"
< ?php<\/div><\/li> <\/div><\/li> <\/div><\/li> function formataLista($type,$name,$dir){<\/div><\/li> \t$type = substr($type,0,1);<\/div><\/li> \tif ($type == "d") {<\/div><\/li> \t\treturn "<a href='?dir=$dir$name'>$name";<\/div><\/li> \t} else {<\/div><\/li> \t\treturn "<a href='?dir=".substr($dir,0,strlen($dir)-1)."&get=$dir$name&name=$name' target='_blank'>$name<\/a>";<\/div><\/li> \t}<\/div><\/li> }<\/div><\/li> <\/div><\/li> \/\/ set up basic connection<\/div><\/li> <\/div><\/li> $ftp_server = "ftp.tata.com.br";<\/div><\/li> $ftp_user_name = "ftp";<\/div><\/li> $ftp_user_pass = "ftp";<\/div><\/li> <\/div><\/li> $conn_id = ftp_connect($ftp_server);<\/div><\/li> <\/div><\/li> \/\/ login with username and password<\/div><\/li> $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);<\/div><\/li> <\/div><\/li> \/\/ check connection<\/div><\/li> if ((!$conn_id) || (!$login_result)) {<\/div><\/li> echo "FTP connection has failed!";<\/div><\/li> echo "Attempted to connect to $ftp_server for user $ftp_user_name";<\/div><\/li> exit;<\/div><\/li> }<\/div><\/li> <\/div><\/li> \/\/ specif the folder to usage<\/div><\/li> \/\/$user = "\/piralatopes";<\/div><\/li> <\/div><\/li> $dirCurrent = $_GET['dir']."\/";<\/div><\/li> <\/div><\/li> if ($dirCurrent == "" or $dirCurrent == "\/\/") { <\/div><\/li> \t$dirCurrent = "\/";<\/div><\/li> }<\/div><\/li> <\/div><\/li> <\/div><\/li> $dir = $user.str_replace("..\/","",$dirCurrent);<\/div><\/li> <\/div><\/li> $tmpSearch = substr($dirCurrent,0,strlen($dirCurrent)-1);<\/div><\/li> $dirPast = substr($dirCurrent,0,strrpos($tmpSearch, "\/"));<\/div><\/li> $tmpSearch = "";<\/div><\/li> <\/div><\/li> if (ftp_chdir($conn_id, $dir)) {<\/div><\/li> <\/div><\/li> \tif($_GET['get'] != "" and $_GET['name'] != "") {<\/div><\/li> \t\t\t$destination_file .= ".".$user;<\/div><\/li> \t\t$destination_file .= basename($_GET['get']);<\/div><\/li> \t\t if (ftp_get($conn_id, $destination_file, basename($_GET['get']), FTP_BINARY)) { <\/div><\/li> \t\t\t\theader ("Cache-Control: must-revalidate, post-check=0, pre-check=0");<\/div><\/li> \t\t\t\theader ("Content-Length: " . filesize($destination_file));<\/div><\/li> \t\t\t\theader ("Content-Disposition: attachment; filename=".$_GET['name']);<\/div><\/li> \t\t\t\treadfile($destination_file);<\/div><\/li> \t\t\t\tunlink($destination_file);<\/div><\/li> \t\t }<\/div><\/li> \t\texit();<\/div><\/li> \t}<\/div><\/li> <\/div><\/li> <\/div><\/li> ?><\/div><\/li> < !DOCTYPE html PUBLIC "-\/\/W3C\/\/DTD XHTML 1.0 Transitional\/\/EN"<\/div><\/li> \t"http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd"><\/div><\/li> <html><\/div><\/li> \t<head><\/div><\/li> \t<title>FTP<\/title><\/div><\/li> \t\t<style type="text\/css" media="screen"><\/div><\/li> \t\t\tbody {<\/div><\/li> \t\t\t\tfont-family: "Trebuchet MS";<\/div><\/li> \t\t\t}<\/div><\/li> \t\t<\/style><\/div><\/li> \t<\/head><\/div><\/li> \t<body><\/div><\/li> <\/div><\/li> \t<h2>Arquivos na Pasta: < ?= $dirCurrent?><\/h2><\/div><\/li> < ?<\/div><\/li> <\/div><\/li> \tif($_FILES['upload_file']['name'] != '') {<\/div><\/li> <\/div><\/li> <\/div><\/li> \t\t$source_file = $_FILES['upload_file']['tmp_name'];<\/div><\/li> \t\t$destination_file = $_FILES['upload_file']['name'];\t<\/div><\/li> \t\t\/\/ upload the file<\/div><\/li> \t\t$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);<\/div><\/li> <\/div><\/li> \t\t\/\/ check upload status<\/div><\/li> \t\tif (!$upload) {<\/div><\/li> \t\t echo "FTP upload has failed!<br \/>";<\/div><\/li> \t\t } else {<\/div><\/li> \t\t echo "Uploaded $source_file to $ftp_server as $destination_file<br \/>";<\/div><\/li> \t\t }<\/div><\/li> <\/div><\/li> \t}<\/div><\/li> <\/div><\/li> \tif ($_POST['new_dir'] != "") {<\/div><\/li> \t\t$newDir = $dir.$_POST['new_dir'];<\/div><\/li> \t\tif (@ftp_mkdir($conn_id, $newDir)) {<\/div><\/li> \t\t\t echo "successfully created $newDir<br \/>";<\/div><\/li> \t\t} else {<\/div><\/li> \t\t \techo "There was a problem while creating $newDir<br \/>";<\/div><\/li> \t\t}<\/div><\/li> \t}<\/div><\/li> <\/div><\/li> <\/div><\/li> \t$listHard = ftp_rawlist($conn_id, $dir);<\/div><\/li> \t$listEasy = ftp_nlist($conn_id, $dir);<\/div><\/li> <\/div><\/li> \techo "<ul>";<\/div><\/li> \tif ($dirCurrent != "\/" and $dirCurrent != "") {<\/div><\/li> \t\techo "<li><a href='?dir=$dirPast'>..<\/a><\/li>";<\/div><\/li> \t}<\/div><\/li> \t$i = 0;<\/div><\/li> \tforeach($listHard as $list) {<\/div><\/li> \t\techo "<li>".formataLista($list,$listEasy[$i],$dirCurrent)."<\/li>";<\/div><\/li> \t\t$i++;<\/div><\/li> \t}<\/div><\/li> \techo "<\/ul>";<\/div><\/li> <\/div><\/li> ?><\/div><\/li> <\/div><\/li> \t<h3>Enviar Arquivos<\/h3>\t<\/div><\/li> <\/div><\/li> \t<form action="?dir=<?=<\/span> $dirCurrent<\/span>?><\/span>" enctype="multipart\/form-data" method="post"><\/div><\/li>