En este ejemplo, explode() no te devuelve falso, en todo caso, deberías analizar si $campo[3 ] tiene un valor vacío, pero en tu código puede haber errores si se repite el contenido en otra posición. Creo que es mejor modificar el campo y unir todo nuevamente con implode():
Código PHP:
Ver original$fop = fopen("archivo.txt","r"); while($linea = fgets($fop)) { $campo = explode("|", $linea); //Identificamos los campos $campo[3] .= '/'; // Agregas la diagonal
echo implode('|', $campo); //Imprimimos el resultado volviendo a unir con el caracter original }