PHP kullanarak bir yerel ağ üzerinden bir dizin yürümek nasıl?

2 Cevap php

Nasıl PHP kullanarak bir windows paylaşım içeriğini listeleyebilirsiniz?

$SearchFolder = "\\\\192.168.1.100\\pdfoutput\\";

if (is_dir($SearchFolder))
{
    if ($Directory = opendir($SearchFolder))
    {
    	while (($File = readdir($Directory)) !== false)
    	{
    		if(filetype($SearchFolder.$File) == "file")
    		{
    			$this->Attachments[] = new Attachment($SearchFolder.$File);
    		}
    	}
    	closedir($Directory);
    }
}

Baskı (opendir ($ SearchFolder)); Bu hatayı veriyor:

Warning: opendir(\192.168.1.100\pdfoutput) [function.opendir]: failed to open dir: No error in C:\Users\gary\Webserver\QuickMail\maildetails.php on line 227

Bu beklendiği gibi çalışmıyor. Herhangi bir düşünce?

2 Cevap

Ben yerel ağ yollarını ve bir FTP sunucusu kullanıyor kullanarak için iyi bir alternatif buldum. Bu da ben de bu dizinden bazı görüntülerin görüntülemek için gerekli düşünüyor harika çalışıyor. Kullanmış olduğunuz FTP sunucusu çok hafif ve herhangi bir güvenlik ya da izinleri hataları olmadan tüm LAN bu dizine erişim sağlar.

$SearchFolder = "ftp://192.168.0.104/PDFOutput/";

if (is_dir($SearchFolder))
{
    if ($Directory = opendir($SearchFolder))
    {
        while (($File = readdir($Directory)) !== false)
        {
                if(filetype($SearchFolder.$File) == "file")
                {
                        $this->Attachments[] = new Attachment($SearchFolder.$File);
                }
        }
        closedir($Directory);
    }
}

http://uk3.php.net/function.opendir de opendir fonksiyonu için kullanıcı yorumlarına bir göz atın. Size yardımcı olacak bazı bilgiler olabilir gibi görünüyor. Özellikle, DaveRandom tarafından bu kod biraz sorununuzu çözebilir:

<?php
// Define the parameters for the shell command
$location = "\\servername\sharename";
$user = "USERNAME";
$pass = "PASSWORD";
$letter = "Z";

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

// Open the directory
$dir = opendir($letter.":/an/example/path")
?>