Autor | Zpráva | ||
---|---|---|---|
Lojzik Profil * |
#1 · Zasláno: 11. 5. 2008, 11:14:55
ahojte mám takový menší problémek hledal jsem ponetu ale řešeí jsem nenašel snad někdo poradíte... tenhle skript uploaduje soubory na sserver přičemž do databáze se ukládá název obrázku který pak jednoduše vytahuji pro zobrazení, problém je v mazání z databáze se sice smaže název obrázku ale nefunguje funkce unlink tzn. nesmaže z adresáře ale vypíše hlášku:
Warning: unlink(picts/): Is a directory in /3w/czweb.org/w/webovestranky/admin.php on line 490 if (isset($_POST['smaz'])) {mysql_query("delete from obrazek")or print mysql_error(); unlink ("picts/$row[obr]"); } elseif (isset($_FILES['fupload'])) { if($_FILES['fupload']['type']=="application/octet-stream"){ // Pokud soubor bude mít kocovku .jpg, provede se upload }else{ $slozka = "picts"; // Zde si napište svojí složku, do které se budou soubory ukládat (bez lomítka) $cil = $slozka . "/" .$_FILES['fupload']['name']; // Toto je proměnná $cil, která obsahuje adresář, kde se má soubor uploadovat a taky název souboru. $nazev_souboru = $_FILES['fupload']['tmp_name']; // Zjistí dočastné umístění souboru $copy = move_uploaded_file($nazev_souboru, $cil) // A tady zkopíruje soubor z dočastného umístění do cílového souboru a složky or die ("Přenesený soubor nelze zkopírovat"); // A pokud se nepovede, tak vypíše tuto hlášku chmod ($cil, 0777); // Ještě na soubor vyhodíme funkci chmod, která změní jeho práva na maximum, pokud by soubor psal chybu změňte 0644 na 0777 if($copy == true){ // Pokud se kopírování provede úspěšně mysql_query ("insert into obrazek (obr) value ('".$_FILES['fupload']['name']."')"); } } } $obr=mysql_query("select obr from obrazek")or print mysql_error(); $row=mysql_fetch_array($obr); echo" <fieldset style=\"position:relative;top:6550;left:20;width:310\"> <form action=\"admin.php\" method=\"post\" enctype=\"multipart/form-data\"> <input type=\"file\" name=\"fupload\"><br> <input type=\"submit\" value=\"Nahrát\"> <input type=\"submit\" name=\"smaz\" value=\"Smazat\"> <div style=\"position:relative;top:-20;left:170\">L <img width=\"100\" height=\"100\" src=\"picts/$row[obr]\"></div> </form> </fieldset> |
||
Matty Profil |
#2 · Zasláno: 11. 5. 2008, 11:24:28
Lojzik
Chyba ti řiká, že se to nedá smazat, protože to je složka. Zdá se, že to netahá informace z databáze. Jentak, zkus zápis unlink ("picts/".$row[obr]); |
||
Lojzik Profil * |
#3 · Zasláno: 11. 5. 2008, 12:24:25
tak to taky nefachá hláška pořád stejná....
|
||
Lojzik Profil * |
#4 · Zasláno: 11. 5. 2008, 12:27:36
Když to napíšu třeba takhle
unlink ("picts/'".$row[obr]."'"); tak to vypíše: Warning: unlink(picts/''): No such file or directory in /3w/czweb. |
||
Matty Profil |
#5 · Zasláno: 11. 5. 2008, 12:45:40
Lojzik
Existuje v té určité tabulce sloupec "obr"? Podle tohodle to vypadaá, že ne, protože je proměnná prázdná. |
||
Lojzik Profil * |
#6 · Zasláno: 11. 5. 2008, 12:49:20
jasně že jo to by nefungovalo mysql_query ("insert into obrazek (obr) value ('".$_FILES['fupload']['name']."')"); jenže to funguje normálně ono to fakt nějakým způsobem nečte z databáze protože když místo proměnné zadám do funkce přímo názav souboru tak ho to smaže...
include "prihlasdb.php"; mam na zacatku skriptu .-(( |
||
Lojzik Profil * |
#7 · Zasláno: 11. 5. 2008, 12:57:42
Tak už jsem na to skoro přišel :-) říkám si jak můžeš mazat něco ze složky proměnou která už je v databázi smazaná??? Tak jsem to takhle prohodil jenže pořád nic...:-(
if (isset($_POST['smaz'])) {unlink ("picts/.$row[obr]"); mysql_query("delete from obrazek"); } |
||
Matty Profil |
#8 · Zasláno: 11. 5. 2008, 13:05:41
Lojzik
Pořád ta hláška? Teď si všímám, dej toho obra radši do apostrofů. V tomhle zápisu máě chybu: unlink ("picts/".$row['obr']); |
||
Lojzik Profil * |
#9 · Zasláno: 11. 5. 2008, 13:10:49
taky nic pořád je directory dzá se že to je pořádně hluboko zakopanej hafan .-))
|
||
Lojzik Profil * |
#10 · Zasláno: 11. 5. 2008, 13:55:42
fakt nikdo neví??? Mne uz snad z toho hrabne :-)
|
||
Lojzik Profil * |
#11 · Zasláno: 11. 5. 2008, 17:42:50
Chlapci koukněte na to prosím někdo kdo tomu opravdu rozumí já už jsem fakt v koncích aspon nakopnout trochu...díky
|
||
Lojzik Profil * |
#12 · Zasláno: 11. 5. 2008, 18:14:07
vyřešeno tohle:
$obr=mysql_query("select obr from obrazek")or print mysql_error(); $row=mysql_fetch_array($obr); musí být nad tímhle: if (isset($_POST['smaz'])) {mysql_query("delete from obrazek")or print mysql_error(); unlink ("picts/$row[obr]"); } |
||
Časová prodleva: 16 let
|
0