我正在尝试使用以下代码将文件上传到服务器:
$data = substr($_POST['imageData'], strpos($_POST['imageData'], ",") + 1);
$decodedData = base64_decode($data);
$name = uniqid(rand(), true) . '.jpg';
$fp = fopen('"imgdownload/'.$name.'"', 'wb');
fwrite($fp, $decodedData);
fclose($fp);
该文件不是以这种方式上传的,只有当我输入一个默认名称(如)时才有效
$fp = fopen("imgdownload/myfile", 'wb');
我得到的回复是:
警告:fopen("imgdownload/189244042e0263cf14.94958715.jpg;):无法打开流:C:''examplep''htdocs''OrlenOla''api''process.php中的参数无效,位于6
行
警告:fwrite()要求参数1为resource,布尔值在C:''examplep''htdocs''OrlenOla''api''process.php第7行
中给定
警告:fclose()要求参数1为资源,布尔值在C:''examplep''htdocs''OrlenOla''api''process.php第8行
中给定
我正在一遍又一遍地查看代码,我看不出可能有什么问题。有人帮忙吗?
如错误所示:
警告:fopen("imgdownload/189244042e0263cf14.94958715.jpg"):失败要打开流:中的参数无效C: 第6行上的''axamp''htdocs''OrlenOla''api''process.php
文件名中有"嵌套"引号。
$fp = fopen('"imgdownload/' . $name . '"', 'wb');
// ^ ^
// nested quotes should not be here
试试这个:
$fp = fopen('imgdownload/' . $name, 'wb');