| | |
| Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Autor | Správa |
---|
Registrovaný: 11.01.09 Prihlásený: 17.07.22 Príspevky: 371 Témy: 181 Bydlisko: BB | Napísal d0.0b: 17.05.2009 9:57 | |
|
Už mám bola to funkcia Kód: empty($file); //zmaz //nefunguje aj tak subory sa uploadnu Viem že je tu uz podobna tema ale ja potrebujem cez fclose alebo unlink ... takze mam script Kód: <?php
//uloz $path= "upload/".$_FILES['ufile']['name']; $file = "upload/".$_FILES['ufile']['name']; if($ufile !=none) { if(move_uploaded_file($_FILES['ufile']['tmp_name'], $path)) { fclose($file); //zmaz echo ">Successful";
} else { echo "Welcome";
} }
?>
No problem je v tom ze ja to chem uploadnut ziskam udaje o uploadnutom subore z temp a zamzem ho nasledne ale vypisuje error: Warning: fclose(): supplied argument is not a valid stream resource in /home/www/test/index.php on line 11 riadok 11 je Kód: fclose($file); //zmaz --------------------- Alebo nejako do toho dostat toto... Ked sa upload napriklad obrazok.png a uploadnes iny png obrazok nahradi sa za ten predosli a premenuje sa na obrazok2.png ... Tu je kod: Kód: <?php /*** this is a simple and complete function and the easyest way i have found to allow you to add an image to a form that the user can verify before submiting
if the user do not want this image and change his mind he can reupload a new image and we will delete the last
i have added the debug if !move_uploaded_file so you can verify the result with your directory and you can use this function to destroy the last upload without uploading again if you want too, just add a value... ***/
function upload_back() { global $globals;
/*** 1rst set the images dir and declare a files array we will have to loop the images directory to write a new name for our picture ***/
$uploaddir = 'images_dir/'; $dir = opendir($uploaddir); $files = array();
/*** if we are on a form who allow to reedit the posted vars we can save the image previously uploaded if the previous upload was successfull. so declare that value into a global var, we will rewrite that value in a hidden input later to post it again if we do not need to rewrite the image after the new upload and just... save the value... ***/
if(!empty($_POST['attachement_loos'])) { $globals['attachement'] = $_POST['attachement_loos']; }
/*** now verify if the file exists, just verify if the 1rst array is not empty. else you can do what you want, that form allows to use a multipart form, for exemple for a topic on a forum, and then to post an attachement with all our other values ***/
if(isset($_FILES['attachement']) && !empty($_FILES['attachement']['name'])) {
/*** now verify the mime, i did not find something more easy than verify the 'image/' ty^pe. if wrong tell it! ***/
if(!eregi('image/', $_FILES['attachement']['type'])) {
echo 'The uploaded file is not an image please upload a valide file!';
} else {
/*** else we must loop our upload folder to find the last entry the count will tell us and will be used to declare the new name of the new image. we do not want to rewrite a previously uploaded image ***/
while($file = readdir($dir)) { array_push($files,"$file"); echo $file; } closedir($dir);
/*** now just rewrite the name of our uploaded file with the count and the extension, strrchr will return us the needle for the extension ***/
$_FILES['attachement']['name'] = ceil(count($files)+'1').''.strrchr($_FILES['attachement']['name'], '.'); $uploadfile = $uploaddir . basename($_FILES['attachement']['name']);
/*** do same for the last uploaded file, just build it if we have a previously uploaded file ***/
$previousToDestroy = empty($globals['attachement']) && !empty($_FILES['attachement']['name']) ? '' : $uploaddir . $files[ceil(count($files)-'1')];
// now verify if file was successfully uploaded
if(!move_uploaded_file($_FILES['attachement']['tmp_name'], $uploadfile)) {
echo '<pre> Your file was not uploaded please try again here are your debug informations: '.print_r($_FILES) .' </pre>';
} else {
echo 'image succesfully uploaded!';
}
/*** and reset the globals vars if we maybe want to reedit the form: first the new image, second delete the previous.... ***/
$globals['attachement'] = $_FILES['attachement']['name']; if(!empty($previousToDestroy)) { unlink($previousToDestroy); }
}
} }
upload_back();
/*** now the form if you need it (with the global...):
just add the hidden input when you write your preview script and... in the original form but! if you have send a value to advert your script than we are remaking the form. for exemple with a hidden input with "reedit" as value or with a $_GET method who can verify that condition ***/
echo '<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="attachement" name="attachement"></input> <input type="hidden" name="attachement_loos" name="attachement_loos" value="', $globals['attachement'] ,'"></input>
<input type="submit" value="submit"></input>
</form>'; ?>
|
|
Registrovaný: 26.02.08 Prihlásený: 24.05.13 Príspevky: 372 Témy: 66 Bydlisko: Nové Zámky |
ále ved na zmazanie mas funkciu unlink
|
|
Registrovaný: 07.03.06 Prihlásený: 23.01.11 Príspevky: 404 Témy: 2 Bydlisko: Prešov / Pr... | Napísal mylan: 17.05.2009 11:46 | |
|
Odkedy fclose, alebo empty slúži na mazanie súboru? Máš v tom riadny chaos. Najprv si prečítaj načo jednotlivé funkcie slúžia:
Kód: <?php //uloz $path= "upload/".$_FILES['ufile']['name']; $file = "upload/".$_FILES['ufile']['name']; if($ufile !=none) { if(move_uploaded_file($_FILES['ufile']['tmp_name'], $path)) { fclose($file); //zmaz echo ">Successful"; } else { echo "Welcome"; } }
?> WTF? načo tam máš fclose, keď si predtým neotvoril žiaden súbor? $file tam vystupuje len ako premenná, nie je to žiaden otvorený súbor... Je to jednoducho úplne nezmyslený zápis, preto ti to vyhadzuje chybu - nemôžeš uzavrieť prácu so súborom, keď si žiaden súbor na prácu neotvoril...
|
|
Registrovaný: 11.01.09 Prihlásený: 17.07.22 Príspevky: 371 Témy: 181 Bydlisko: BB | Napísal autor témy d0.0b: 17.05.2009 16:11 | |
|
tak potom ako zmazem ten subor ??
|
|
Registrovaný: 07.03.06 Prihlásený: 23.01.11 Príspevky: 404 Témy: 2 Bydlisko: Prešov / Pr... | Napísal mylan: 17.05.2009 16:54 | |
|
Tak že otvoríš oči a prečítaš si odkazované funkcie čo som ti poslal, najmä funkciu unlink.
|
|
Registrovaný: 11.01.09 Prihlásený: 17.07.22 Príspevky: 371 Témy: 181 Bydlisko: BB | Napísal autor témy d0.0b: 17.05.2009 17:10 | |
|
Čítam čítam a nič ... unlink nefunguje ... pretoze ja potrebujem zmazat subor po uploadnuti ... lenže v tom je ten problém že ak mám aj kód:
Kód: <?php //uloz $path= "upload/".$_FILES['ufile']['name']; $file = "upload/".$_FILES['ufile']['name']; if($ufile !=none) { if(move_uploaded_file($_FILES['ufile']['tmp_name'], $path)) { unlink($file); //zmaz echo ">Successful"; } else { echo "Welcome"; } }
?> vypisuje to furt error ? manual k unlink : A akoze co mam otvorit cez fopen ked este len zacinam upload suboru lol ? priklad - Kód: <?php $fh = fopen('test.html', 'a'); fwrite($fh, '<h1>Hello world!</h1>'); fclose($fh);
mkdir('testdir', 0777);
unlink('test.html'); unlink('testdir'); ?>
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 17.05.2009 17:12 | |
|
Ty v tom mas riadny gulas. $path a $file - naco do 2 premennych vkladas to iste? if($ufile !=none) - kde mas premennu $ufile? Kde mas konstantu none? Naco chces subor uploadnut a hned potom zmazat? A vobec, aky error ti vypisuje? Mame si to vyvestit?
|
|
Registrovaný: 11.01.09 Prihlásený: 17.07.22 Príspevky: 371 Témy: 181 Bydlisko: BB | Napísal autor témy d0.0b: 17.05.2009 17:21 | |
|
Ďuri píše: Ty v tom mas riadny gulas. $path a $file - naco do 2 premennych vkladas to iste? if($ufile !=none) - kde mas premennu $ufile? Kde mas konstantu none? Naco chces subor uploadnut a hned potom zmazat? A vobec, aky error ti vypisuje? Mame si to vyvestit?
Proste potrebujem len uploadnut subor vytiahnut z neho informacie ako je velkost atd. a nakoniec zmazat ...
ok zredukove
pridal som
Kód: if(is_file("$file")) { unlink("$file"); } Kód: //uloz $path= "upload/".$_FILES['ufile']['name']; $file = "upload/".$_FILES['ufile']['name'];
if(move_uploaded_file($_FILES['ufile']['tmp_name'], $path)) {
echo "Successful"; if(is_file("$file")) { unlink("$file"); }
} else { echo "Welcome"; }
Error:
Unable to access zlozka/subor.pripona
|
|
Registrovaný: 14.04.09 Prihlásený: 18.01.22 Príspevky: 1188 Témy: 198 |
nezabudni na to co ja, suboru a taktisto v zlozke ktorej to je (kazdej zlozke ak ich je viac) pridaj vsetky prava
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 17.05.2009 19:36 | |
|
Za prve - nezvykaj si pisat "$file". Pokial sa jedna ciste o nazov premennej, nedavaj tento nazov do uvodzoviek. Staci $file.
Pokial potrebujes iba velkost, najdes to priamo v $_FILES. Cize nie je ziadna potreba pouzivat move_uploaded_file a potom unlink.
Nastav aj ten CHMOD 0777, ako pisal 1daemon1, pomocou fcie chmod().
|
|
Registrovaný: 11.01.09 Prihlásený: 17.07.22 Príspevky: 371 Témy: 181 Bydlisko: BB | Napísal autor témy d0.0b: 05.06.2009 14:09 | |
|
$_FILES ? takze ako by to malo byt ?
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | |
| Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| zmazanie suboru v PHP, ASP | 10 | 706 | 16.05.2009 20:54 1daemon1 | | zmazanie toho súboru ktorý určuje bootovanie v Operačné systémy Microsoft | 2 | 314 | 16.11.2009 21:58 Dany | | Zmazanie v Databázy | 8 | 708 | 01.12.2009 16:51 SiAdAk | | Zmazanie partície v Operačné systémy Microsoft | 12 | 500 | 06.09.2015 0:33 Smith Wesson | | Zmazanie medzery v HTML, XHTML, XML, CSS | 1 | 522 | 05.03.2009 8:15 djsulo | | zmazanie pripon v HTML, XHTML, XML, CSS | 1 | 381 | 20.06.2010 22:27 shaggy | | Zmazanie zaznamu v Delphi, Visual Basic | 1 | 571 | 03.12.2009 19:01 Fico | | Zmazanie suborov v Operačné systémy Microsoft | 12 | 757 | 13.06.2008 21:36 M@tt21 | | Zmazanie témy v Správy pre vedenie fóra | 2 | 1302 | 28.08.2008 22:06 Leachim | | Zmazanie príspevku v Správy pre vedenie fóra | 4 | 948 | 23.03.2011 0:48 Kozel | | zmazanie kodu v JavaScript, VBScript, Ajax | 4 | 382 | 14.11.2011 17:24 Bajzik | | Zmazanie témy. v Správy pre vedenie fóra | 5 | 911 | 31.01.2011 18:33 shaggy | | Zmazanie temy v Správy pre vedenie fóra | 9 | 1007 | 15.06.2011 23:35 Hatamrc | | zmazanie disku v Pevné disky a radiče | 4 | 450 | 09.03.2012 16:30 Semp | | Zmazanie [quote] v PHP, ASP | 4 | 481 | 13.07.2011 8:42 Blackshadow | | Definitívne zmazanie súborov v Ostatné programy | 5 | 934 | 19.05.2011 0:34 shiro |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|