Я использую gzcompress и gzuncompress для отправки данных base64_encoded (массива) по URL-адресу. Ниже приведен пример кода, на некоторых серверах я получаю ошибку данных, а на некоторых все работает без сбоев. Что я здесь делаю не так? Я упускаю что-то, что иногда вызывает повреждение данных?
$str='eNqFVduSoyAQ_RfnBxTxxj6mKq_7CZaJRK0xklEy2Zmp_fcFFRFo3PgSOKf7dJ8WrEhWkJ-JRDEJHmN3r8av8sp6Nga_JpKR4O2KoyjP5CrKNYXTP9zk3eafXFwJWs8aVnL2kEtEApTO8QkJWlrVdCwvjQ4OSeCiQqWhO1TkHKrP8sYGLpcpCX5Pr6qvVaQCyxftmnbmiIZwGMp_xYL7y5Xo1H3TtdxoKTdbgedlaXfPQDMDaQZcXJmo4cLqL6NfU11S7lU3_Ieisti-oNDCypE-aMX3xuKVMjeh6lRguoJe86S7OtyZmpHcdUgF993w7gZnqng2yrnbOEIrTnt6pwOfDJOE8tv5fDYSTW1Vs5fJOZ1ORqct-wS0RIY28kwRbxjoUD7DxvBwJh-dd2cMytU2coaBt12vEDoSQoYQUtsxKBQfC8VHQrEx6q0jDArhYyF8JITdcym3E1AoORZKjoQSQwir7RQUSo-F0iOhFDglXCJcJ-94T91LXDDLx-HYt4B8txcQPqTyFD45ZwN48WYbCkcXOho-p1G0MWy3cgOBL5jU1Ff27OV7dn3_eDJOoQZQZDDgJvLl69INjb9LRfCXKrLc2Hi_dbSvwVKQQfBcXGvhnjSLQdeqSbH6teLBYguHZlubSIbwzPtB1qjzyhUa9bwV2caAHU9N3D0WOgH8-bASXDDv3gp7PUKxTuE_P8tUbZZtZmaR7KlhXDAHivr7DzuC_e4%2C';
print_r(unserialize(gzuncompress(stripslashes(base64_decode(strtr($str, '-_,', '+/='))))));
0
Mr.Vibe
30 Июл 2013 в 21:34
1 ответ
Лучший ответ
Я нашел обходной путь для этого. Вместо того, чтобы кодировать сериализованный массив и затем сжимать его, я сразу же передал массив через GET и urlencode. Работало безупречно.
0
Mr.Vibe
4 Авг 2013 в 21:56
Похожие вопросы
Новые вопросы
base64
Base64 - это набор схем кодирования, которые представляют двоичные данные в формате строки ASCII.
strtr
илиstripslashes
. Но вам, вероятно, будет намного проще отлаживать, если вы будете выполнять одну операцию за раз ...