Comunidad de diseño web y desarrollo en internet online

Link Para borrar un archivo en php Pliss ayudenme

Citar            
MensajeEscrito el 05 Dic 2009 02:26 pm
X favor ayudenme llevo muxo time intntando solusionarlo Y Nose muxo de php :l . Thnks desde aora =)

Miren tngo este problema:

Tengo un upload en javascript y php y quiero que cuando el usuario suba un archibo a este le salga un link para que lo pueda borrar.

Lo he consegido mediante la funcion unlink con este codigo:


Código PHP :

<? 
 
/* 
archivo.php?archivo=juaz.jpg 
*/ 
 
@unlink($_GET['borrar']); 
 
 
?>



Y luego este:



Código PHP :

<a href="index.php?borrar=files/'+file.name+'" >delete &raquo;</a>



Todo parece ir bien pero no. El problema es que pueden borrar cualquier
archivo es un gran problema pueden borrar el index o cualqier otro archivo que sirba para el upload.


Thnks desde aora :)

Por pepelecho

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Dic 2009 06:15 pm
O_O eso es lo mas inseguro que ha visto



supongo que los archivos estan en una carpeta especifica, ademas de que previamente esos arhivos los subio un usuario y que por tanto estas en la DB


pues bien en esa url solo debe ir el ID de la ruta del archivo entonces de la DB tomas la ruta y ahi, si, borras el archivo

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 05 Dic 2009 08:00 pm
Claro pero lo que nose es como conseguir la url completa :l

Por pepelecho

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Dic 2009 09:23 pm
digamos que los archivos los guardas en "uploads" en la carpeta raiz en la DB tienes el nombre de cada archivo

Código PHP :

$archivo = funcionQueRetornaArchivoSegunID(inval($_GET['id'])); // intval es para prevenir ataques por sqlinyection
unlink('./uploads/'.$archivo);

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 05 Dic 2009 10:03 pm
esq beras yo no uso base de datos mira sera mejor q t ponga el code xq esq nose muxo de php y nada de javascript :


Código HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Upload Multiple Con Barra de progress</title>



<? 
 
/* 
archivo.php?archivo=juaz.jpg 
*/ 
 
@unlink($_GET['borrar']); 
 
 
?>
 
 



<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="js/swfupload/swfupload.js"></script>
<script type="text/javascript" src="js/jquery.swfupload.js"></script>
<script type="text/javascript">

$(function(){
   $('#swfupload-control').swfupload({
      upload_url: "upload-file.php",
      file_post_name: 'uploadfile',
      file_size_limit : "1024",
      file_types : "*.jpg;*.png;*.gif",
      file_types_description : "Download Files",
      file_upload_limit : 5,
      flash_url : "js/swfupload/swfupload.swf",
      button_image_url : 'js/swfupload/wdp_buttons_upload_114x29.png',
      button_width : 114,
      button_height : 29,
      button_placeholder : $('#button')[0],
      debug: false
   })
      .bind('fileQueued', function(event, file){
         var listitem='<li id="'+file.id+'" >'+
            'Archivo: <em>'+file.name+'</em> ('+Math.round(file.size/6024)+' KB) <span class="progressvalue" ></span>'+
            '<div class="progressbar" ><div class="progress" ></div></div>'+
            '<p class="status" >Pendiente</p>'+
            '<span class="cancel" >&nbsp;</span>'+
            '</li>';
         $('#log').append(listitem);
         $('li#'+file.id+' .cancel').bind('click', function(){
            var swfu = $.swfupload.getInstance('#swfupload-control');
            swfu.cancelUpload(file.id);
            $('li#'+file.id).slideUp('fast');
         });
         // start the upload since it's queued
         $(this).swfupload('startUpload');
      })
      .bind('fileQueueError', function(event, file, errorCode, message){
         alert('Size of the file '+file.name+' is greater than limit');
      }) 
      .bind('fileDialogComplete', function(event, numFilesSelected, numFilesQueued){
         $('#queuestatus').text('Archivos Selecionados: '+numFilesSelected+' / Archivos Subidos: '+numFilesQueued);
      })
      .bind('uploadStart', function(event, file){
         $('#log li#'+file.id).find('p.status').text('Subiendo...');
         $('#log li#'+file.id).find('span.progressvalue').text('0%');
         $('#log li#'+file.id).find('span.cancel').hide();
      })
      .bind('uploadProgress', function(event, file, bytesLoaded){
         //Show Progress
         var percentage=Math.round((bytesLoaded/file.size)*100);
         $('#log li#'+file.id).find('div.progress').css('width', percentage+'%');
         $('#log li#'+file.id).find('span.progressvalue').text(percentage+'%');
      })
      .bind('uploadSuccess', function(event, file, serverData){
         var item=$('#log li#'+file.id);
         item.find('div.progress').css('width', '100%');
         item.find('span.progressvalue').text('100%');
                        var pathtofile='<a href="http://localhost/upload/S8B5U22SKA0/files/'+file.name+'" target="_blank" >view &raquo;</a>&nbsp;&nbsp;<a href="index.php?borrar=files/'+file.name+'" >delete &raquo;</a>';
         item.addClass('success').find('p.status').html('Completado!!! | '+pathtofile);
      })
      .bind('uploadComplete', function(event, file){
         // upload has completed, try the next one in the queue
         $(this).swfupload('startUpload');
      })
   
});   

</script>



<style type="text/css" >
#swfupload-control p{ margin:10px 5px; font-size:0.9em; }
#log{ margin:0; padding:0; width:500px;}
#log li{ list-style-position:inside; margin:2px; border:1px solid #ccc; padding:10px; font-size:12px; 
   font-family:Arial, Helvetica, sans-serif; color:#333; background:#fff; position:relative;}
#log li .progressbar{ border:1px solid #333; height:5px; background:trasparent; }
#log li .progress{ background:#999; width:0%; height:5px; }
#log li p{ margin:0; line-height:18px; }
#log li.success{ border:1px solid #339933; background:#ccf9b9; }
#log li span.cancel{ position:absolute; top:5px; right:5px; width:20px; height:20px; 
   background:url('js/swfupload/cancel.png') no-repeat; cursor:pointer; }
</style>
</head>
<body>




<center><b><font size="1" color="#000000" face="Verdana">

   <h3>&raquo; Upload Multiple Con Barra de progress</h3></b>

<div id="swfupload-control">
   <p>Sube tus archivos al servidor y disfruta descargando | Max: 10mb |</p>
   <input type="button" id="button" />
   <p id="queuestatus" ></p>
   <ol id="log"></ol>
</div>

</font>
</body>
</html>


ese es el principal luego tengo el boton i otros codes javascript

PD: Thnks x estar ayudandome =)

Por pepelecho

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Dic 2009 02:03 am
U_U debieras usar una DB es no solo lo mas facil, si no también lo mas óptimo

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 06 Dic 2009 05:02 am

pepelecho escribió:

X favor ayudenme llevo muxo time intntando solusionarlo Y Nose muxo de php :l . Thnks desde aora =)


Además deberías aprender a escribir ¬¬ Tienes en una sola línea 8 errores!!! Come on! Estoy seguro sabías como escribirla bien. Pero aun así, es mi deber darte tu merecido, lo siento :)


:bate: :bate: :bate: :bate: :bate: :bate: :bate: :bate: :bate: :bate: :bate:


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 06 Dic 2009 05:08 am

Hernán escribió:

pepelecho escribió:

X favor ayudenme llevo muxo time intntando solusionarlo Y Nose muxo de php :l . Thnks desde aora =)


Además deberías aprender a escribir ¬¬ Tienes en una sola línea 8 errores!!! Come on! Estoy seguro sabías como escribirla bien. Pero aun así, es mi deber darte tu merecido, lo siento :)


:bate: :bate: :bate: :bate: :bate: :bate: :bate: :bate: :bate: :bate: :bate:


Saludos, Hernán . -


XD y luego dicen que yo soy cruel y hosco.

vamos, es su primer post dicelo mas suave XD

efectivamente un saludo muy afectuoso a tu profe de gramática y lenguaje, que descanse en paz (lo antes posible para que deje de hacer daño).
Sin embargo utilizaste bien la etiqueta [ php] y en tu pregunta fuiste muy claro y resumiste bien tu problema desde una primera instancia (por eso respondí)

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 06 Dic 2009 06:07 am

Inyaka escribió:

Sin embargo utilizaste bien la etiqueta [ php]


Nop, lo edite yo en su post para que no se viera una pared de código XD

Pero si, es verdad, al menos sabe expresarse, cosa que muuuuchos no hacen en la primera jaja.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 10 Dic 2009 04:21 pm
q pasa q aqi de chachara i nadie me da la respuesta¿? :(

Por pepelecho

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Dic 2009 04:49 pm

pepelecho escribió:

q pasa q aqi de chachara i nadie me da la respuesta¿? :(


ya te respondimos, estábamos charlando :P es que no nos habíamos agregado al chat


si tienes mas dudas postea tu duda bien resumida (como lo hiciste una primera ves) recuerda usar la etiqueta [php] y no te extiendas demasiado, por que si te extiendes demasiado voy a ignorar el mensaje. como ese donde pusiste todo tu codigo que nunca he leido

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 11 Dic 2009 09:13 am
yaa pero esq io no se donde tngo q poner ese codigo lo e probao i no funciona Y.Y x lo menos en ese code :(

Por pepelecho

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Dic 2009 01:37 pm
Será porque no has puesto todos los detalles del problema. El codazo que posteado no tiene nada que ver con lo que preguntas.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 11 Dic 2009 04:38 pm

pepelecho escribió:

yaa pero esq io no se donde tngo q poner ese codigo lo e probao i no funciona Y.Y x lo menos en ese code :(

quizo decir:

pepelecho escribió:

ya pero es que yo no se donde tengo que poner ese codigo lo e probado yno funciona :cry: por lo menos en ese code :(




mejora esa ortografía, tranquilizate y resume bien lo que quieres preguntar, aun tengo fe en ti

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 11 Dic 2009 06:44 pm
tu puto subnormal a tokarle los webos a tuu madre tio q conio es esto 1 pto circo a onde bas Y.Y paiaso q tas asubnormalao jili pollas U.u

Por pepelecho

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Dic 2009 06:46 pm
Y si no me sale de la polla escribir bn q pasa¿?

Por pepelecho

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Dic 2009 07:02 pm

pepelecho escribió:

Y si no me sale de la polla escribir bn q pasa¿?


que no nos saldra de la polla contestarte, cristalab es una democracia XD

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 12 Dic 2009 12:37 am
Post cerrado pepelecho, no te comportes a futuro de esta forma nunca más.

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.