Php Variable not working in UPLOAD script -
i have following script:
<?php $userid = $_get['user']; // list of permitted file extensions $allowed = array('png', 'jpg', 'gif','zip'); if(isset($_files['upl']) && $_files['upl']['error'] == 0){ $extension = pathinfo($_files['upl']['name'], pathinfo_extension); if(!in_array(strtolower($extension), $allowed)){ echo '{"status":"error"}'; exit; } if(move_uploaded_file($_files['upl']['tmp_name'], '../../'.$userid.'/assets/'.$_files['upl']['name'])){ echo '{"status":"success"}'; echo ' '.$userid; exit; } } echo '{"status":"error"}'; echo ' '.$userid; exit; ?>
the problem in line:
if(move_uploaded_file($_files['upl']['tmp_name'], '../../'.$userid.'/assets/'.$_files['upl']['name'])){
when use path - works fine , upload successful:
'../../assets/'.$_files['upl']['name']
or
'../assets/'.$_files['upl']['name']
or
'assets/'.$_files['upl']['name']
all of these 3 work fine - when add variable (from url path), not work? know variable "userid" being recognized because echoing out before , after path , displays on screen. did set write permissions on of folders, defined variable.
any thoughts?
this added >>>>>> first file....
<? $userid = $_get['user']; ?> <!doctype html> <html> <head> <meta charset="utf-8"/> <title>mini ajax file upload form</title> <!-- google web fonts --> <link href="http://fonts.googleapis.com/css?family=pt+sans+narrow:400,700" rel='stylesheet' /> <!-- main css file --> <link href="css/style.css" rel="stylesheet" /> </head> <body> <p style="text-align:center"><? echo $userid; ?></p> <form id="upload" method="post" action="upload.php" enctype="multipart/form-data"> <div id="drop"> drop here <a>browse</a> <input type="file" name="upl" multiple /> </div> <ul> <!-- file uploads shown here --> </ul> </form> <!-- javascript includes --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="js/jquery.knob.js"></script> <!-- jquery file upload dependencies --> <script src="js/jquery.ui.widget.js"></script> <script src="js/jquery.iframe-transport.js"></script> <script src="js/jquery.fileupload.js"></script> <!-- our main js file --> <script src="js/script.js"></script> </body> </html>
this processing file....
<?php $userid = $_get['user']; // list of permitted file extensions $allowed = array('png', 'jpg', 'gif','zip'); if(isset($_files['upl']) && $_files['upl']['error'] == 0){ $extension = pathinfo($_files['upl']['name'], pathinfo_extension); if(!in_array(strtolower($extension), $allowed)){ echo '{"status":"error"}'; exit; } // if(move_uploaded_file($_files['upl']['tmp_name'], '../../'.$userid.'/assets/'.$_files['upl']['name'])){ if(move_uploaded_file($_files['upl']['tmp_name'], '../../'.$userid.'/assets/'.$_files['upl']['name'])){ echo '{"status":"success"}'; echo ' '.$userid; exit; } } echo '{"status":"error"}'; echo ' '.$userid; exit; ?>
unless you're creating subdirectory in ../../
each , every user manually, need create directory user before trying move files it.
if(!file_exist("../../$userid/") mkdir("../../$userid/");
... , can move file it.
Comments
Post a Comment