Autor Zpráva
agent00074
Profil
Zdravim vsechny, prosil bych nekoho kdo se vyzna v php o radu.. dopredu rikam, ze uz se s timto ukolem placam nekolik hodin, jinak bych zde neotravoval.. zde na strankach sem podobna temata nasel ale nepodarilo se mi je zprovoznit...

Jedná se mi o toto..:
chci aby mi v html strance (pouze u me v pc ne na serveru) skript vypsal z adresare seznam souboru (mp3). tedy, mam na "cecku" slozku s nazvem hudba/popularni a chci aby se mi pak vypsali pisne v tomto adresari. Nejlepe jako odkazy na tyto pisne na ktere kdyz kliknu tak se rozbehnou ve winampu. - takovy jukebox. Zkousel jsem "readdir" ale bez uspechu zrejme nekde delam chybu, predpokladam ale, ze pro nekoho zkusenejsiho v php bude malickost sepsani kodu.

Predem dekuji za rady..
Darker
Profil
agent00074:
chci aby mi v html strance
pouze u me v pc ne na serveru
Pokud nemáš virtuální server, přes HTML se do direktoráře nedostaneš. Šlo by to generovat batchem pomocí příkazu dir a echo x >soubor.html.
Pokud virtuální server máš, uděláš tohle:
<?php
foreach (glob("*.mp3") as $file) {
    echo "<a href=\"$filename\">$filename</a>";
}
?>
Rellik
Profil
agent00074:
kdyz kliknu tak se rozbehnou ve winampu
to samé ti udělá když klikneš i na tu MP3ku přímo v adresáři... Nevím proč do toho chceš cpat ještě html... ;)
agent00074
Profil
[#3] Rellik dik za radu az se budu chtit poradit ... bla bla nemam pro tebe vic slov diky za radu...[#2] Darker preci neni mozny aby zadnej jazyk neumel stupidni "vypsani souboru v adresari" tomu se mi nechce verit... vzdyt i php umi do souboru zapisovat atd.. pak vypis slozky musi byt teatralni... uz fakt nevim..
Kcko
Profil
windows to umí přes příkaz

dir > soubor.txt 


Můžeš to spustit přes CMD nebo TotalCommander.

Edit: Špatně jsem to přečetl, PHP to umí jednodušše pomocí funkce scandir
perwin
Profil
agent00074:
V PHP to jde úplně normálně také pomocí fukce read().
Kód zde:
$path = "adresar"; // Název tvého adresáře
$slozka = dir("$path"); 
while($file=$slozka->read()) { // Cyklus zahajující vypisování souborů
  $mp3_test=explode(".", "$file");  // Rozdělí názvy souborů do částí podle teček (do dvou částí, pokud se v názvu souboru nevyskytuje další tečka 
   // => neplatila by následující podmínka a soubor by to nevypsalo)
  if ($mp3_test[1]=="mp3")  // Pokud je to .mp3; [0] je první část názvu souboru (před tečkou); [1] je druhá část souboru (za tečkou - přípona souboru)
    {
  echo '<a hre="'.$file.'">'.$file.'</a>'; // Vypíše odkaz
   }
}
$slozka->close(); 
Darker
Profil
perwin:
Tvoje řešení má nějaké ty mouchy (mimo to, že je zbytečně dlouhé). Tak třeba apocalyptica.whereverImayroam.mp3 by tím neprošlo.
perwin
Profil
Darker:
My řešíme výpis písniček z adresáře, ne ověřování typu souboru.
Na ověření typu souboru je mnoho způsobů, tento jsem jenom zkopíroval z mých starých souborů.
Rellik
Profil
agent00074:
Rellik dik za radu az se budu chtit poradit ... bla bla nemam pro tebe vic slov diky za radu...
Myslím že vytvořit script na něco na co je to úplně zbytečné je stráta času.
Nicméně ať neříkáš že neumím poradit, tak tady máš funkční script:
<?php
$slozka = "slozka"; // složka ze které se budou soubory vypisovat
$dir = opendir($slozka);
echo "Soubory:<br />\n";
while (($file = readdir($dir))!==false)
	{
		if($file!="."&&$file!=".."&&!is_dir($file))
			{
   			$finfo = explode('.',$file);
				$fileSuffix = array_pop($finfo);
				$array = array("mp3"); // povolene koncovky souboru
				if(in_array($fileSuffix,$array))
					{
   					echo '<a href="'.$slozka."/".$file.'">'.$file.'</a><br>'."\n";
   				}
			}
	}
closedir($dir);
?>


a je mu jedno jestli je název souboru např: 11.neco.neco.mp3
Doladit podle to potřeby snad už zvládneš ne?
perwin
Profil
Rellik:
Ježiš to je přece jedno, to ověření může rovnou dělat pomocí strpos(), když jsi tak chytrý :D.
Co kdyby se ty chytráku ta písnička jmenovala: mp3.mojepisnicka.mp3.mp4.mp3? :D
okolojdouci
Profil *
Trochu nechápu, proč si neotevřeš danou složku přímo prohlížečem.
Rellik
Profil
perwin:
Co kdyby se ty chytráku ta písnička jmenovala: mp3.mojepisnicka.mp3.mp4.mp3
Pokud umíš číst tak sem psal že tomu jedno jak se ta písnička bude jmenovat.... Navíc si to ani nezkoušel, tak nepiš něco o čem nic nevíš...
Můžeš si to vyzkoušet: http://testy.rellik.eu/
Navíc nevím proč reaguješ na můj příspěvek když s tebou nic neřeším...
perwin
Profil
Rellik:
...když s tebou nic neřeším...
Tak proč na můj příspěvek reaguješ?
Rellik
Profil
perwin:
Tak proč na můj příspěvek reaguješ?
Jestli nevidíš tak sem reagoval na příspěvek od agent00074
Načež tys bezdůvodně negativně zareagoval na ten můj příspěvek.... . (Tečka)
agent00074
Profil
Rellik:
diky zkusim...
Darker
Profil
perwin:
My řešíme výpis písniček z adresáře, ne ověřování typu souboru.
A ty mají mít příponu MP3. A právě proto, že řešíme pouze výpis, nechápu proč se oba moříte s opendir a podobně.
Funkce glob, kterou jsem použil v prvním příspěvku je určená právě na „pouhý výpis“.
[#4] agent00074:
preci neni mozny aby zadnej jazyk neumel stupidni "vypsani souboru v adresari" tomu se mi nechce verit
A co myslíš, že jsem posnul? Ten kód bylo php. 3 řádky.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0