 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
danielsen
Data înscrierii: 14/Feb/2004
Mesaje: 104
Locație: Cluj-Napoca
|
| Trimis: Sâm Mai 17, 2008 5:22 pm Titlul subiectului: Afisare directoare si fisiere [rezolvat] |
|
|
Am o functie care afiseaza directoarele/subdirectoare si fisiere, si vreau ca link-ul de "Up one level" (pentru revenire la folder-parinte) sa ma aduca cu o pozitie inapoi, deocamdata asta merge cu 2 inapoi si nu stiu unde-i problema.
Cod: function afisareContinut($locatia) {
if ($gest = opendir($locatia)) {
$sus = substr($locatia, 0, (strrpos(dirname($locatia."."),"/")));
?>
<table id="galerie" cellpadding="0" cellspacing="0">
<tr>
<td colspan="4"><a href="?p=administrare&actiune=galerie&locatia=<?php echo $sus; ?>">Up one level</a></td>
</tr>
<?php
while (false !== ($fisier = readdir($gest))) {
if ($fisier != "." && $fisier != "..") {
$numefisier = $fisier;
$fisier = $locatia.'/'.$fisier;
if(is_file($fisier)) {
?>
<tr>
<td><a href="<?php echo $fisier; ?>" rel="lightbox[galerie]" title="<?php echo $numefisier; ?>"><?php echo $numefisier; ?></a></td>
<td><?php echo date('d-m-Y H:i:s', filemtime($fisier)); ?></td>
<td><?php echo filesize($fisier).' kb'; ?></td>
<td align="right"><a href="?p=administrare&actiune=galerie&sterge=<?php echo $numefisier; ?>">sterge</a></td>
</tr>
<?php
} elseif (is_dir($fisier)) {
?>
<tr>
<td colspan="4"><a href="?p=administrare&actiune=galerie&locatia=<?php echo $fisier; ?>"><b><?php echo $numefisier; ?></b></a></td>
</tr>
<?php
}
}}
closedir($gest);
}
?>
</table>
<?php
}
In context am apelat-o asa:
Cod: $loc = isset($_GET['locatia']) ? $_GET['locatia'] : 'upload';
echo 'locatie: '.$loc;
echo "<br />";
echo afisareContinut($loc);
Deocamdata imi afiseaza continutul (directoare si fisiere) din directorul /upload asa cum e acuma, as vrea sa nu afiseze link-ul "Up one level" cand e in directorul radacina (upload), am incercat si cu if ($_GET['locatia'] == ''), si cu if (empty($_GET['locatia'])) si tot degeaba...
Deci vreau 3 lucruri pe care nu le stiu rezolva:
- revenire inapoi (up one level) cu 1 folder, nu cu 2,
- sa nu afiseze link-ul de up one level cand se afla in directorul radacina 'upload'
- link de stergere pt fiecare fisier, sa faca treaba asta cumva:
if ($_GET['sterge'] == $fisier) {
chmod( '... calea fisierului ...', 0777);
unlink( 'calea'.$fisier );
echo '<meta http-equiv=refresh content="0; url=?p=administrare&actiune=galerie">';
}[/list] |
|
| Sus |
|
danielsen
Data înscrierii: 14/Feb/2004
Mesaje: 104
Locație: Cluj-Napoca
|
| Trimis: Dum Mai 18, 2008 3:58 pm Titlul subiectului: |
|
|
| Haideti, nu stie nimeni? |
|
| Sus |
|
dechim
Data înscrierii: 10/Mai/2005
Mesaje: 656
Locație: Drobeta Turnu Severin
|
| Trimis: Lun Mai 19, 2008 1:21 am Titlul subiectului: |
|
|
In loc de:
$sus = substr($locatia, 0, (strrpos(dirname($locatia."."),"/")));
pune :
Cod:
$sus = '..';
if (isset($_GET['sterge']) && $_GET['sterge'])
{
$fisier = $locatia.'/'.$_GET['sterge'];
chmod( $fisier, 0777);
unlink( $fisier );
}
Asta rezolva problema de la "one up level" si stergerea.
Pentru a nu afisa link la directorul radacina "upload"
if ($gest=="upload")
// afiseaza fara link
else
// afiseaza link-ul asa cum il ai acum |
|
| Sus |
|
danielsen
Data înscrierii: 14/Feb/2004
Mesaje: 104
Locație: Cluj-Napoca
|
| Trimis: Lun Mai 19, 2008 8:54 am Titlul subiectului: |
|
|
| Mersi, am rezolvat altfel pana la urma, dar poate folosesc si metoda asta in alt loc. |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|