strrchr php
时间: 2023-11-21 17:51:28 浏览: 109
strrchr() 是 PHP 中的一个字符串函数,用于在一个字符串中查找指定字符(或字符串)在最后一次出现的位置,并返回该位置之后的所有字符。如果未找到该字符,则返回 false。
例如,以下代码将返回字符串 "world!":
```
$str = "Hello world!";
echo strrchr($str, "o");
```
相关问题
<?php include 'aa.php'; // 制定允许其他域名访问 header("Access-Control-Allow-Origin:*"); // 响应类型 header('Access-Control-Allow-Methods:POST'); // 响应头设置 header('Access-Control-Allow-Headers:x-requested-with, content-type'); $myfile = $_FILES['file']; $id = $_POST["id"]; if($myfile["error"]==0){ //得到文件名 $fileName = $myfile["name"]; //得到临时存储位置 $tmpName = $myfile["tmp_name"]; //得到文件的后缀名 $ext = strrchr($fileName,'.'); // $newFileName = time().rand(10000,99999).$ext; //上传 move_uploaded_file($tmpName,'productimg/'.$newFileName); $sql = "UPDATE zhenggong set jpg = '$newFileName' WHERE id=15"; //执行sql语句 $count = execute_sql($sql); if($count>0){ echo json_encode(array("status"=>200,"msg"=>"图片修改成功","sql"=>$sql)); }else{ echo json_encode(array("status"=>500,"msg"=>"图片修改失败","sql"=>$sql)); } } ?>为什么只能实现单张图片上传而不能实现多图片上传
这段PHP代码只能实现单张图片上传,因为它没有实现多文件上传的循环处理。在单张图片上传的情况下,$_FILES['file']只包含一个文件的信息,因此可以直接对这个文件进行处理。而在多文件上传的情况下,$_FILES['file']包含多个文件的信息,需要使用循环来逐个处理每个文件。你需要在代码中增加文件上传的循环处理,例如使用foreach循环来遍历$_FILES['file']数组中的每个文件,然后对每个文件进行类似单文件上传的处理。
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <?php if(isset($_FILES['upload'])){ if($_FILES['upload']['error'] !==UPLOAD_ERR_OK){ exit('上传失败'); } $suffix = substr(strrchr($_FILES['upload']['name'],'.'),1); $allow_type = ['doc','zip','txt','jpg','png','gif']; if(!in_array($suffix,$allow_type)){ exit('不允许的文件类型'); } $destination = './upload/'.time().'.'.$suffix; if(is_uploaded_file($_FILES['upload']['tmp_name'])){ if(move_uploaded_file($_FILES['upload']['tmp_name'],$destination)){ echo '上传成功'; } } } ?> <form method="post" enctype="multipart/form-data"> <input type="file" name="upload"> <input type="submit" value="上传文件"> </form> </body></html>代码报错,如何修改
这段代码可能会有以下几个问题:
1. PHP版本问题:如果PHP版本过低,可能会导致某些函数无法使用。建议使用 PHP 7.0 及以上版本运行该代码。
2. 文件上传大小限制问题:如果上传的文件超过了服务器设置的大小限制,也会导致上传失败。可以通过修改 php.ini 文件来调整大小限制。
3. 文件上传路径问题:如果上传文件的路径不存在或没有写入权限,也会导致上传失败。可以先手动创建一个 `upload` 文件夹,并赋予写入权限。
以下是可能需要修改的代码部分:
```php
if($_FILES['upload']['error'] !== UPLOAD_ERR_OK){
exit('上传失败');
}
```
应该修改为:
```php
if($_FILES['upload']['error'] !== UPLOAD_ERR_OK){
echo '上传失败';
exit;
}
```
```php
$allow_type = ['doc','zip','txt','jpg','png','gif'];
if(!in_array($suffix,$allow_type)){
exit('不允许的文件类型');
}
```
应该修改为:
```php
$allow_type = ['doc','zip','txt','jpg','png','gif'];
if(!in_array($suffix,$allow_type)){
echo '不允许的文件类型';
exit;
}
```
```php
$destination = './upload/'.time().'.'.$suffix;
if(is_uploaded_file($_FILES['upload']['tmp_name'])){
if(move_uploaded_file($_FILES['upload']['tmp_name'],$destination)){
echo '上传成功';
}
}
```
应该修改为:
```php
$destination = './upload/'.time().'.'.$suffix;
if(move_uploaded_file($_FILES['upload']['tmp_name'],$destination)){
echo '上传成功';
} else {
echo '上传失败';
}
```
阅读全文