2012-07-15 43 views
-1

我想通过获取其名称的一部分来读取存储在PHP目录中的图像。图像被命名如下,使用只读的部分文件名在PHP中读取图像

AT-1410f1654.jpg 
AT-1410_1655.jpg 
AT-1410_1656.jpg 
AT-1410_1657.jpg 
AT-1410_1658.jpg 
AT-1410_1659.jpg 

我曾尝试下面的下面的代码,但如果我使用PHP SUBSTR()方法,但它也没有工作,它甚至不工作,

$dbImage=$row["pref"]; 
    $imageName=$dbImage; 
    $extension=".jpg"; 
    $filename=$imageName.$extension; 
    echo "$filename+<img src='proppics/$filename'>"; 

如何可以这样做

任何想法的完整代码

$limit=10; 
$con=mysql_connect("localhost","root",""); 
mysql_select_db("movedb") or die("Unable to select database"); 
$query="select * FROM properties where `name`='Beata Grande 1' & `catergory`='Villas'& `price`=202800 & `area`='Arenas'& `bedrooms`=2 & `region`='Axarquia'"; 
$numresults=mysql_query($query,$con); 
$numrows=mysql_num_rows($numresults); 
$result = mysql_query($query) or die("Couldn't execute query"); 
echo "<center>"; 
echo "<p>You searched for: &quot;" . $properties . "&quot;</p>"; 
echo "<form name=payment action='properties_details.php'>"; 
echo "Results <br>"; 
    while ($row= mysql_fetch_array($result)) { 
    $id=$row['id']; 
    $pid=$row['pref']; 
    // Retrieve the balance database fields 

     echo "<p>Property ID &nbsp".$pid; 
     echo "<br> <p> Name &nbsp"; 
     echo $row["name"]; 
     echo "<br> Properties &nbsp"; 
     echo $row["catergory"]; 
     echo "<br> Description &nbsp"; 
    // Print results 
echo "<br>"; 
echo "<input type=submit name=btnbuy value=MoreDetails> "; 
+2

我没有看到文件名和代码之间的任何联系,我也不看任何环路...您需要提供更多详细信息/代码 – freefaller 2012-07-15 09:07:18

+0

我试图创建一个for循环,但不能确定正确的技巧 – Yoosuf 2012-07-15 09:09:25

+0

您还必须告诉我们存储在这些变量中的内容。我无法猜测'$ dbImage'包含的内容。为什么你创建两个包含'$ row [“pref”]'的变量? – 2012-07-15 09:09:41

回答

0

首先,列出你的目录中的所有文件使用scandir

http://php.net/manual/en/function.scandir.php

然后使用strpos

http://php.net/manual/en/function.strpos.php

$dir = 'propix'; 
$files = scandir($dir); 
$prefix = '1410'; 
foreach($files as $file) { 

    if(strpos($prefix) !== FALSE) { //here you are supposed to add more... 

     echo $file; 
    } 
} 
+0

它给了我一个错误,在这一行if(strpos($ prefix)!== FALSE)错误是strpos()期望至少有两个参数给定。根据你给的URL,我应该使用它作为strpos($ filename,$ prefix) – Yoosuf 2012-07-15 09:26:44

+0

我认为如果有一种方法可以自动读取前缀的值(目前它存储在一个变量中) – Yoosuf 2012-07-15 09:32:19

0

如何glob检查现有的前缀?

你提的问题不够清晰,以提供更全面的答案

0

我不是100%肯定,你想要达到的目标。 但是,如果您只想在“_”之后或之前出于任何原因选择部分文件名,则可以使用PHP explode()函数。

你的情况写:

print explode("_", $dbImage); 

本来类似这样的输出:

Array(
    [0] => AT-1410 
    [1] => 1655.jpg 
)