我正在下载公共图片并将其写入文件。但文件大小(文件)返回图像的整个编码字符串
我的代码如下
<?php header('Access-Control-Allow-Origin: *'); ?>
<?php
function download_and_write($src,$filename)
{
$ch = curl_init($src);
$fp = fopen($_SERVER["DOCUMENT_ROOT"]."/dashboard/uploads/".$filename, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($ch);
fclose($fp);
$filepath = $_SERVER["DOCUMENT_ROOT"]."/dashboard/uploads/".$filename;
return filesize($filepath);
}
$src_url = $_POST['source'];
$dest_url = $_POST['destination'];
$filename = $_POST['filename'];
try{
$download = download_and_write($src_url,$filename);
echo $download;
}
catch(Exception $e) {
$mess=$e->getMessage();
echo "exception";
echo $mess;
}
?>
下载变量的回声是这样的
����T۸\u001b\u0014��Yl����\u0000�\"@?d�k�ϵ.Ⱦ)�;�+.�t��x/�M�E>}7�\u0015�ݎ��b۪N+\u001e�K\u000f/�T�]�W3���\bhyx����~\tvM����3�|��:o�)��\u0005���(�N�u��6�RwV\u001d��\u001e_���f_�t��/\u0003�|��:o�)��\u0005���(�]��[��\u000fg\f���lN�0��g]~*�\u0018ۖ_0�Zk\u0002'\u0016�Ѱ�\u0012������j+>�uo�x/�M�E>}7�\u0015Lj �A\u0004w��K��E_����C�����\u001a��ޗfW�4��/\u0006u_�x/�M�E>}7�\u0015���]��l�VvWv�ds\bi�wU3���uqe�\u001d�M�\u0012�\u0000�{}�K��m.�XV]ώ�����>o�)��\u0005���(�T�u��\u001b+C<�tM��\u0011\u0004\u0003�=#ڬ[�b�ݕ�d�Mo�F�t�d���\u0003�|��:o�)��\u0005���(�ck\tn�>��\u0014�m��\u0000������ޣO��^x�����/F1� ����f��].;��\u001f\u001d�W����tߔS��\u000b��~Q\\����䓲$n\r{�Ѥ�\u0003�S\"�\\\u0016��j\t�2̍c\u001f$d\u000e�u��ݒ?\u0017ҥ�+��?>�_Λ��|��:o�+�d1���:z�6\u000er�J�\u0010���\u0014^�N�K��Ȼ��]9���R���ƕ\u0017g\u0015���}7�\u0014����|ߔW'����tN�f��\u0004�0�3d\u000e��e��͙�RC�2\u001b6]\\=ёɣ��=�\u001e�n����eO���:\u0017ϼ\u0017�����>�_Λ����1��5��^h�y<�{\u000bC����C\u000b�\fq��\r/�@Op�ܗf\u001f�4��4�\u000e���\u0005���(�ϼ\u0017�����DX��O�ERw��\u001f��\u0012yOq�(�E$\u0012�)���aӚ��\u000f�.��Ɣ��W�:�\u0000ϼ\u0017�����>�_Λ��㨗fvޑ�x~N���\u0005���(�ϼ\u0017������%��zG%��;\u0017ϼ\u0017�����>�_Λ��㨗cm�\u001c����_>�_Λ��|��:o�+��]���r^\u001f��|��:o�)��\u0005���(�:�v6ޑ�x~N���\u0005���(�ϼ\u0017������%��zG%��;\u0017ϼ\u0017�����>�_Λ��㨗cm�\u001c����_>�_Λ��|��:o�+��]���r^\u001f��|��:o�*@��`;�i�\u0000(�*�vU��!p^\u001f���!`�?�\u0014\\T\"��v���x~C��^*�;=\n�G��>-�\u0011{�|\nr�\u0002���/yO�NS�PX�\u0017����)�(,x��S�S��\u0014\u0016<E�)�)�|\n\u000b\u001e\"���\u0014�>\u0005\u0005�\u0011{�|\nr�\u0002�Lj��>\u00059O�PX�h��\n���:�/����,���7G��֔,��a��X��\u001c_(��5�ӹ9G)>�-o��')�*�ǥI��y����n���de��kQ�\u0004V$�ɹ�(`��� ;����L�Cnk��r\t-?\u001f\u0014\u0006g�\u0006K#\u001c\t�:Zg)�NS����ۻ������7\u001brA\u00060�\u0016`���\u0018�c�\u0005���G�H�C���E���%���\t�\u0007\u0003�k��Ѣ\u0016��|\u0013�� 폧͙N\u0018��e��_��i�'��7�\u001d\u001f�g�����c!��\u001d\u0015AJ��w+y�A���<�V���>>�oY���h\u0017�;��7�}�3����l���}(b�����W�˕����Y��>&�۰>�#����s61#4Ɨ{�\u001bX̜\r��\u0015���y,\u000bo{�\u0014����\u0001�,\u0007)�NS��ZN(���m���q���P��,�Nh��$�D�z9��=�Yl���\\��n=��#����\u001f �\u0004\u0010�N���KH�>\u00059O�\u0016:\\�\\m��X�6�\u00172���\u0013�X�'g\b���/F�z9U�{`�#��ymVA\u00151\u0013��\u0001���\u001c�������T�5G��4\f��'lo�p�V9O�\u001d\u001e��x{�����m�\\�8btv\u0018\n��\u000f�\u000f�==��{\u000fn)p���*>z�y��-�\u0012�\u0017l?�\u001c�_E�r�\u0004�>\bb:d�����e��\u001b<T٦�����s���\u001b��\u0003ڶ\u001c��f\u0016hɧ\u0014��/\f�ٙ�h'n$�o�h����)�P�=%�Ia���mV�\u0006{�R%��\u001c�wd\u000b�\u001d�F�~�\u0005�F�g�ې\u000e\u001eYv6S���g�?x\fZ�)�*]��/\bD���������\u0003��zO���SjW��o�o��}̖\u0005ݶ##J\u000b\u0011+�{\\�;0��{o7�\n�fH�R�\u0016rM�'mT>f�5�����|V��|\u0013��!��\u000e1Q�w\u001e�\u001fs}�����\rl�5#\u0007d�\u0000,3K0\u000fi�#z\u001d=\u001a���.�l�\u0010��Z��Q����\u001f��>\u001e��r�\u0004�>\bt���Zѷ��m��\u0013��:v8|��h�{w0�}���h���z<�L��\u0013Dq5��p���=\u001a��j<���)�P�KrVq�g@����ʈ���KU͊g�2K?@~���v�\u0019,F��sb'F�?b\u001ad\u001b�\u0004m�w���S����SR�\\�����\u0000f�<�\u0019;�Gd v2Z�k!\u0012��lЏ��h�\u0000��K!��\r�֫GM�x��F����Z�)�NS�P��%{����;�w\u001b�\u0019��\u0013\u0007��]�G]ы\u0010�1�\u0018��\u0018�\u0000����kM����\u0004�\r\u0011�\ta\u000e\u0007����Z�>\n��G��qqk\u0006�<\u0006��:���I�����n\u0018����Y����z�ls��y\u000b]�K��O0=�4|���\"�߂���J���\u0011�gl?�]:-W��')�C�kv������r39+u����`�j�-y�~�\u0004l�ۣ�[\u0013�,Q�\u001d�\u0017��ZV��6��H�\u001av[��\u000e�+Ea{\u001e׳msN�\u001e��w�w��$SvMl�\u0019Lq5����Gz��KIQ�)��o�5��6|���\u001eF�\rǚ�b-k���{��\u001d��\u0011��������g�fI\u0019�\u001b:<\u0012�4h�;��r�\u0002���S5��U4��\u0000[�6�ݎ(gt6\u001a�\u000e\u001e(�k��s7m��k\u0013���Ⱏ�\u0012J�\u001e���#�:\u0007�X~S�������L��m���\u0000F㉵\u0013)a�}�����~g?�R;|�#�\u000fj����Î�%v\u0019�\u0019\u0006N9%�DQ��$�\u001e�=�P�>\t�|\u0010��$��s]ﻇ�}\rң+�a���j��߂nH�\u000f%��<�=���,��M��^\ta��r26J$�\u001c��?`\u0000��S����\u0007k�%\u001d۳~ٱ�x���\u0013g��\u0017�c�\u000e~�绨��ܬp����V���6�-.�Q���F����\u0004�>\u0005C�h�56�yݷ��}��\u0012�\u001ddJ�)�<2Z��Ń��z��][\u0011:�\t\u0005�Du�ҾNi@�\\G)פw�Z/)�)�|\u0015:�6W�^�����u�\u001d?\u000ed�<�IM����잎�\u001f�y���x~�6O\u0004v\f��\u0004�\u0006\u0002�\u001c\u000e���X>S�S��(qU�$䯕��Sz���U�\u00043R�\u000b��i�ILb^V����\u0011�V�İE&FyjX�c�6\u00199�\u000f-q\u001a�k��\u0002���\u0004�>\n���ҝX�q����x��S�S��\u0014<�<E�)�)�|\n\u000b\u001e\"���\u0014�>\u0005\u0005�\u0011{�|\nr�\u0002�Lj��>\u00059O�Ac�^��\u0002������/yO�NS�PX�\u0017����)�(,x��S�W�>\u0007࠱�E�\u0007��ȱ��
为什么会发生这种情况?该文件没有下载。
编辑:
我没有检查远程文件的大小。我正在检查自己服务器上文件的大小。因此,这与您提到的可能重复无关。
答案 0 :(得分:1)
我认为fopen
收到错误,因此您不会将curl
输出重定向到该文件。添加错误检查。
error_reporting(E_ALL);
$fp = fopen($_SERVER["DOCUMENT_ROOT"]."/dashboard/uploads/".$filename, 'wb');
if (!$fp) {
throw new Exception("Unable to open download file");
}