Help, ethernet and SD, error ÿ

Is this an Uno or Mega? I just took a look at your entire code.You sure are using a lot of SRAM with those constant strings. Maybe you are running out of SRAM? 8K in the Mega, and 2K in the Uno. The Ethernet and SD libraries takes a bunch of that.
You never see this?

           Serial.print("RAM Livre: ");
           Serial.println(freeRam());

You should use the "F" function to user those strings from program memory rather than transferring it into SRAM.

Serial.println("This string is transferred to SRAM before printing");
Serial.println(F("This string is printed from program memory"));