Fread(): El parámetro de longitud debe ser mayor que 0
Resuelto
mikesunshine59
Mensajes publicados
75
Estado
Miembro
-
mikesunshine59 Mensajes publicados 75 Estado Miembro -
mikesunshine59 Mensajes publicados 75 Estado Miembro -
Hola,
Tengo el mensaje: fread(): Length parameter must be greater than 0
Cuando ejecuto mi PHP de abajo:
¿Puedes ayudarme? (El mensaje de error aparece cuando a veces el archivo está vacío)
Tengo el mensaje: fread(): Length parameter must be greater than 0
Cuando ejecuto mi PHP de abajo:
<?php // Parámetros de conexión FTP $ftp_server = "*************"; // Dirección del servidor FTP. $ftp_user_name = "*************"; // Nombre de usuario $ftp_user_pass = "*************"; // Contraseña // Inicio de la página de conexión al FTP $conn_id = ftp_connect($ftp_server); // Conexión al FTP $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); ftp_pasv($conn_id, true);ftp_pasv($conn_id, true); $file = './Pomme.csv'; if ($config = fopen($file, 'r+')) // Apertura del archivo { if ($content = fread($config, filesize($file))) // Lectura del archivo (el puntero se sitúa al final) { // Modificación de la estructura del archivo $content = str_replace('",', ',', $content); $content = str_replace(',"', ',', $content); $content = str_replace('"', '', $content); rewind($config); // retornamos el puntero al principio del archivo ftruncate($config, 0); // borramos el contenido fwrite($config, $content); // escribimos el nuevo contenido fclose($config); } } // Verificación de las modificaciones if (!$content) { echo "KO"; } else { echo "OK"; } // Cierre de la conexión FTP. ftp_quit($conn_id); ?> ¿Puedes ayudarme? (El mensaje de error aparece cuando a veces el archivo está vacío)
1 respuesta
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Ambassadeur 1 588
Buenas noches, gracias por indicar siempre en qué línea se produce un mensaje de error.
¿Por qué quieres leer el contenido de un archivo vacío?
No se permite usar fread() con una longitud de menos de 1 byte.
Te sugiero que pruebes filesize($file) antes de hacer fread().-
Buenas noches,
El archivo proviene de un resultado de una consulta SQL.
Y a veces la consulta está vacía.
El archivo generado está vacío en este caso.
¿Puedes decirme cómo hacer en el PHP de arriba para no tener este mensaje cuando el archivo está vacío, por favor?
Gracias por tu ayuda.if ( filesize($file)>0){ if ($content = fread($config, filesize($file))) // Lectura del archivo (el puntero se encuentra al final) { // Modificación de la estructura del archivo $content = str_replace('",', ',', $content); $content = str_replace(',"', ',', $content); $content = str_replace('"', '', $content); rewind($config); // se vuelve a colocar el puntero al inicio del archivo ftruncate($config, 0); // se borra el contenido fwrite($config, $content); // se escribe el nuevo contenido fclose($config); } } else{ echo "Archivo vacío."; }
-
-