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';
}
}
?>
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";
}
}
?>
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..