我想比较一下$images和$uploads,但输出的名称不同:
$images = '/fiscalapplications/uploads/Image_00314_20200122.pdf';
$uploads = 'Image_00314_20200122.pdf';如何为$images to = Image_00314_20200122.pdf执行SUBSTR
<?php
//pulling images from mysql colum1
require_once 'database_connection.php';
$result = mysqli_query($conn,"SELECT check_pic_path FROM checklog");
$images = []; // store a list of images from the database
while ($row = mysqli_fetch_array($result)) {
$images[] = $row['check_pic_path'] . "<br>";
}
//pulling pictures from specific path
$dir = "fiscalapplications/uploads";
$uploads = []; // store a list of files on disk
if(is_dir($dir)) {
while (($file = readdir($dh)) !== false) {
$uploads[] = $file . "<br>";
}
}
}
//attempting to compare $image to $upload
$compare = array_diff($images, $uploads);
print_r($compare);发布于 2020-01-30 03:18:19
使用basename()从路径名中删除目录:
$images[] = basename($row['check_pic_path']) . "<br>";发布于 2020-01-30 03:26:01
在MySQL中,它可能是
SUBSTRINT_INDEX(tablename.imagefield, '/', -1)发布于 2020-01-30 04:29:01
$uploadsnew = substr($images,strrpos($images,'/') + 1);strrpos获取斜杠最后一次出现的位置;substr返回该位置之后的所有内容。
如果没有斜杠,就不能正常工作,因为strrpos返回false。下面是一个更健壮的版本:
$pos = strrpos( $url,'/');$uploadsnew = $pos === false?$url: substr($images,$pos + 1);
https://stackoverflow.com/questions/59974047
复制相似问题