Underc0de - Hacking y seguridad informática

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Only en Agosto 05, 2011, 02:41:10 am

Título: [SOLUCIONADO][Taller PHP] Duda taller php 2 ejercicio 2
Publicado por: Only en Agosto 05, 2011, 02:41:10 am
Tengo una duda en este ejercicio la verdad no he podido hacerlo funcionar .. quisiera que me explicaran el porque ; gracias a todos

dejo los codigos

Código: HTML5
  1. <form action='ejercicio2.php' method='POST' enctype='multipart/form-data'>
  2. Seleccione archivo: <input type='file' name='file' /><br />
  3. <input type='submit' name='upload' value='Subir' />
  4. </form>

Código: PHP
  1. <?php
  2.  
  3. #subir archivo
  4. echo 'Nombre temporal: '.$_FILES['file']['tmp_name'].'<br/>';
  5. echo 'Nombre: '.$_FILES['file']['name'].'<br/>';
  6. echo 'Tamaño (en bytes): '.$_FILES['file']['size'].'<br/>';
  7. echo 'Tipo: '.$_FILES['file']['type'].'<br/>';
  8. echo 'Número de error: '.$_FILES['file']['error'].'<br/>';
  9.  
  10. #Nombre temporal: C:\WINDOWS\Temp\php1C.tmp
  11. #Nombre: taller.txt
  12. #Tamaño (en bytes): 0
  13. #Tipo: text/plain
  14. #Número de error: 0
  15.  
  16. #copiar archivo
  17. $dir = 'uploads/';
  18. if(copy($dir.'taller.txt', $dir.'tallercopia.txt'))
  19. {
  20.         echo 'Archivo Copiado Correctamente';
  21. }
  22. else
  23. {
  24.         echo 'Archivo Copiado Incorrectamente';
  25. }
  26.  
  27. #renombrar archivo
  28. rename('tallercopia.txt', 'archivonuevo.txt');
  29. ?>

y esto me marca en el navegador

Nombre temporal: C:\WINDOWS\Temp\phpA0.tmp
Nombre: taller.txt
Tamaño (en bytes): 0
Tipo: text/plain
Número de error: 0

Warning: copy(uploads/taller.txt) [function.copy]: failed to open stream: No such file or directory in C:\AppServ\www\taller\Unidad 2\ejercicio2.php on line 18
Archivo Copiado Incorrectamente
Warning: rename(tallercopia.txt,archivonuevo.txt) [function.rename]: No such file or directory in C:\AppServ\www\taller\Unidad 2\ejercicio2.php on line 28
Título: Re:[Taller PHP]Duda taller php 2 ejercicio 2
Publicado por: arthusu en Agosto 05, 2011, 03:19:34 am
soi nuevo creo que el tuyo es un error en el directorio no lo puedes copiar asi, mira qui te dejo como me quedo el mio aver si puedes ver tu error o algo asi a mi ya me salio bien ai va:

PD: por defecto el txt lo puse como xd.txt  :-\

HTML: taller2_prueba2.html
Código: HTML5
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Subidor</title>
  5. </head>
  6.  
  7. <form action="subidor.php" method="post" enctype="multipart/form-data">
  8. Seleccione el archivo a subir: <input type="file" name="archivo" /><br />
  9. <input type="submit" name="upload" value="Subir!" /><br />
  10. </form>
  11. </body>
  12. </html>
  13.  

PHP: subidor.php
Código: PHP
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin t&iacute;tulo</title>
  6. </head>
  7.  
  8. <body>
  9. <?php
  10. $ext_permitidas = array('txt');
  11. $tmp = $_FILES['archivo']['tmp_name'];
  12. $name = $_FILES['archivo']['name'];
  13. $ext = pathinfo($name, PATHINFO_EXTENSION);
  14. $dir = 'uploads/';
  15. if(in_array($ext, $ext_permitidas))
  16. {
  17. if(move_uploaded_file($tmp, $dir.$name))
  18. {
  19. echo 'Archivo subido correctamente. <br />';
  20. rename('uploads/xd.txt', 'uploads/xd1.txt');
  21. echo "renombrado correctamente <br />";
  22. }else{
  23. echo 'Hubo un error al subir el archivo.';
  24. }
  25. }else{
  26. echo 'Archivos con la extension '.$ext.' no son permitidos';
  27. }
  28. ?>
  29. </body>
  30. </html>

Saludos
Título: Re:[Taller PHP]Duda taller php 2 ejercicio 2
Publicado por: Xt3mP en Agosto 05, 2011, 09:33:25 am
Citar
Warning: copy(uploads/taller.txt) [function.copy]: failed to open stream: No such file or directory in C:\AppServ\www\taller\Unidad 2\ejercicio2.php on line 18

Lo que sucede es que no estas subiendo el archivo, solo estas agarrando el temporal; por eso mismo te dice que no existe el archivo a abrir. Ocupas primero subir y mover el archivo (move_uploaded_file()) y luego copiarlo y renombrarlo.

Saludos.
Título: Re:[Taller PHP]Duda taller php 2 ejercicio 2
Publicado por: Only en Agosto 05, 2011, 09:48:09 pm
Citar
Warning: copy(uploads/taller.txt) [function.copy]: failed to open stream: No such file or directory in C:\AppServ\www\taller\Unidad 2\ejercicio2.php on line 18

Lo que sucede es que no estas subiendo el archivo, solo estas agarrando el temporal; por eso mismo te dice que no existe el archivo a abrir. Ocupas primero subir y mover el archivo (move_uploaded_file()) y luego copiarlo y renombrarlo.

Saludos.

Ok lo intento y te cuento