| Autor | Zpráva | ||
|---|---|---|---|
| rotorod Profil |
#1 · Zasláno: 16. 2. 2016, 17:58:46
tak sem si myslel jestli to je tou složkou že bych měl jinde. Tak jsem si vytvořil v složce ADMIN složku OBRAZKY a tam mam i spravce-souboru.php, kde je napsan cely tento kod přesně tak. Ale taky nic. Nahravat to nahrava ale mazat to nemaže. Tak nevím kde muže byt chyba. V atributech?
|
||
| Lonanek Profil |
V atributech (CHMODu) asi ne, když to do složky nahraje. Jinak by při mazání unlink() vyhodil FALSE - můžete také testovat, zda bylo vymazáno.
Zkusím se zeptat ještě jednou: popište nám strukturu adresářů na FTP. |
||
| rotorod Profil |
#3 · Zasláno: 16. 2. 2016, 18:15:49
adresář WWW
v ní složka mezi jinými ADMIN, OBRAZKY,.... v složce ADMIN soubor spravce-souboru.php kde je napsan ten kod. když jsem přestěhoval složku OBRAZKY do složky ADMIN tak se taky nic nezměnilo |
||
| Lonanek Profil |
#4 · Zasláno: 16. 2. 2016, 18:28:46
Přestěhoval znamená ve Vašem slangu PŘESUNOUT?
WWW - ADMIN -- OBRAZKY - ... - OBRAZKY Je to správná struktura? Pokud máte název složek velkými písmeny, musí také být velkými písmeny uvedená složka. Obsah na FTP je CASE-SENSITIVE!!! |
||
| rotorod Profil |
#5 · Zasláno: 16. 2. 2016, 18:47:51
ano přesunul....struktura je spravna a slova mám všechna malými písmeny a jsou uplně stejně napsané jako v kodu. to jsem kontroloval. Bohužel to prostě nejde a nevím proč:-(
|
||
| RastyAmateur Profil |
rotorod:
Zazipuju ti to a nahraju někam...... čekej Odkaz je: www.uscho vna.cz/zasilka/HM43AZ9AZC584PBJ-PFA/UJZMSMMLY6 Je tam mezera, něšlo mi to odeslat :D |
||
| rotorod Profil |
#7 · Zasláno: 16. 2. 2016, 19:12:47
achjo.....tohle mi funguje Rasty normálně......dpc problém je někdé v té cestě.....takže hledám hledám....
|
||
| RastyAmateur Profil |
#8 · Zasláno: 16. 2. 2016, 19:22:46
rotorod:
Takže te stažené funguje, nebo ne? |
||
| rotorod Profil |
jjo to jede normálně, už asi vím kde je problém......
že v administraci když otevřu správce, tak se mi zobrazí url www.../admin/?spravce-souboru=1 tady ale to nahravani funguje normálně, ale to mazani prostě ne když změnim cestu odkazu spravce, a zobrazí se mi url www.../admin/spravce-souboru.php tak tady funguje i nahravani i mazani. Takže kod je dobry, jen ja mám divnou odkazovou cestu na spravce, ale je divne že to nahravani jede normálně a mazani ne takže díky, -------------------------- RastyAmateur: chtěl bych ti něco napsat,dát nějakou nabídku, ale osobně. Koukám že tady asi nejsou žádně soukromé zprávy. Bylo by tě možné nějak kontaktovat, třeba na email? |
||
| RastyAmateur Profil |
rotorod:
pokud byl na serveru nějaký script, kdy pomocí adresy www.../admin/?spravce-souboru=1 jsi se dostal "jakoby" do toho souboru, tak pak je jasné, že se to nesmaže. Odkaz na smazání totiž vede na stránku www.../admin/?delete=xxx.jpg, čímž vlastně dojde k tomu, že už to není soubor spravce-souboru.php |
||
| Lonanek Profil |
#11 · Zasláno: 16. 2. 2016, 20:39:27
Pokud je to opravdu jak uvádí RastyAmateur, pak stačí uvést do <form> spouštěný soubor s QSA a v něm pak na konci provést redirekt na původní stránku administrace.
|
||
| RastyAmateur Profil |
#12 · Zasláno: 16. 2. 2016, 20:43:43
Lonanek:
Tak to je moc složité i na mě... Není jednodušší to špouštět pod www.../admin/spravce-souboru.php ? |
||
| rotorod Profil |
děkuji rasty, uloženo, do konce týdne se ozvu
ano je to tak jak uvádí Rasty |
||
| RastyAmateur Profil |
rotorod:
Já děkuji! Osobně bych raději používat to, co jsem zde uváděl, tj. url www.../admin/spravce-souboru.php. Ale pokud je opravdu nutné původní řešení, doporučuji Lonankovo řešení. Ovšem s tím já nepomohu, jelikož mé zkušenosti nesahají tak hluboko. rotorod: Teď, jak jsem smazal ten e-mail, tak jsem si uvědomil, že jsem vlastně nezkontroloval překlepy. Takže v případě, že neodepíšu do 48 hodin, prosím o upozornění zde, na místní diskusi! :D |
||
| Lonanek Profil |
RastyAmateur:
„Tak to je moc složité i na mě...“ Respektive jsem si neuvědomil, že to je v odkazu <a href="?delete='.$images2[($i*$cols)+$ii].'"> X</a> <a href="spravce-souboru.php?delete='.$images2[($i*$cols)+$ii].'"> X</a> |
||
| RastyAmateur Profil |
#16 · Zasláno: 16. 2. 2016, 21:22:02
Lonanek:
Tak tomu naštěstí už rozumím. Nebo by možná mohlo fungovat i ?spravce-souboru=1&delete=image.jpg, ovšem s tím bych si nebyl uplně jist. Může také záviset na tom souboru... |
||
| rotorod Profil |
#17 · Zasláno: 16. 2. 2016, 21:44:31
Lonanek:
vyzkouším zítra, sem v práci, díky zatím |
||
| rotorod Profil |
#18 · Zasláno: 17. 2. 2016, 07:29:36
Lonanek [#15]:
tak tohle funguje, tohle to smaže, super, kdyby šlo ještě poslední, aby po smazani to zpátky "přesměrovalo" na původní http://www.../admin/?spravce-souboru=1
|
||
| RastyAmateur Profil |
rotorod:
To echo nahraď funkcí header() $delete = isset($_GET["delete"]) ? $_GET["delete"] : null;
if(!empty($delete)){
$dir = "obrazky";
if(file_exists($dir."/".$delete)){
$unlink = unlink($dir."/".$delete);
if($unlink) header("Location: http://www.../admin/?spravce-souboru=1"); else echo "<h1>Někde se stala chyba, soubor nebyl smazán!</h1>";
}
else{
echo "<h1>Soubor nenalezen!</h1>";
}
}if($unlink) echo "<h1>Soubor ".$delete." byl smazán!</h1>"; else echo "<h1>Někde se stala chyba, soubor nebyl smazán!</h1>"; if($unlink) header("Location: http://www.../admin/?spravce-souboru=1"); else echo "<h1>Někde se stala chyba, soubor nebyl smazán!</h1>";V případě úspěšného smazání se to přesměruje, jinak ne a napíše to, proč a kde se stala chyba... |
||
| Lonanek Profil |
#20 · Zasláno: 17. 2. 2016, 10:08:39
Po úspěšném smazání vložte do scriptu:
header ('Location: http://www..../admin/?spravce-souboru=1'); |
||
| rotorod Profil |
#21 · Zasláno: 17. 2. 2016, 14:40:14
RastyAmateur:
když nahradim cely ten řádek, tak sice mi to obrázek smaže, ale nepřesměruje, a ještě vypiše chybu Warning: Cannot modify header information - headers already sent by (output started at /data/web/virtuals/65708/virtual/www/admin/spravce-souboru.php:21) in /data/web/virtuals/65708/virtual/www/admin/spravce-souboru.php on line 28 |
||
| RastyAmateur Profil |
rotorod:
Mám pocit, že před header() nesmí být žádný output (výytup) což ti vlastně (asi) řiká i ta chyba. Řešení je to dát uplně na začátek dokumentu a případnou chybu uložit do proměnné, kterou následně vypsat... Vím, že toto ti asi nijak nepomůže, ale z tabletu více neudělám. Asi za 30 minut budu na pc, tak ti to sem hodím... rotorod: Tak jsem se nepletl. Celý kód bude vypadat následovně: <?php
$delete = isset($_GET["delete"]) ? $_GET["delete"] : null;
if(!empty($delete)){
$dir = "../obrazky";
if(file_exists($dir."/".$delete)){
$unlink = unlink($dir."/".$delete);
if($unlink) header("Location: http://localhost/images2/index/index.php"); else $err = "<h1>Někde se stala chyba, soubor nebyl smazán!</h1>";
}
else{
$err = "<h1>Soubor nenalezen!</h1>";
}
}
?>
<!doctype html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
$err = isset($err) ? $err : null;
echo $err;
$uploadDir = '../obrazky'; // adresar, kam se maji nahrat obrazky (bez lomitka na konci)
$allowedExt = array('jpg', 'jpeg', 'png', 'gif', 'pdf'); // pole s povolenymi priponami
// zpracovani uploadu
if(!empty($_FILES['obrazky']) && is_array($_FILES['obrazky']['name'])) {
$counter = 0;
$allowedExt = array_flip($allowedExt);
foreach($_FILES['obrazky']['name'] as $klic => $nazev) {
$fileName = basename($nazev);
$tmpName = $_FILES['obrazky']['tmp_name'][$klic];
if(file_exists($uploadDir."/".$_FILES['obrazky']['name'][$klic]) || !isset($allowedExt[strtolower(pathinfo($fileName, PATHINFO_EXTENSION))])){
continue;
}
if(move_uploaded_file($tmpName, "{$uploadDir}".DIRECTORY_SEPARATOR."{$fileName}")) {
++$counter;
}
}
if ($counter > 0)
echo "<p>Bylo nahráno {$counter} z ".sizeof($_FILES['obrazky']['name'])." obrázků!</p>"."<br>";
else
echo "!!!Při nahrávání souboru došlo k chybě, nic se nenehrálo!!!"."<br>";
}
?>
<br>
<form method="post" enctype="multipart/form-data">
<input type="file" name="obrazky[]" multiple="multiple" />
<input type="submit" value="Nahrát" />
</form>
<br>
<div id="table">
<table>
<?php
# Výpis všech obrázků
$cols = 3; # počet sloupců
$images = scandir($uploadDir);
$images2 = array();
foreach($images as $img){
if($img !== "." and $img !== "..") $images2[] = $img;
}
$size = count($images2);
for($i=0; $i<ceil($size/$cols); $i++){
echo "<tr>";
for($ii=0; $ii<$cols; $ii++){
if(!empty($images2[($i*$cols)+$ii])){
echo "<td>• ".$images2[($i*$cols)+$ii].'<a href="?delete='.$images2[($i*$cols)+$ii].'"> X</a></td>';
}
else{
break;
}
}
echo "</tr>";
}
?>
</table>
</div>
</body>
</html>Jinak se změnil pouze ten začátek - byl přesunut, a na řádce 20 a 21 něco je něco víc... |
||
| rotorod Profil |
#23 · Zasláno: 17. 2. 2016, 17:49:31
RastyAmateur [#22]:
děkuji Rasty a Lonanek, funguje paradně a bez dalších mých požadavků. klobouk dolů. díky |
||
| RastyAmateur Profil |
#24 · Zasláno: 17. 2. 2016, 18:01:12
rotorod:
Klobouk nahoru, to bylo lehké. Jen mě udivuje, že jsem si na to nevzpomněl již v [#19]... Až bude zase něco tak piš :-) |
||
| rotorod Profil |
#25 · Zasláno: 17. 2. 2016, 18:40:17
ok tedy, P.S.odeslán email
a tady to můžeme ukončit DÍKY |
||
|
Časová prodleva: 10 let
|
|||
0