Comunidad de diseño web y desarrollo en internet online

AUXILIO

Citar            
MensajeEscrito el 03 Dic 2008 05:23 pm
necesito mostrar la imagen que se esta guardando en un directorio dentro del sitio web pero no se me muestra lo que hago es primero utilizar la funcion:

if($_REQUEST['enviado'] == 1){
$ruta = "./imagenes/" . $_FILES['archivo']['name'];
copy($_FILES['archivo']['tmp_name'], $ruta);
//copy($_FILES['archivo']['&id_cedula'], $ruta);
echo "<script>alert('El archivo subio correctamente');</script>";
}
si se me guarda en la carpeta destino pero al querer mostrarla no lo hace:

<?
$dir=opendir("./imagenes");
while ($file=readdir($dir)){
$auxiliar = explode(".", $file);
if($auxiliar[1] == "jpg" ){
echo "<img src='imagenes/$file'><br>";

}
}
?>

auxilio es de suma urgencia..... po fa por fa porfa

Por lexxa_ga

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Dic 2008 06:19 pm

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 04 Dic 2008 02:05 am
yo te digo esto :

1 remplaza request por $_post
2 verifica los permisos con chmod

bueno no veo mas nada q decir T

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 04 Dic 2008 03:18 pm
ya lo hice pero nada ahora no me da error pero no se me guarda el archivo en la carpeta...... alguien por fa pede observar y ver donde esta el error?

<form name="formulario" enctype="multipart/form-data" method="GET" action="cargar_foto1.php" onsubmit="return validar(this)">

<?php
$var_cedula= $_GET['id_cedula'];
echo $var_cedula;
chmod("./imagenes", 0777);
$varcedula =$_FILES['archivo']['name'];
$varcedula = $var_cedula;

if($_REQUEST['enviado'] == 1){

$ruta = "./imagenes/" . $varcedula;
$archivo = $_FILES["archivo"]['name'];
copy($_FILES['archivo']['tmp_name'], $ruta);
echo "<script>alert('El archivo subio correctamente');</script>";
}
?>

Por lexxa_ga

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Dic 2008 03:36 pm
¿crees que los links puestos mas arriba eran una burla o eran innecesarios ?

usa la etiqueta [.code] para mostrar codigo y evita postear lineas de código innecesarias


repito : http://www.cristalab.com/foros/p391602.html

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 04 Dic 2008 09:45 pm
brother primero ayudemos y despues regañamos ;-) :-)

Por talcual

686 de clabLevel



 

Colombia

msie7
Citar            
MensajeEscrito el 05 Dic 2008 04:26 am
XD ya ayude le dije que viese la función chmod con eso es suficiente, lo mas probable es que tenga un problemas de permisos y que todo ese monton de codigo (que sin la etiqueta code no me digne a leer) halla estado demás

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 2008 02:08 pm

Código :

<form id="form1" name="form1" method="post" action="subiendo.php"  enctype="multipart/form-data" onsubmit="return validar(this)">
   <input type="file" name = "archivo" id="archivo" /> <input type="hidden" name="enviado" value="1" />
    <input name="submit" type="submit" value="SUBIR" />
   <?php
   $nombre= $_POST['nombre'];
   echo $nombre;
      if ($_REQUEST['enviado'] == 1){
   //$ruta = "./imagenes/" . $_FILES['archivo']['name'];
   $validar=$_FILES['archivo']['name'];
   $nombre=$validar;
   $ruta = "./imagenes/". $nombre;
   
  copy($_FILES['archivo']['tmp_name'] , $ruta);
   echo "<script>alert('La imagen subio correctamente');</script>";
   } 
   ?>
 </form>

ok ok ya lei........ este es el codigo que estoy utilizando pero no logro cambiarle el nombre a la imagen guardada; si le di permisos a la carpeta con chmod... nose porq no recibe el nombre de la variable que recojo en el form anterior $nombre= $_POST['nombre']........ :shock: :|

Por lexxa_ga

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Dic 2008 03:52 pm
no me refiero a darle permisos a la carpeta, si no, a los archivos que subes a ella.

evita usar $_REQUEST esta obsoleto hace muchos años y ya no funciona en las versiones actuales :
agrega esta linea despues de copy

Código PHP :

chmod($ruta ,  0644);

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 2008 03:57 pm
men mira lo q haces :

$nombre= $_POST['nombre']; lo que asignas aqui lo remplazas mas abajo por eso es q no te cambia nada o mejor dicho si lo cambia solo que le coloca el mism nomre


$validar=$_FILES['archivo']['name'];
$nombre=$validar;

Por talcual

686 de clabLevel



 

Colombia

msie7
Citar            
MensajeEscrito el 05 Dic 2008 07:24 pm
si se me carga la imagen pero no logro cambiarle el nombre es necesario que quede renombrado con la variable que traigo del formulario anterior........................ por fa ustedes que tienen mas experiencia ayudenme,,,,,,,,,,, :wink: ...... Que metodo seria mas factible utilizar en vez del Request?????? .... de antemano muuuuuuuuuuuuuuuuuuuuuuuuuchas gracias..............


Código :

<form id="form1" name="form1" method="post" action="subiendo.php"  enctype="multipart/form-data" onsubmit="return validar(this)">
     Por favor elija la foto que desea cargar:
    <input type="file" name = "archivo" id="archivo" /> <input type="hidden" name="enviado" value="1" />
 
   <input name="submit" type="submit" value="SUBIR" />
   <?php
   
   $nombre= $_GET['id_cedula'];
   echo $nombre;
     
    if ($_REQUEST['enviado'] == 1){
     $ruta = "./imagenes/";
   $filename = nombre;
    $filename=$nombre.".jpg";
   copy($_FILES['archivo']['tmp_name'] , $ruta.$filename );
   chmod($ruta ,  0644); ?>
   <table width="200" border="1">
  <tr>
    <td><?php    echo $filename; ?></td>
    <td><?php  echo "<img src=\"" . $ruta . "/" . $filename . "\" />"; ?></td>
  </tr>
</table>
   <?php
   echo "<script>alert('Ha escogido una imagen');</script>";
   } 

Por lexxa_ga

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Dic 2008 07:28 pm
se pioerde el nombre y solo queda con la extension .jpg.... por fa ayudita¡¡¡¡¡¡¡¡¡¡¡¡¡¡

Por lexxa_ga

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Dic 2008 07:41 pm

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 2008 07:41 pm
se pioerde el nombre y solo queda con la extension .jpg.... por fa ayudita¡¡¡¡¡¡¡¡¡¡¡¡¡¡

Por lexxa_ga

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Dic 2008 07:57 pm
ya nose lo que pueda hacer ... si me trae el valor de la variable del formulario anterior y lo que hago es utilizar esa variable y ponerla en vez de la variable $filename.... que creen que este mal????????????????????

Por lexxa_ga

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Dic 2008 07:57 pm
cambia el get por el post en donde dice $_GET[id_cedula'] porque no te va a llegar nada ;-)

Por talcual

686 de clabLevel



 

Colombia

msie7
Citar            
MensajeEscrito el 05 Dic 2008 08:01 pm
si me coge con Get por eso para probar lo que hago es imprimir ante el valor de la variable.......

Por lexxa_ga

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Dic 2008 08:05 pm
con el metodo post no me recoge el valor de la variable....... ya lo he probado ...lo que no entiendo es si la variable $FILE['archivo']['tmp_name'] es el que me hace perder el nombre de la variable....

Por lexxa_ga

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Dic 2008 08:08 pm
la verdad es q no se como lo coje porq pasas los datos por post y los recibes por get eso es imposible pero bueno solo te digo q sigas intentando pero sigo diciendo q no te puede pasar por get porq lo estas pasando por post debe ser un cache de sistema lo que ves ;-)

Por talcual

686 de clabLevel



 

Colombia

msie7
Citar            
MensajeEscrito el 05 Dic 2008 08:17 pm
prepara un cafe(no instantaneo), te o mate, según prefieras.

una ves mas despierto y tranquilo (excepto si tomaste mate que solo estarás despierto) empiezas a analizar en que parte se cae tu codigo, yo probaria primero por comprobar que las variables que tienen el nuevo nombre del archivo realmente funcan

Código PHP :

 echo $filename;


y recuerda, que la ruta hacia la carpeta donde se guardaran las cosas es la ruta del sistema, no la ruta web, en mi caso seria algo asi

Código PHP :

 $ruta= "/var/www/miprojeto/uploads";

y el copy seria:

Código PHP :

 copy($_FILES['archivo']['tmp_name'] , $ruta.$filename);

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 2008 08:20 pm
PD: talcual, no tienes avatar ¿estas de incognito? ^^ lo que es yo estoy disfrazado de bryan

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 2008 09:15 pm
gracias si eso es lo que voy hacer........ y por cierto soy niña no niño... :)

Por lexxa_ga

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Dic 2008 09:19 pm
en la funcion copy es necesario que utilize la variable $_FILES['archivo']['tmp_name']; porq como le estoy asignando el nombre del archivo a una variable ... es esa la que utilizo...............

Por lexxa_ga

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Dic 2008 02:46 am
sabes por q te saca solo la extencion porque la variable q contiene el get no existe esta vacia por esta razon tienes q cambiarla por post para que venga el dato del formulario anterior espero q me entiendas con get te funciona pero como esta vacia no te muestra nada bueno querida sigue en la prueba y si estoy sin avatar voy a hacer uno jajaja para estar bien identificado jajaja

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 08 Dic 2008 02:47 pm
estoy haciendo con POST... nose porq no logro cambiarle el nombre... y si es verdad el metodo del form he puesto mal... pero igual no me guarda con el nombre de la variable que recibo del form anterior hoy sigo intentandolo ......... :( :(

Por lexxa_ga

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Dic 2008 06:27 pm
Hola lexxa_ga, el problema que tienes sucede por lo siguiente: recibes el nombre que quieres ponerle a la foto por GET y cuando se abre el scrip PHP por primera vez todo perfecto, pero al hacer el submit del formulario pierdes la variable que recibiste por GET por lo que al cargarse denuevo el script dicha variable no esta seteada.

¿La solución? muy simple realmente, creas un hidden y cuando la pagina se cargue por primera vez le asignas al value el contenido de la variable que recibes por GET, si no es la primera vez quiere decir que el hidden ya tiene el value cargado por lo que seguirá con ese value; en fin, ya esta bien de palabras, pasemos al código:

Código :

<form id="form1" name="form1" method="post" action="subiendo.php"  enctype="multipart/form-data">

   <label for="archivo">Foto:</label>
   <input type="file" name = "archivo" id="archivo" />

   <input type="hidden" name="enviado" value="1" />

   <?php
      /*Si la variable que recibes por GET está seteada (isset()) el valor del hidden
      será el de esa variable, sino, será el valor que ya tenga el hidden*/
      $valor = (isset($_GET['id_cedula'])) ? $_GET['id_cedula'] : $_POST['new_name'];
   ?>

   <!--El hidden que solucionará tu problema-->   
   <input type="hidden" id="new_name" name="new_name" value="<?php echo $valor;?>" />

   <input name="submit" type="submit" value="SUBIR" />

</form>

<?php

   if (isset($_POST['enviado']) && $_POST['enviado'] == 1){
   
      $ruta = "images/";
      //Le asignas a nombre el valor que tenga el glorioso hidden
      $nombre = $_POST['new_name'];
      $filename = $nombre.".jpg";
      copy($_FILES['archivo']['tmp_name'] , $ruta.$filename );
?>

<table width="200" border="1">
<tr>
<td> <?php echo $filename; ?> </td>
<td> <?php echo "<img src=\"$ruta$filename\" />"; ?> </td>
</tr>
</table>

<?php echo "<script>alert('Ha escogido una imagen'); </script>"; } ?>
Saludos...

Pd: Al fin no veré posts referentes a este tema en todos los threads del foro de PHP y MySQL :P:P:P:P :D

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox

 

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