snipplrCallback({"id":18338,"title":"php-ftp-simple-system","source":"
  1. < ?php<\/div><\/li>
  2.  <\/div><\/li>
  3.  <\/div><\/li>
  4. function formataLista($type,$name,$dir){<\/div><\/li>
  5. \t$type = substr($type,0,1);<\/div><\/li>
  6. \tif ($type == "d") {<\/div><\/li>
  7. \t\treturn "<a href='?dir=$dir$name'>$name";<\/div><\/li>
  8. \t} else {<\/div><\/li>
  9. \t\treturn "<a href='?dir=".substr($dir,0,strlen($dir)-1)."&amp;get=$dir$name&amp;name=$name' target='_blank'>$name<\/a>";<\/div><\/li>
  10. \t}<\/div><\/li>
  11. }<\/div><\/li>
  12.  <\/div><\/li>
  13. \/\/ set up basic connection<\/div><\/li>
  14.  <\/div><\/li>
  15. $ftp_server = "ftp.tata.com.br";<\/div><\/li>
  16. $ftp_user_name = "ftp";<\/div><\/li>
  17. $ftp_user_pass = "ftp";<\/div><\/li>
  18.  <\/div><\/li>
  19. $conn_id = ftp_connect($ftp_server);<\/div><\/li>
  20.  <\/div><\/li>
  21. \/\/ login with username and password<\/div><\/li>
  22. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);<\/div><\/li>
  23.  <\/div><\/li>
  24. \/\/ check connection<\/div><\/li>
  25. if ((!$conn_id) || (!$login_result)) {<\/div><\/li>
  26. echo "FTP connection has failed!";<\/div><\/li>
  27. echo "Attempted to connect to $ftp_server for user $ftp_user_name";<\/div><\/li>
  28. exit;<\/div><\/li>
  29. }<\/div><\/li>
  30.  <\/div><\/li>
  31. \/\/ specif the folder to usage<\/div><\/li>
  32. \/\/$user = "\/piralatopes";<\/div><\/li>
  33.  <\/div><\/li>
  34. $dirCurrent = $_GET['dir']."\/";<\/div><\/li>
  35.  <\/div><\/li>
  36. if ($dirCurrent == "" or $dirCurrent == "\/\/") { <\/div><\/li>
  37. \t$dirCurrent = "\/";<\/div><\/li>
  38. }<\/div><\/li>
  39.  <\/div><\/li>
  40.  <\/div><\/li>
  41. $dir = $user.str_replace("..\/","",$dirCurrent);<\/div><\/li>
  42.  <\/div><\/li>
  43. $tmpSearch = substr($dirCurrent,0,strlen($dirCurrent)-1);<\/div><\/li>
  44. $dirPast = substr($dirCurrent,0,strrpos($tmpSearch, "\/"));<\/div><\/li>
  45. $tmpSearch = "";<\/div><\/li>
  46.  <\/div><\/li>
  47. if (ftp_chdir($conn_id, $dir)) {<\/div><\/li>
  48.  <\/div><\/li>
  49. \tif($_GET['get'] != "" and $_GET['name'] != "") {<\/div><\/li>
  50. \t\t\t$destination_file .= ".".$user;<\/div><\/li>
  51. \t\t$destination_file .= basename($_GET['get']);<\/div><\/li>
  52. \t\t if (ftp_get($conn_id, $destination_file, basename($_GET['get']), FTP_BINARY)) { <\/div><\/li>
  53. \t\t\t\theader ("Cache-Control: must-revalidate, post-check=0, pre-check=0");<\/div><\/li>
  54. \t\t\t\theader ("Content-Length: " . filesize($destination_file));<\/div><\/li>
  55. \t\t\t\theader ("Content-Disposition: attachment; filename=".$_GET['name']);<\/div><\/li>
  56. \t\t\t\treadfile($destination_file);<\/div><\/li>
  57. \t\t\t\tunlink($destination_file);<\/div><\/li>
  58. \t\t }<\/div><\/li>
  59. \t\texit();<\/div><\/li>
  60. \t}<\/div><\/li>
  61.  <\/div><\/li>
  62.  <\/div><\/li>
  63. ?><\/div><\/li>
  64. < !DOCTYPE html PUBLIC "-\/\/W3C\/\/DTD XHTML 1.0 Transitional\/\/EN"<\/div><\/li>
  65. \t"http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd"><\/div><\/li>
  66. <html><\/div><\/li>
  67. \t<head><\/div><\/li>
  68. \t<title>FTP<\/title><\/div><\/li>
  69. \t\t<style type="text\/css" media="screen"><\/div><\/li>
  70. \t\t\tbody {<\/div><\/li>
  71. \t\t\t\tfont-family: "Trebuchet MS";<\/div><\/li>
  72. \t\t\t}<\/div><\/li>
  73. \t\t<\/style><\/div><\/li>
  74. \t<\/head><\/div><\/li>
  75. \t<body><\/div><\/li>
  76.  <\/div><\/li>
  77. \t<h2>Arquivos na Pasta: < ?= $dirCurrent?><\/h2><\/div><\/li>
  78. < ?<\/div><\/li>
  79.  <\/div><\/li>
  80. \tif($_FILES['upload_file']['name'] != '') {<\/div><\/li>
  81.  <\/div><\/li>
  82.  <\/div><\/li>
  83. \t\t$source_file = $_FILES['upload_file']['tmp_name'];<\/div><\/li>
  84. \t\t$destination_file = $_FILES['upload_file']['name'];\t<\/div><\/li>
  85. \t\t\/\/ upload the file<\/div><\/li>
  86. \t\t$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);<\/div><\/li>
  87.  <\/div><\/li>
  88. \t\t\/\/ check upload status<\/div><\/li>
  89. \t\tif (!$upload) {<\/div><\/li>
  90. \t\t echo "FTP upload has failed!<br \/>";<\/div><\/li>
  91. \t\t } else {<\/div><\/li>
  92. \t\t echo "Uploaded $source_file to $ftp_server as $destination_file<br \/>";<\/div><\/li>
  93. \t\t }<\/div><\/li>
  94.  <\/div><\/li>
  95. \t}<\/div><\/li>
  96.  <\/div><\/li>
  97. \tif ($_POST['new_dir'] != "") {<\/div><\/li>
  98. \t\t$newDir = $dir.$_POST['new_dir'];<\/div><\/li>
  99. \t\tif (@ftp_mkdir($conn_id, $newDir)) {<\/div><\/li>
  100. \t\t\t echo "successfully created $newDir<br \/>";<\/div><\/li>
  101. \t\t} else {<\/div><\/li>
  102. \t\t \techo "There was a problem while creating $newDir<br \/>";<\/div><\/li>
  103. \t\t}<\/div><\/li>
  104. \t}<\/div><\/li>
  105.  <\/div><\/li>
  106.  <\/div><\/li>
  107. \t$listHard = ftp_rawlist($conn_id, $dir);<\/div><\/li>
  108. \t$listEasy = ftp_nlist($conn_id, $dir);<\/div><\/li>
  109.  <\/div><\/li>
  110. \techo "<ul>";<\/div><\/li>
  111. \tif ($dirCurrent != "\/" and $dirCurrent != "") {<\/div><\/li>
  112. \t\techo "<li><a href='?dir=$dirPast'>..<\/a><\/li>";<\/div><\/li>
  113. \t}<\/div><\/li>
  114. \t$i = 0;<\/div><\/li>
  115. \tforeach($listHard as $list) {<\/div><\/li>
  116. \t\techo "<li>".formataLista($list,$listEasy[$i],$dirCurrent)."<\/li>";<\/div><\/li>
  117. \t\t$i++;<\/div><\/li>
  118. \t}<\/div><\/li>
  119. \techo "<\/ul>";<\/div><\/li>
  120.  <\/div><\/li>
  121. ?><\/div><\/li>
  122.  <\/div><\/li>
  123. \t<h3>Enviar Arquivos<\/h3>\t<\/div><\/li>
  124.  <\/div><\/li>
  125. \t<form action="?dir=<?=<\/span> $dirCurrent<\/span>?><\/span>" enctype="multipart\/form-data" method="post"><\/div><\/li>
  126. \t\t<input type="file" name="upload_file" id="upload_file"\/><\/div><\/li>
  127. \t\t<p><input type="submit" value="Enviar &rarr;"\/><\/p><\/div><\/li>
  128. \t<\/form><\/div><\/li>
  129.  <\/div><\/li>
  130. \t<h3>Criar Pasta<\/h3>\t<\/div><\/li>
  131.  <\/div><\/li>
  132. \t<form action="?dir=<?=<\/span> $dirCurrent<\/span>?><\/span>" method="post"><\/div><\/li>
  133. \t\t<input type="text" name="new_dir" id="new_dir"\/><\/div><\/li>
  134. \t\t<input type="submit" value="Enviar &rarr;"\/><\/div><\/li>
  135. \t<\/form><\/div><\/li>
  136.  <\/div><\/li>
  137. <\/body><\/div><\/li>
  138. < ?<\/div><\/li>
  139.  <\/div><\/li>
  140. } else {<\/div><\/li>
  141. \theader("location:?dir=\/");<\/div><\/li>
  142. }<\/div><\/li>
  143.  <\/div><\/li>
  144. \/\/ close the FTP stream<\/div><\/li>
  145. ftp_close($conn_id);<\/div><\/li>
  146. ?><\/div><\/li><\/ol><\/pre>","link":"https:\/\/snipplr.com\/view\/18338\/php-ftp-simple-system"});