-
Script per copia foto
Ciao a tutti!
Sto realizzando uno script php da tenere in locale per copiare le foto dalla fotocamera al pc.
Ho una pagina HTML:
Codice HTML:
<form method="post" action="copia.php">
PIC0001.jpg <input type="checkbox" nome="PIC0001" value="ON">
PIC0002.jpg <input type="checkbox" nome="PIC0002" value="ON">
PIC0003.jpg <input type="checkbox" nome="PIC0004" value="ON">
ecc..
</form>
ma il problema sta in quella PHP:
Codice PHP:
<?
$img_dir = "$unit:/DCIM/$folder/";
$handle = opendir($img_dir);
while (false !== ($files = readdir($handle)))
{
if ($files != "." && $files != ".." && $files != "Thumbs.db")
{
if(IL PROBLEMA){
echo "<b>$files</b> verrà copiato<br>";
}else{
echo "<b>$files</b> non verrà copiato<br>";
}
}
}
?>
Il problema sta nell'IF. Come faccio a sapere se per quella foto il checkbox è stato selezionato oppure no?
Grazie.
-
Non sono sicuro, ma credo che dovresti mettere un isset.
Codice PHP:
if (isset($_POST['PIC0001'])) {
-
Ho provato usando degli array:
Codice PHP:
<?
$img_dir = "$unit:/DCIM/$folder";
$foto=array();
$handle = opendir($img_dir);
while (false !== ($files = readdir($handle)))
{
if($files==".."){
echo "<tr style=\"background-color:#e6fddf\">";
echo "<td class=\"index\"> <p class=\"filename\"><a href=\"index.php?unit=$unit\" class=\"txt_ant\">Indietro</a></p></td>";
echo "<td class=\"check\"></td>";
echo "<td class=\"size\"></td>";
echo "<td class=\"anteprima\"></td>";
echo "</tr>";
}
if ($files != "." && $files != ".." && $files != "Thumbs.db")
{
$foto[]=$files;
}
}
$a=count($foto);
for($i=0;$i<$a;$i++){
if($c==""){
echo "<tr style=\"background-color:eef5fd\">";
echo "<td class=\"index\"> <p class=\"filename\"><img src=\"foto.gif\" border=\"0\"> $foto[$i]</p></td>";
echo "<td class=\"check\"><input type=\"checkbox\" name=\"chk_$i\" checked value=\"ON\"></td>";
echo "<td class=\"size\"><p class=\"filesize\">$size Mb</p></td>";
echo "<td class=\"anteprima\"><p class=\"filesize\"><a class=\"txt_ant\" href=\"javascript:anteprima('$foto[$i]','$unit','$folder')\">Anteprima</a></td>";
echo "</tr>";
$c=1;
}else{
echo "<tr style=\"background-color:#e6fddf\">";
echo "<td class=\"index\"> <p class=\"filename\"><img src=\"foto.gif\" border=\"0\"> $foto[$i]</p></td>";
echo "<td class=\"check\"><input type=\"checkbox\" name=\"chk_$i\" checked value=\"ON\"></td>";
echo "<td class=\"size\"><p class=\"filesize\">$size Mb</p></td>";
echo "<td class=\"anteprima\"><p class=\"filesize\"><a class=\"txt_ant\" href=\"javascript:anteprima('$foto[$i]','$unit','$folder')\">Anteprima</a></td>";
echo "</tr>";
$c="";
}
}
?>
e copia.php:
Codice PHP:
<?
$img_dir = "$unit:/DCIM/$folder";
$foto=array();
$handle = opendir($img_dir);
while (false !== ($files = readdir($handle)))
{
if ($files != "." && $files != ".." && $files != "Thumbs.db")
{
$foto[]=$files;
}
}
$a=count($foto);
for($i=0;$i<$a;$i++){
if("$chk_$i"=="ON"){
echo "$foto[$i] copiare<br>";
}
else{
echo "$foto[$i] NON copiare<br>";
}
}
?>
Ma non funziona comunque...
Avete qualche idea?
Ho trovato un esempio: il pannello di controllo di AV, in gestione file: io scelgo cosa cancellare tramite checkbox e cliccando sul bottone lui cancella solo quello che ho selezionato...
-
Potresti fare stampare al php una cosa di questp genere:
Codice HTML:
<input type="checkbox" name="selecta[]" checked value="NOME_IMMAGINE">
Così ottieni un array ($selecta) che verrà inviato via POST, poi con il php fai così:
Codice PHP:
//Questo se non hai register_globals su on
$selecta=$_POST['selecta'];
//Contiamo il numero di selezioni
$n=count($selecta);
//Controlliamo se non ha selezionato niente
if($n=0){
echo"Seleziona almeno un file";
}else{
foreach($selecta as $file){
//Si fa quello che si deve
}
}
-
Grazie, ma ho risolto in un altro modo:
Codice HTML:
<input type="checkbox" name="P1020005" checked value="P1020005">
<input type="checkbox" name="P1020006" checked value="P1020006">
<input type="checkbox" name="P1020007" checked value="P1020007">
e la pagina in php:
Codice PHP:
<?
$img_dir = "$unit:/DCIM/$folder";
$handle = @opendir($img_dir);
while (false !== ($files = @readdir($handle))){
if ($files != "." && $files != ".." && $files != "Thumbs.db"){
$name=str_replace(".JPG","",$files);
$nome=$_POST["$name"];
if($name==$nome){
echo "Questa immagine sarà copiata";
}else{
echo "Questa immagine NON sarà copiata";
}
?>
per motivi di spazio non posto tutto il codice della pagina, anche perchè ho messo anche altra roba, quindi spero si capisca..
Grazie a tutti!