Cita:
Iniciado por maturano "Sigue fallando", ¿cómo?, ¿por qué?, ¿error?, ¿cuál?.
¿Propósito?; pregunto porque no puedes saber si al momento de abrir un archivo tiene contenido, pero puedes forzar que borre cualquier cosa que tenga si vas a escribir sobre él.
Gracias por responder gente bien sere mas explicito..
Aqui mi proposito primeramente es saber si yo tengo algun error con el servidor o es problema de php
Fijate
Tengo 2 paginas php y tengo un metodo que abre el archivo en cuestion en una de ellas
el codigo del metodo de este archivo seria el siguiente (el archivo se llama subir.php)
Código PHP:
// este seria el archivo que controla todo lo que se ha de subir al servidor
//en esta funcion lo probe de la manera filesize()
//oviamente tomo $fichero como una ruta
function fichero_Vacio_metodo_1($fichero)
{
if( filesize($fichero) < 1 ) { echo "el archivo esta vacio"; } // aqui podria darme cuenta si el fichero en cuestion esta vacio
//Sin embargo.. aqui mismo sucede una falla con el metodo filesize() y el siguiente codigo no se ejecuta
echo "hola";
}
// mi siguiente forma de evaluar lo anterior seria mediante el metodo file()
//nuevamente tomo $fichero como una ruta y no como un descriptor de archivo
function fichero_Vacio_metodo_2($fichero)
{
// esta vez mi objetivo seria usar el metodo file que te devuelve el contenido de el archivo en un arreglo por renglones
$contenido_del_Archivo = file($fichero);
// nuevamente falla y no me analiza lo siguiente
if( count($contenido_del_Archivo) < 1){echo "el archivo esta vacio"; }
}
//finalmente analizo el archivo usando un descriptor en vez de una ruta
function fichero_Vacio_metodo_3($fichero)
{
$f = fopen($fichero,"r");
//nuevamente esto no se ejecuta
if(feof($f)){echo "el archivo esta vacio";}else{echo "hola";}
}
Bien ese ejemplo anterior fue el codigo php para los metodos que utilize en el siguiente archivo que contiene codigo html y mando llamar las funciones anteriores
Código HTML:
<form method="post" action="subir.php" enctype="multipart/form-data">
<input name="archivo" type="file" />
<input type="submit" value="Enviar"/>
</form>
Código PHP:
// notese quee stoy usando php5
include("Subir.php");
$file = file($_FILES['archivo']['tmp_name']);
if(!empty($file) )
{
echo archivo_Vacio_1($_FILES['archivo']['tmp_name']);
echo archivo_Vacio_2($_FILES['archivo']['tmp_name']);
echo archivo_Vacio_3($_FILES['archivo']['tmp_name']);
}
echo "este codigo si se ejecutara";
Bien yo ya resolvi el problema pero de una manera ineficiente.. use banderas para ke me indicaran si el archivo esta vacio asi si fallase a la hora de verificar que esta vacio la bandera que debio haber sido cambiada en el metodo no seria cambiada y pues por concecuencia me daria cuenta de que el archivo en efecto esta vacio
Bien otra pregunta seria si habra alguna manera de capturar este error por que de ninguna forma logro que me diga un warning ni un error
De antemano gracias por sus consejos