j'ai trouvé phpsane interface web un peu buggé pour faire une interface web pour le scanner...
j'essaie de corriger le code php... si quelqu'un peut m'aider à déchiffrer
c'est pour remplir une liste déroulante
-------------------------
C'est le résultat de la première ligne de code
/usr/bin/scanimage --help | grep -m 1 resolution
--resolution 50..2400dpi [50]
-------------------------
// retrieve possible resolutions
$res_list = `/usr/bin/scanimage --help | grep -m 1 resolution`;
$start=strpos($res_list,"n")+2;
$length = strpos($res_list,"dpi") -$start;
$list = "".substr($res_list,$start,$length)."";
unset($start);
unset($length);
// change "|" separated string $list into array $resolution values.
$resolution = explode("|",$list);
//generate html selectbox and store in string $res_box
$res_box = html_selectbox(resolution,$resolution,$resolution);
//display the select box
echo "$res_box"
----------------------------
le code de html selectbox
<?PHP
/**
* generates html select dropdown list with options
* if values is two dimensional then adds optgroup too
*
* @param string $name selectbox name and id
* @param array $values options
* @param mixed $selected selected option
* @param array $attributes additonal attributes
*
* @return string html source with selectbox
*/
function html_selectbox($name, $values, $selected=NULL, $attributes=array())
{
$attr_html = '';
if(is_array($attributes) && !empty($attributes))
{
foreach ($attributes as $k=>$v)
{
$attr_html .= ' '.$k.'="'.$v.'"';
}
}
$output = '<select name="'.$name.'" id="'.$name.'"'.$attr_html.'>'."\n";
if(is_array($values) && !empty($values))
{
foreach($values as $key=>$value)
{
if(is_array($value))
{
$output .= '<optgroup label="'.$key.'">'."\n";
foreach($value as $k=>$v)
{
$sel = $selected==$k ? ' selected="selected"' : '';
$output .= '<option value="'.$k.'"'.$sel.'>'.$v.'</option>'."\n";
}
$output .= '</optgroup>'."\n";
}
else
{
$sel = $selected==$key ? ' selected="selected"' : '';
$output .= '<option value="'.$value.'"'.$sel.'>'.$value.'</option>'."\n";
}
}
}
$output .= "</select>\n";
return $output;
}
?>
------------------------------
j'ai une seule ligne dans la liste déroulante avec 50..2400
j'ai essayé de mettre
$res_box = html_selectbox(resolution,$resolution,,$resolution);
càdire de rajouter une virgule pour avoir les 4 paramètres
cela me renvoie page blanche
Sur la page il y a 3 listes déroulantes et toutes les 3 buggués
J'ai réussi pour 2, mais celle la comprend pas ou est l'erreur