Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

como cargar imagenes a una pagina con un boton examinar y otro cargar imagen?

Estas en el tema de como cargar imagenes a una pagina con un boton examinar y otro cargar imagen? en el foro de Bases de Datos General en Foros del Web. hola soy nueva en el foro, tambien estoy iniciandome en esto de programar con php.. estoy haciendo un sito para ventas de articulos, necesito crear ...
  #1 (permalink)  
Antiguo 10/02/2011, 12:56
 
Fecha de Ingreso: febrero-2011
Ubicación: bocono estado trujillo-Venezuela
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta como cargar imagenes a una pagina con un boton examinar y otro cargar imagen?

hola soy nueva en el foro, tambien estoy iniciandome en esto de programar con php.. estoy haciendo un sito para ventas de articulos, necesito crear una pagina como administrador donde me permita cambiar las imagenes a mostra en el sitio web. intento crear un boton EXAMINAR donde pueda buscar la carpeta que contiene las imagenes y otro boton CARGAR o CAMBIAR , que al ser presionado cambie la imagen que tengo por la que he seleccionado con el boton examinar.

tengo el siguiente codigo:

la pagina que se llama (cargando imagenes.php).


Código PHP:
<?Php 

   
/* esta es una función simple y completa, y 
    i la forma más cómoda han encontrado para permitirle 
    para agregar una imagen a un formulario que el usuario puede 
    verificar antes de enviar 

    si el usuario no desea que esta imagen y el cambio 
    su mente puede resubir una nueva imagen y 
    se eliminará la última 

    He añadido la versión de depuración si! move_uploaded_file 
    para que pueda comprobar el resultado con su 
    de la guía y usted puede utilizar esta función para 
    destruir la última carga, sin carga 
    de nuevo, si usted quiere demasiado, basta con añadir un valor ... */


function upload_back() { global $globals


/*
    1er establecer el directorio de imágenes y archivos de declarar una 
    matriz tendremos para recorrer las imágenes 
    la guía para escribir un nuevo nombre para nuestra imagen 
*/ 

  
$uploaddir 'images_dir/'$dir opendir($uploaddir); 
  
$files = array(); 


/*
    si estamos en una forma que permita a reeditar el 
    Nuevo vars podemos guardar la imagen previamente 
    subido si la carga anterior fue un éxito. 
    para declarar que el valor en una var global, 
    volveremos a escribir ese valor en un campo oculto tarde 
    para enviar de nuevo si no es necesario volver a escribir 
    la imagen después de la nueva carga y sólo ... guardar 
    el valor ... 
*/ 

  
if(!empty($_POST['attachement_loos'])) { $globals['attachement'] = $_POST['attachement_loos']; } 


/* 
    ahora verificar si el archivo existe, sólo verificar 
    si la matriz 1er no está vacío. otra cosa que 
    puede hacer lo que quiera, que forman permite 
    utilizar un formulario de varias partes, por ejemplo para un 
    tema en un foro, y luego de enviar una 
    attachement con todos nuestros otros valores 
*/ 

  
if(isset($_FILES['attachement']) && !empty($_FILES['attachement']['name'])) { 


/*
    ahora verificar el mimo, no he encontrado 
    algo más fácil de verificar la 
    'Image /' eh ^ dad. si equivocado contarlo! 
*/ 

    
if(!eregi('image/'$_FILES['attachement']['type'])) { 

      echo 
'El archivo subido no es una imagen por favor, cargar un archivo valido!'

    } else { 


/*
    otra cosa que debe bucle nuestra carpeta de carga para buscar 
    la última entrada de la cuenta nos dirá y 
    se utiliza para declarar el nuevo nombre de la nueva 
    imagen. no queremos volver a escribir una previamente 
    subido imagen 
*/ 

        
while($file readdir($dir)) { array_push($files,"$file"); echo $file; } closedir($dir); 



/* 
    Ahora acaba de volver a escribir el nombre de nuestro archivo subido 
    con el recuento y la extensión, se strrchr 
    nos devuelven la aguja para la ampliación 
*/ 

             
$_FILES['attachement']['name'] = ceil(count($files)+'1').''.strrchr($_FILES['attachement']['name'], '.'); 
        
$uploadfile $uploaddir basename($_FILES['attachement']['name']); 



/* 
    lo mismo para el último archivo subido, sólo construir 
    si tenemos un archivo subido anteriormente 
*/ 

     
$previousToDestroy = empty($globals['attachement']) && !empty($_FILES['attachement']['name']) ? '' $uploaddir $files[ceil(count($files)-'1')]; 


//Ahora verificar si el archivo se ha subido correctamente 

           
if(!move_uploaded_file($_FILES['attachement']['tmp_name'], $uploadfile)) { 

echo 
'<pre> 

El archivo no se ha subido por favor, inténtelo de nuevo 
aquí están sus datos de depuración: 
'
.print_r($_FILES) .

</pre>'


      } else { 



          echo 
'imagen subido correctamente'

      } 

/*
    y restablecer el Vars globals si tal vez desee 
    reeditar la forma: en primer lugar la nueva imagen, en segundo lugar 
    eliminar la anterior .... 
*/ 
      
$globals['attachement'] = $_FILES['attachement']['name']; 
        if(!empty(
$previousToDestroy)) { unlink($previousToDestroy); } 

    } 

  } 


upload_back(); 



/* 
    ahora la forma si lo necesita (con el mundial ...): 

    sólo tiene que añadir la entrada oculta al escribir su 
    vista previa guión y ... en la forma original, pero! 
    si usted tiene enviar un valor a anuncio de su secuencia de comandos 
    lo que estamos rehaciendo el formulario. por ejemplo con un 
    de entrada escondida con "reeditar" como valor o con un 
    $ _GET Método que pueda verificar que la condición 
*/ 

echo '<form action="" method="post" enctype="multipart/form-data"> 

  <input type="file" name="attachement" name="attachement"></input> 
  <input type="hidden" name="attachement_loos" name="attachement_loos" value="'
$globals['attachement'] ,'"></input> 

  <input type="submit" value="cargar"></input> 

</form>'

?> 

<!--información en levaravel punto com 30-ene-2009 03:39 
Un poco codesnippet que devuelve un tamaño de archivo en un formato más legible. -->

 
<?php

function display_filesize($filesize){
    
    if(
is_numeric($filesize)){
    
$decr 1024$step 0;
    
$prefix = array('Byte','KB','MB','GB','TB','PB');
        
    while((
$filesize $decr) > 0.9){
        
$filesize $filesize $decr;
        
$step++;
    } 
    return 
round($filesize,2).' '.$prefix[$step];
    } else {

    return 
'NaN';
    }
    
}

?>
y la pagina (upload.php)

Código PHP:
<?php
$status 
"";
if (
$_POST["action"] == "upload") {
// obtenemos los datos del archivo
$tamano $_FILES["archivo"]['size'];
$tipo $_FILES["archivo"]['type'];
$archivo $_FILES["archivo"]['name'];
$prefijo substr(md5(uniqid(rand())),0,6);

if (
$archivo != "") {
if (
$tipo == "image/gif" || $tipo == "image/jpeg" || $tipo == "image/jpg") {
$destino "uploads/".$prefijo."_".$archivo;
if (
copy($_FILES['archivo']['tmp_name'],$destino)) {
$status "Archivo subido: <b>".$archivo."</b>";
} else {
$status "Error al subir el archivo";
}
} else {
$status "Error: solo se permite GIF o JPG";
}
} else {
$status "Error al subir archivo";
}
}
?>
pero me genera los siguientes errores al intentar cargar la imagen seleccionada:


Warning: opendir(images_dir/) [function.opendir]: failed to open dir: Invalid argument in c:\wamp\www\sitiopalafito2\FOTOS\cargando imagenes.php on line 34


Warning: opendir(images_dir/) [function.opendir]: failed to open dir: Invalid argument in c:\wamp\www\sitiopalafito2\FOTOS\cargando imagenes.php on line 34

Warning: readdir(): supplied argument is not a valid Directory resource in c:\wamp\www\sitiopalafito2\FOTOS\cargando imagenes.php on line 85

Warning: closedir(): supplied argument is not a valid Directory resource in c:\wamp\www\sitiopalafito2\FOTOS\cargando imagenes.php on line 85

Warning: move_uploaded_file(images_dir/1.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in c:\wamp\www\sitiopalafito2\FOTOS\cargando imagenes.php on line 110

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'c:/wamp/tmp\php2B.tmp' to 'images_dir/1.jpg' in c:\wamp\www\sitiopalafito2\FOTOS\cargando imagenes.php on line 110
Array ( [attachement] => Array ( [name] => 1.jpg [type] => image/pjpeg [tmp_name] => c:/wamp/tmp\php2B.tmp [error] => 0 [size] => 105542 ) )


El archivo no se ha subido por favor, inténtelo de nuevo
aquí están sus datos de depuración: (este es el mensaje creado para cuando no se ha podido subir el archibo)
1



espero puedan ayudarme a solucionarlo, gracias de antemano..
  #2 (permalink)  
Antiguo 12/02/2011, 01:54
 
Fecha de Ingreso: febrero-2011
Ubicación: Capital federal
Mensajes: 16
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: como cargar imagenes a una pagina con un boton examinar y otro cargar imag

tienes la carpeta q se llama "images_dir/" donde esta corriendo el script?

veo q casi todos los warning son respecto a la carpeta.
o no esta, o no tiene permisos de escritura correctos.

espero haberte sido util
Salu2!
  #3 (permalink)  
Antiguo 22/02/2011, 18:01
 
Fecha de Ingreso: febrero-2011
Ubicación: bocono estado trujillo-Venezuela
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: como cargar imagenes a una pagina con un boton examinar y otro cargar imag

hola muchas gracias pero podrias ser mas explicito por favor.
a que te refieres a la carpeta donde esta corriendo el script ?
  #4 (permalink)  
Antiguo 28/02/2011, 12:58
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 15 años
Puntos: 16
Respuesta: como cargar imagenes a una pagina con un boton examinar y otro cargar imag

Cita:
Iniciado por yorsygarcia2 Ver Mensaje
hola muchas gracias pero podrias ser mas explicito por favor.
a que te refieres a la carpeta donde esta corriendo el script ?
se refiere a donde esta alojado tu script a esta ruta images_dir/


checa bien tu ruta y si sigues con errores te paso el codigo q yo tengo este lo q haces es cargar la imagen y copiarla a una carpeta donde se va a alojar todas mis imagenes q ocupo para mi catalogo de eproductos, ya seria cosa tuya q lo adaptes para las modificaciones, q no es muy dificil ya q solo le cambias la ruta vieja por la actual


suerte

Etiquetas: examinar, imagenes, botones
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 05:14.