我运行的代码
public function upload() {
$fileInfo = pathinfo($_FILES["file"]["name"]);
move_uploaded_file($_FILES["file"]["tmp_name"], "images/profilePic/" . randomString() . '.' . $fileInfo['extension']);
return $_FILES['profilePicUpload']['name'];
}
function randomString($length = 128) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
运行代码时出现的错误
Notice: Undefined index: file in C:\xampp\htdocs\classes\Picture.php on line 10
Notice: Undefined index: file in C:\xampp\htdocs\classes\Picture.php on line 11
Fatal error: Call to undefined function randomString() in C:\xampp\htdocs\classes\Picture.php on line 11
我找不到任何解决方案,所以我不得不在StackOverflow上发布这个解决方案。
答案 0 :(得分:0)
如果您的函数是您的类的一部分,那么它是一个类方法,如果是静态调用,您需要在其前面添加$this->
或self::
:
... "images/profilePic/" . $this->randomString() . '.' ...
其他错误似乎很清楚:您可能需要始终使用$_FILES['profilePicUpload']
而不是$_FILES["file"]
。
答案 1 :(得分:0)
从您的其他代码中,您似乎正在上传名称&#34; profilePicUpload&#34;而不是&#34;文件&#34;
替换&#34;文件&#34;使用&#34; profilePicUpload&#34;应该解决你的问题。