【发布时间】:2012-05-21 13:40:40
【问题描述】:
以下是 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");
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 编号和图像并将此图像上传到服务器.. 但是 move_uploaded_file 不起作用...
$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();
}
它抛出一个错误......如何解决这个......
【问题讨论】:
-
无法上传照片......
-
当我尝试回显 $_FILES['studentPhoto']['tmp_name'];它显示临时文件名..但是当我要上传文件夹时它不会移动图像...