在php中使用curl时,move_uploded_文件不起作用
以下是curl中的代码,我正在发送图像和注册号…在php中使用curl时,move_uploded_文件不起作用,php,mysql,curl,Php,Mysql,Curl,以下是curl中的代码,我正在发送图像和注册号… char url[]="xyz.com/imm/application.php?"; char curlErr[2*CURL_ERROR_SIZE]={0}; CURL *curl=NULL; struct curl_httppost *post=NULL, *last=NULL; FILE *fp=NULL; fp = fopen(SEND_DATA_RESPONSE_PATH, "w");
char url[]="xyz.com/imm/application.php?";
char curlErr[2*CURL_ERROR_SIZE]={0};
CURL *curl=NULL;
struct curl_httppost *post=NULL, *last=NULL;
FILE *fp=NULL;
fp = fopen(SEND_DATA_RESPONSE_PATH, "w");
if (fp == NULL) {
printf("%s:unable to open %s\n", __func__, SEND_DATA_RESPONSE_PATH);
return -1;
}
curl = curl_easy_init();
if (!curl) {
printf("%s:unable to init curl\n", __func__);
return -2;
}
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_FILE, fp);
curl_formadd(&post, &last, CURLFORM_COPYNAME, "registerNumber",
CURLFORM_COPYCONTENTS, studentDetails.regNo, CURLFORM_END);
curl_formadd(&post, &last, CURLFORM_COPYNAME, "studentPhoto",
CURLFORM_FILE, PHOTO_PATH, CURLFORM_END);
curl_formadd(&post, &last, CURLFORM_COPYNAME, "parentImage",
CURLFORM_FILE, SIG_PATH, CURLFORM_END);
curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 60);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 60);
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, curlErr);
res=curl_easy_perform(curl);
curl_formfree(post);
curl_easy_cleanup(curl);
if (res != 0) {
printf("%s:Curl error: %s\n", __func__, curlErr);
return -3;
}
return 0;
之后。。在application.php页面中,我试图获取rer编号和图像,并将此图像上传到服务器。。但是移动上传的文件不起作用…
$regNum=$_POST['registerNumber'];
$std_img_tmp_name=$_FILES['studentPhoto']['tmp_name'];
$std_img_name = $_FILES['studentPhoto']['name'];
$std_img_fileSize = $_FILES['studentPhoto']['size'];
$std_img_fileType = $_FILES['studentPhoto']['type'];
$sig_tmp_name=$_FILES['signatureImage']['tmp_name'];
$sig_name = $_FILES['signatureImage']['name'];
$sig_fileSize = $_FILES['signatureImage']['size'];
$sig_fileType = $_FILES['signatureImage']['type'];
$target_path = "../uploads/";
$student_img_name=$target_path.$std_img_name;
$signature_name=$target_path.$sig_name;
$photo_status=move_uploaded_file($_FILES["studentPhoto"]['tmp_name'], $student_img_name);
$sig_image_status=move_uploaded_file($_FILES["signatureImage"]["tmp_name"], $signature_name);
if($photo_status==FALSE || $sig_image_status==FALSE)
{
echo "<result><error>Unable to upload photo</error></result>";
exit();
}
$regNum=$\u POST['registerNumber'];
$std_img_tmp_name=$_文件['studentPhoto']['tmp_name'];
$std_img_name=$_文件['studentPhoto']['name'];
$std_img_fileSize=$_FILES['studentPhoto']['size'];
$std_img_fileType=$_FILES['studentPhoto']['type'];
$sig_tmp_name=$_文件['signatureImage']['tmp_name'];
$sig_name=$_文件['signatureImage']['name'];
$sig_fileSize=$_FILES['signatureImage']['size'];
$sig_文件类型=$_文件['signatureImage']['type'];
$target_path=“../uploads/”;
$student\u img\u name=$target\u path.$std\u img\u name;
$signature\u name=$target\u path.$sig\u name;
$photo_status=移动上传的文件($_文件[“studentPhoto”]['tmp_name'],$student_img_name);
$sig_image_status=move_上传的_文件($_文件[“signatureImage”][“tmp_名称”],$signature_名称);
如果($photo_status==FALSE | |$sig_image_status==FALSE)
{
echo“无法上传照片”;
退出();
}
这是一个错误。。。。如何解决这个问题 代码看起来正确。检查并确保上载目录具有正确的权限。无法上载照片……当我尝试回显$u文件['studentPhoto']['tmp_name'];它正在显示临时文件名。。但当我移动到上传文件夹时,它不会移动图像。。。