I think this will be marked as duplicate but i'm unable to understand my problem.
I created javascript array using in loop resulting array in console is
开发者_Go百科["about.png", "about1.png", "about2.png"]
I want to pass this to php so i converted it to json string using JSON.stringify(filenames);
I also included json2.js but result is same in console before decoding it..
["about.png","about1.png","about2.png"]
than I decode it $filenames = json_decode($_POST['jsonfilenames']);
but file names array is empty. What I'm doing wrong?
I will be able to get javascript array in php as php array that's what JSON.stringify does?
Update
I'm using uploadify to upload files to get filenames and filepaths I thought of creating array of filenames and filepaths and onAllComplete function pass these array to php scirpt...than will email to user who uploaded the files having filename and filepaths in email....
var filenames = [];
var filepaths = [];
$('#file_upload').uploadify({
'uploader' : 'uploadify/uploadify.swf',
'script' : 'uploadify/uploadify.php',
'cancelImg' : 'uploadify/cancel.png',
'folder' : 'user_data/<?=$_SESSION['username']?>',
'auto' : false,
'multi' :true,
'onComplete' : function(event, queueID, fileObj, response, data) {
filenames.push(fileObj.name);
filepaths.push(fileObj.filePath);
},
'onAllComplete':function(event,data) {
console.log(filenames);
var jsonfilenames = JSON.stringify(filenames);
var jsonfilepaths = JSON.stringify(filepaths);
console.log(jsonfilenames);
//ajax stuff
},
//...
});
Your input is probably being corrupted by magic quotes.
To "solve" this you can use stripslashes()
, ie:
$filenames = json_decode(stripslashes($_POST['jsonfilenames']));
But since magic quotes is a deprecated feature, you should disable it.
精彩评论