Avatar billede hypofysen Nybegynder
24. marts 2011 - 08:43 Der er 13 kommentarer og
1 løsning

hente billeder på et netværksdrev

Hej eksperter,

Er det muligt at hente billeder fra et netværksdrev ind på en hjemmeside?

Hvis ja hvordan?

Hvis ikke spørgsmålet er ordentligt formuleret så skriv endeligt.
Avatar billede magic-mouse Novice
24. marts 2011 - 08:46 #1
< img src="\\netværks\sti\til\billedet.gif/jpg/ect" alt="bla" >
Avatar billede hypofysen Nybegynder
24. marts 2011 - 10:03 #2
<?php

Burde følgende så ikke også virke

$dir = "\\SH-DK\camera";

if (is_dir($dir)) {
  if ($dh = opendir($dir)) {
      while (($file = readdir($dh)) !== false) {
          echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
      }
      closedir($dh);
  }
}

?>
Avatar billede magic-mouse Novice
24. marts 2011 - 12:39 #3
\ escaper i PHP, jeg er ikke 100% sikker men det kan være derfor. Test at skrive

print $dir og se om teksten er korrekt tror du skal ændre det til $dir = "\\\\SH-DK\\camera";
Avatar billede hypofysen Nybegynder
24. marts 2011 - 13:56 #4
jeg fandt et andet script at teste med, hvor jeg har ændret stien til "\\\\SH-DK\\camera" men det giver fejlen :"Unable to open \\SH-DK\camera"

<?php
function ListFolder($path)
{
    //using the opendir function
    $dir_handle = @opendir($path) or die("Unable to open $path");
   
    //Leave only the lastest folder name
    $dirname = end(explode("/", $path));
   
    //display the target folder.
    echo ("<li>$dirname\n");
    echo "<ul>\n";
    while (false !== ($file = readdir($dir_handle)))
    {
        if($file!="." && $file!="..")
        {
            if (is_dir($path."/".$file))
            {
                //Display a list of sub folders.
                ListFolder($path."/".$file);
            }
            else
            {
                //Display a list of files.
                echo "<li>$file</li>";
            }
        }
    }
    echo "</ul>\n";
    echo "</li>\n";
   
    //closing the directory
    closedir($dir_handle);
}
?>
<script language="JavaScript" type="text/javascript">
<!--
dmxListToTree({
  bullets : 'plusminus',
  icons  : true,
  struct  : false,
  objId  : 'FolderView'
});
//-->
</script>
<ul class="dmxtree" id="FolderView">
<?php ListFolder("\\\\SH-DK\\camera"); ?>
</ul>
Avatar billede olsensweb.dk Ekspert
24. marts 2011 - 15:45 #5
dit script i #4 virker prøvede lige på eget NAS med
ListFolder("\\\\DISKSTATION\\public\\books");  // OK
ListFolder("\\\\DISKSTATION\\public\\bo-oks");  // OK

dumt spm:
er folder navnet stavet rigtigt ? (også med rigtig case)
har du læse rettigheder til folderen
Avatar billede hypofysen Nybegynder
24. marts 2011 - 18:50 #6
hvad mener du med case?

stavemåden er rigtig, så vidt jeg kan se er rettighederne i orden
Avatar billede hypofysen Nybegynder
24. marts 2011 - 19:37 #7
det har noget med rettigheder at gøre desværre. Er det muligt at sende brugernavn og password med i kaldet?
Avatar billede olsensweb.dk Ekspert
24. marts 2011 - 20:27 #8
#6 der er forskel på store / små bogstaver folderen camera og Camera er ikke de sammen PHP er førsom og de fleste OS'er

#7 det var det jeg frygtede :)
ref: http://php.net/manual/en/function.opendir.php #DaveRandom 18-Apr-2009 04:08

// http://php.net/manual/en/function.opendir.php
// DaveRandom 18-Apr-2009 04:08
// Define the parameters for the shell command
$location = "\\\\DISKSTATION\public";
echo $location;
$user = "read";
$pass = "read";
$letter = "Z";

// Map the drive
system("net use ".$letter.": \"".$location."\" ".$pass." /user:".$user." /persistent:no");


ListFolder("\\\\DISKSTATION\\public\\books");  // OK
Avatar billede hypofysen Nybegynder
25. marts 2011 - 09:18 #9
Det med store og små bogstaver var jeg klar over :)

Jeg har nu lavet følgende, men der er stadig ikke hul igennem

får følgende "\\SH-DK\camera Unable to open \\SH-DK\camera"

<?php
// http://php.net/ (...)
// DaveRandom 18-Apr-2009 04:08
// Define the parameters for the shell command

$location = "\\\\SH-DK\\camera";
echo $location;
$user = "SH-DK-DATAxxxx";
$pass = "DATA20xxxx";
$letter = "Z";

// Map the drive
system("net use ".$letter.": \"".$location."\" ".$pass." /user:".$user." /persistent:no");

function ListFolder($path)
{
    //using the opendir function
    $dir_handle = @opendir($path) or die("Unable to open $path");
   
    //Leave only the lastest folder name
    $dirname = end(explode("/", $path));
   
    //display the target folder.
    echo ("<li>$dirname\n");
    echo "<ul>\n";
    while (false !== ($file = readdir($dir_handle)))
    {
        if($file!="." && $file!="..")
        {
            if (is_dir($path."/".$file))
            {
                //Display a list of sub folders.
                ListFolder($path."/".$file);
            }
            else
            {
                //Display a list of files.
                echo "<li>$file</li>";
            }
        }
    }
    echo "</ul>\n";
    echo "</li>\n";
   
    //closing the directory
    closedir($dir_handle);
}
?>
<script language="JavaScript" type="text/javascript">
<!--
dmxListToTree({
  bullets : 'plusminus',
  icons  : true,
  struct  : false,
  objId  : 'FolderView'
});
//-->
</script>
<?php
ListFolder("\\\\SH-DK\\camera");  // OK
?>
Avatar billede hypofysen Nybegynder
25. marts 2011 - 10:09 #10
<?php
ListFolder($letter.":/camera");  // OK
?>
giver heller ikke noget resultat

"\\SH-DK\camera Unable to open Z:/camera"
Avatar billede olsensweb.dk Ekspert
25. marts 2011 - 21:37 #11
den echo $location; kan du selføgelig godt slette
jeg glemte at skrive at min webserver var en appache på windows

jeg prøvede at flytte scriptet over på mit NAS (DS108J), og der fejler den :( , da system er en dos/windows commando
læste lige denne http://www.eksperten.dk/spm/860478 der forslår at slå safe mode off, hvilke jeg ikke lige kan finde på mit NAS
lige pt har jeg ikke nogle bud på en løsning
Avatar billede hypofysen Nybegynder
01. april 2011 - 08:03 #12
jeg har skiftet mit drev til en netværks hardisk i stedet, så er der hul igennem.

Men jeg har et problem, jeg kan få listet filerne på disken men ikke få vist et billede.

VIRKER IKKE:

print "<img src=\"\\\\minip\\Controller\\45000000\\installation\\installation.png\">";

VIRKER

<?php
function ListFolder($path)
{
    //using the opendir function
    $dir_handle = @opendir($path) or die("Unable to open $path");
   
    //Leave only the lastest folder name
    $dirname = end(explode("/", $path));
   
    //display the target folder.
    echo ("<li>$dirname\n");
    echo "<ul>\n";
    while (false !== ($file = readdir($dir_handle)))
    {
        if($file!="." && $file!="..")
        {
            if (is_dir($path."/".$file))
            {
                //Display a list of sub folders.
                ListFolder($path."/".$file);
            }
            else
            {
                //Display a list of files.
                echo "<li>$file</li>";
            }
        }
    }
    echo "</ul>\n";
    echo "</li>\n";
   
    //closing the directory
    closedir($dir_handle);
}
?>
<script language="JavaScript" type="text/javascript">
<!--
dmxListToTree({
  bullets : 'plusminus',
  icons  : true,
  struct  : false,
  objId  : 'FolderView'
});
//-->
</script>
<ul class="dmxtree" id="FolderView">
<?php ListFolder("\\\\minip\\Controller\\45000000\\installation"); ?>
Avatar billede hypofysen Nybegynder
01. april 2011 - 10:32 #13
ronols uanset hvad, så lig et svar som tak for hjælpen
Avatar billede olsensweb.dk Ekspert
01. april 2011 - 16:35 #14
det får du så her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester