Foros del Web » Programando para Internet » PHP »

ayuda! sistema de hosting web

Estas en el tema de ayuda! sistema de hosting web en el foro de PHP en Foros del Web. hola buenos dias, utilizo este sistema en php&mysql para dar hosting en mi web. http://mundoloko.es/web/ me gustaria agregarle un sistema del tipo fantastico con el ...
  #1 (permalink)  
Antiguo 27/08/2008, 16:03
 
Fecha de Ingreso: diciembre-2006
Mensajes: 153
Antigüedad: 17 años, 4 meses
Puntos: 1
Pregunta ayuda! sistema de hosting web

hola buenos dias, utilizo este sistema en php&mysql para dar hosting en mi web.
http://mundoloko.es/web/
me gustaria agregarle un sistema del tipo fantastico con el que los usuarios puedan elegir entre varias aplicaciones y luego poder instalarlas en su pagina, si alguien me puede decir un sencillo scripts con esta funcion de copiar datos aun directorio
el scripts utiliza la varible $udir para subir archivos a la a carpeta de usuario entoncs el scripts tendria q instalarlo en la carpeta del usuario,esto es parte del codigo del administrador de archivos de este sistema.

gracias a todos..

<?
extract($HTTP_GET_VARS);
extract($HTTP_POST_VARS);
$root="users/$udir";
$act=$HTTP_GET_VARS['act'];
if($act==""){
//echo "<center>bienvenido $inf[uname]</center>";
$allowed_spc=$um[0]/1024;
$link1=getenv(HTTP_HOST);
$link="http://web.mundoloko.es/$udir/";

echo "<center><BR><img src=\"img/homepage.gif\"> su pagina principal: <a href=\"$link\" target=_blank>$link</a><BR>uso de espacio: $esize $ext of available $allowed_spc Mb<Table border=0 width=350 style='BORDER:#000000 1px solid;' cellpadding=0 cellspacing=0><TR bgcolor='#FFFFFF'><TD bgcolor=$bg width=$wdt%>&nbsp;</TD><TD width=$left% bgcolor=#FFFFFF></TD></TR></Table></center>";
$usr=base64_decode($_SESSION['loged']);
$fre=file("users/".$usr.".txt");
$ll=sizeof($fre);
for($i=0;$i<sizeof($fre);$i++){
$used+=$fre[$i];
}

$tim=sizeof($used)-1;
if($used<1024){
$disp=round($used,2);
$extension = "Kb";
}elseif($used>=1024){
$disp=round($used/1024,2);
$extension = "Mb";
}
$avai=file("users/opt.txt");
if($avai[0]<1024){
$adisp=round($avai[0],2);
$exte = "Kb";
}elseif($avai[0]>=1024){
$adisp=round($avai[0]/1024,2);
$exte = "Mb";
}
$rtio=$used/$avai[0];
if ($rtio>0.9){
$bg="#FF0000";
}else{
$bg="#009966";
}
$widt=$rtio*100;
$lef=100-$widt;

echo "<center>transferencia usada: $disp $extension de asignados $adisp $exte de quota<Table border=0 width=350 style='BORDER:#000000 1px solid;' cellpadding=0 cellspacing=0><TR bgcolor='#FFFFFF'><TD bgcolor=$bg width=$widt%>&nbsp;</TD><TD width=$lef% bgcolor=#FFFFFF></TD></TR></Table></center>";
}

if ($act=="view"){
echo"<center><FONT SIZE=2 face=arial>Viewing $p</FONT><table width=94% border=1 bordercolor=#AFC6DB cellspacing=0><tr><td>";
$po=show_source("$root$dir/$p");
echo "</td></tr></table><table><form method=post action=\"?&dir=$dir\"><tr><td align=middle><input type=submit value=Back></form></td></tr></table></center>";
}
if ($act=="see"){

$image_info = getimagesize("$root$dir/$p");
$image_stat = stat("$root$dir/$p");
echo"<center><FONT SIZE=2 face=arial>Viewing $p</FONT><table width=$image_info[0] height=$image_info[1] border=1 bordercolor=#AFC6DB cellspacing=0 valign=middle bgcolor=#fffff><tr><td align=middle valign=middle>";
$po="<img src='$root$dir/$p'>";
echo "$po</td></tr></table><table width=80% align=middle><td align=middle>$image_info[3]</td></tr></table><table><form method=post action=\"?&dir=$dir\"><tr><td align=middle><input type=submit value=volver></form></td></tr></table></center>";
}
if ($act=="changeattrib") {

echo"<center><form method=post action=?act=permission&te=$te&path=$dir><FONT SIZE=2 COLOR=#00000>Change $te Permission</FONT><BR><input type=hidden name=u value=\"$te\"><input type=radio name=no value=555>Chmod 555<BR><input type=radio name=no value=666>Chmod 666<BR><input type=radio name=no value=777>Chmod 777<BR><input type=submit vlaue=Change> <a href='?dir=$dir'>Cancel</a></form></center>";
}
if ($act=="permission") {

$v=chmod("$root$path/$u",$no);
echo "<center>$te has been set to CHMOD $v<BR><A HREF=?&dir=$path>Back</A></center>";
}
if ($act=="tempedit") {

$te=$HTTP_GET_VARS['te'];
$dir=$HTTP_GET_VARS['dir'];
$filename = "$root$dir/$te";
$fd = fopen ($filename, "r");
$stuff = fread ($fd, filesize ($filename));
fclose ($fd);
$stuff=str_replace("<textarea ","{textarea ",$stuff);
$stuff=str_replace("</textarea>","{/textarea}",$stuff);
$stuff=str_replace("<TEXTAREA ","{TEXTAREA ",$stuff);
$stuff=str_replace("</TEXTAREA>","{/TEXTAREA}",$stuff);
$stuff=str_replace("<Textarea ","{Textarea ",$stuff);
$stuff=str_replace("</Textarea>","{/Textarea}",$stuff);
?>
<td height="399" bgcolor="" width="81%" valign="top">
<center>
<form method="post" action="?act=temp2&dir=<?php echo $dir ?>&te=<?php echo $te ?>">
<table width="95%" border="1" bgcolor="#AFC6DB" bordercolor="#778899" cellpadding="0" cellspacing="0">
<tr>
<td><font size="1">File editor editing <?php echo "<b>$dir/$te</b>"; ?></font></td>
</tr>
<tr>
<td width="86%" align=middle>
<textarea name="cont" cols="80" rows="25"><?php echo $stuff ?></textarea>
</td>
</tr>
<tr>
<td width="86%" align=middle>&nbsp;
<input type="submit" name="Submit" value="Save">&nbsp;<a href="?dir=<?php echo $dir; ?>">Cancelar</a>
</td>
</tr>
<tr>
</tr>
</table></center>
</form>
<?php
}
if($act=="rename" && $te!=""){

echo "<CENTER><BR><BR><form method=post action=\"?act=\"><Table cellspacing=0><TR><TD>Renombrado $te to</TD><TD><input type=hidden name=oldname value=\"$te\"><input type=hidden name=dir value=\"$dir\"><input type=text name=rename> <input type=submit value='Rename'> <a href='?dir=$dir'>Cancel</a> </TD></TR></Table></CENTER>";
}
if ($act=="temp2") {

$cont=stripslashes($cont);
$cont=str_replace("{textarea ","<textarea ",$cont);
$cont=str_replace("{/textarea}","{/textarea}",$cont);
$cont=str_replace("{TEXTAREA ","<TEXTAREA ",$cont);
$cont=str_replace("{/TEXTAREA}","</TEXTAREA>",$cont);
$cont=str_replace("{Textarea ","<Textarea ",$cont);
$cont=str_replace("{/Textarea}","</Textarea>",$cont);

$fil = "$root$dir/$te";
$fp = fopen($fil, "w");
fputs($fp, $cont);
fclose($fp);
?>
<td height="399" bgcolor="<?php echo $color1 ?>" width="81%" valign="top">
<table width="100%" border="0" cellpadding="5" cellspacing="0">
<tr>
<td align=middle><font size="2">archivo guardado<BR><?php echo "<a href='?&dir=$dir'>volver</a>"; ?></font></td>
</tr>
</table>

<?php
}
if ($act=="") {

?>
<td height="399" bgcolor="<?php echo $color1 ?>" width="81%" valign="top">
<table width="100%" border="0" cellpadding="5" cellspacing="0">
<tr>
<td>
</td>
</tr>
<tr valign="top">
</td>
</tr>
<tr>
<td width="86%">
<table align=center width=80%><form method="post" enctype="multipart/form-data">
<TR><TD width=25%>Upload:</TD><TD width=30%>
<input type=file name='ucv'></TD><input type=hidden name=idx value='upload'><TD align=left><input type=submit value='enviar'>
</TD><TD></TD></TR></form>
<form method=post><TR><TD>crear archivo:</TD><TD><input type=text name=mkfile size=35></TD><TD><input type=submit value=' aceptar '></TD></TR></form>
<form method=post><TR><TD>crear directorio:</TD><TD><form method=post><input type=text name=mkdir size=35></TD><TD><input type=submit value=' aceptar '></TD></TR></form>

</table>
  #2 (permalink)  
Antiguo 27/08/2008, 16:06
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: ayuda! sistema de hosting web

Bueno la verdad no te pude entender bien, pero por que te complicas en tanto codigo, por que no haces que se bajen el aplicativo y que ellos mismos los suban a su servidor o directorio, ya que para copiarlo a otro directorio del cliente, necesitarias permisos supongo???

aver dime tu ps.....

Atte.

MasterOjitos
  #3 (permalink)  
Antiguo 27/08/2008, 16:22
 
Fecha de Ingreso: diciembre-2006
Mensajes: 153
Antigüedad: 17 años, 4 meses
Puntos: 1
Exclamación Respuesta: ayuda! sistema de hosting web

acabo de encontrar buscando en el foro una funcion para copiar directorios pero nose donde poner si se puede un boton para comenzar la copia de la carpeta, y la variable $udir que es la del directorio del usuario donde iria en el codigo.


muchas gracias por tu ayuda
// copia directrio y contenidos de forma recursiva

function DuplicarDir($DirPorcedencia,$DirDestino) {
if(!@mkdir($DirDestino, 0777)) return false;
$DirCorriente = getcwd();
if (is_dir($DirPorcedencia)) {
chdir($DirPorcedencia);
$handle=opendir('.');
while ($file = readdir($handle)) {
if (($file != ".") && ($file != "..")) {
if (is_dir($file)) { // si es una carpeta rellamanos a l funcion
DuplicarDir($DirPorcedencia.$file."/",$DirDestino.$file."/");
chdir($DirPorcedencia);
}
if (is_file($file)){ // si es un archivo lo copiamos
if(!@copy($DirPorcedencia.$file,$DirDestino.$file) ) return false;
}
} // while
} // fin if
closedir($handle);
}
return true;
}

if(! DuplicarDir("ruta directorio procedencia /","ruta directorio destino /")) echo "No se ha podico copiar el direcctrio ".$DirDestino;
else echo "Correcto, se ha duplicado el directorio ".$DirDestino;

muchas gracias

Última edición por waty90; 27/08/2008 a las 16:34
  #4 (permalink)  
Antiguo 27/08/2008, 16:34
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: ayuda! sistema de hosting web

Cita:
Iniciado por waty90 Ver Mensaje
lo 1º gracias por tu ayuda!

el problema es que el administrador de archivos funciona a traves de la web y no por ftp y sube archivos de uno en uno y entonces va muy lento, no se si hacen falta permisos para copiar una carpeta a otra ruta de un servidor pero seguramente pueda cambiarlos si son necesarios desde el panel de control,hasta subir una aplicacion entera se tarda mucho por eso quiero tener un scripts que haga la funcion de copiar una carpeta a otra para hacerlo mas facil para el usuario, si me puedes decir como tendria que ser el codigo para poder adaptarlo despues al sistema te lo agradeceria mucho.

muchas gracias
Ya mira el codigo seria algo asi:

Código PHP:
<?php
function copiar_carpeta($base$destino)
{

// Simple copy for a file
    
if (is_file($base)) {
        return 
copy($base$destino);
    }
 
    
// Make destination directory
    
if (!is_dir($destino)) {
        
mkdir($destino);
    }
 
    
// Loop through the folder
    
$dir dir($base);
    while (
false !== $entry $dir->read()) {
        
// Skip pointers
        
if ($entry == '.' || $entry == '..') {
            continue;
        }
 
        
// Deep copy directories
        
if ($dest !== "$base/$entry") {
            
copyd("$base/$entry""$destino/$entry");
        }
    }
 
    
// Clean up
    
$dir->close();
    return 
true;
}
copiar_carpeta('carpeta_origen','carpeta_destino');
?>
asi moverias toda las carpeta....espero te ayude.

Atte.

MasterOjitos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:32.