pemoamsi Posted April 22, 2013 at 07:46 AM Report #504263 Posted April 22, 2013 at 07:46 AM (edited) Bom dia, Alguém me pode dar um exemplo de como comparar uma variavel com outra com " * "? O que eu quero é fazer uma especie de site de backup de fotos para vários discos. O programa não faz a sincronização, apenas irá inserir numa base de dados para depois outra fazer essa gestão. <form method="post"> <fieldset id="discos"> <legend>Discos onde gravar</legend> <label for="drived">D:\</label> <input name="drived" id="drived" type="checkbox" value="smallpox" tabindex="20" /> <br /> <label for="drivee">E:\</label> <input name="drivee" id="drivee" type="checkbox" value="mumps" tabindex="21" /> <br /> <label for="drivef">F:\</label> <input name="drivef" id="drivef" type="checkbox" value="dizziness" tabindex="22" /> <br /> <label for="drivedg">G:\ </label> <input name="drivedg" id="drivedg" type="checkbox" value="sneezing" tabindex="23" /> </fieldset> <fieldset id="fotos"> <legend>Informação</legend> <br /> <div>Nome da Pasta: <input type="text" name="folder_name" > </input></div> <div>Tipo de Ficheiro: <input type="text" name="file_type" > </input></div> </fieldset> <p> <input id="submit" type="submit" value="Send" /> </p> </form> <?php if (isset($_POST['submit'])) { $folder_name = $_POST['folder_name']; $file_type = $_POST['file_type']; //Aqui apenas para a drive D:\ para ser mais "legivel" $path = "d:\\"; $new_dir = $path . $folder_name; mkdir($new_dir, 0777); $search_extension = pathinfo($file_type, PATHINFO_EXTENSION); $search_filename = pathinfo($file_type, PATHINFO_FILENAME); while ($name_itens = readdir($path)) { $iten[] = $name_itens; } sort($iten); foreach ($iten as $list) { if (is_dir($path . $list)) { } else { $archive[]=$list; } } if ($archive != "") { foreach($archive as $list) { $file_extension = pathinfo($archive, PATHINFO_EXTENSION); $file_filename = pathinfo($archive, PATHINFO_FILENAME); if ($file_extension == $search_extension && $search_filename == $file_filename) { //Insere na base de dados } } } } Ainda faltam algumas coisas, mas agora estou a tentar descobrir como faço para por exemplo, ao inserir no input o ficheiro "C:\DCMI\Paris" ele vai criar uma pasta com o nome Paris, e depois o file type serve para que eu lhe diga por exemplo DSC00*.jpg ele faça uma "busca". Sei que isso terá de ser feito no ciclo a correr os ficheiros todos e a comparar o nome dos ficheiros com o do ficheiro, mas queria mesmo era saber como fazer para que ele faça a pesquisa com o " * ", pois o $search_filename == $file_filename reconhece apenas o nome caracter a caracter... Edited April 22, 2013 at 08:05 AM by pemoamsi
pikax Posted April 22, 2013 at 08:46 AM Report #504266 Posted April 22, 2013 at 08:46 AM Podes guardar a localizacao e o nome do ficheiro numa base de dados, acho que simplificava mais a procura Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
pemoamsi Posted April 22, 2013 at 08:58 AM Author Report #504269 Posted April 22, 2013 at 08:58 AM Podes guardar a localizacao e o nome do ficheiro numa base de dados, acho que simplificava mais a procura Sim, isso já estava previsto, eu só queria saber como faço para que isto funciona "if ("DSC0001.jpg" == "DSC00*.jpg" ) { echo "works";}"
pikax Posted April 22, 2013 at 09:22 AM Report #504273 Posted April 22, 2013 at 09:22 AM se usares a base de dados, basta fazeres um select: SELECT NomeFich,Localizacao FROM tblFicheiro WHERE NomeFich LIKE 'DSC00%' Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
pemoamsi Posted April 22, 2013 at 09:47 AM Author Report #504276 Posted April 22, 2013 at 09:47 AM se usares a base de dados, basta fazeres um select: SELECT NomeFich,Localizacao FROM tblFicheiro WHERE NomeFich LIKE 'DSC00%' A tua sugestão é criar uma tabela na base de dados, especia "temp" e depois comparo valores da base de dados e no fim limpo a base de dados ?
pikax Posted April 22, 2013 at 09:50 AM Report #504277 Posted April 22, 2013 at 09:50 AM nao, tens uma tabela que diz qual e' a localizacao de um ficheiro, nao e' para ser temporaria, em sql fica um pouco mais facil de fazer esse tipo de pesquisas. Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now