首先确认你的图片是否是真的jpg文件
c++确认代码
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
bool IsJpeg(const char* pstrFileName)
{
if(!pstrFileName){
return false;
}
/*if(access(pstrFileName, F_OK) == -1){
return false;
}*/
unsigned char btHeader[2] = {0};
unsigned char btTail[2] = {0};
FILE* pFile = fopen(pstrFileName, "rb+");
if(pFile){
fseek(pFile, 0, SEEK_END);
long nLen = ftell(pFile);
fseek(pFile, 0, SEEK_SET);
fread(btHeader, sizeof(unsigned char), sizeof(unsigned char) * 2, pFile);
fseek(pFile, nLen - sizeof(unsigned char) * 2, SEEK_SET);
fread(btTail, sizeof(unsigned char), sizeof(unsigned char) * 2, pFile);
fclose(pFile);
}
if(btHeader[0] ==0xff && btHeader[1] ==0xd8 && btTail[0] ==0xff && btTail[1] ==0xd9){
return true;
}
return false;
}
int main(int argc, char *argv[]) {
FILE *fp;
char filename[] = "C:/Users/Administrator/Desktop/iiiii/22.4M.png";
if(IsJpeg(filename)){
cout<<"is jpg";
}else{
cout<<"not jpg";
}
return 0;
}
方案1:
如果确实是jpg文件没错,那你就把上线内存开大一点 开2个G
ini_set('memory_limit','2048M');
方案2:
重启服务器试试。