Closed ghost closed 7 years ago
There can be many reasons and it's hard to say without seeing your server-side code.
This is my indexfile:
I dont know/cant understand where the upload directory is set //Jos
<!DOCTYPE html>
That's client-side, not server-side...
Do you mean this file: upload.php with my altered : $targetDir = "http://venes.biz/vergadering/modules/plupload/";
//jos
<?php /**
// Make sure file is not cached (as it happens for example on iOS devices) header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache");
/ // Support CORS header("Access-Control-Allow-Origin: "); // other CORS headers if any... if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { exit; // finish preflight CORS requests here } */
// 5 minutes execution time @set_time_limit(5 * 60);
// Uncomment this one to fake upload time // usleep(5000);
// Settings //$targetDir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload"; $targetDir = "http://venes.biz/vergadering/modules/plupload/"; //$targetDir = 'uploads'; $cleanupTargetDir = true; // Remove old files $maxFileAge = 5 * 3600; // Temp file age in seconds
// Create target dir if (!file_exists($targetDir)) { @mkdir($targetDir); }
// Get a file name if (isset($_REQUEST["name"])) { $fileName = $_REQUEST["name"]; } elseif (!empty($_FILES)) { $fileName = $FILES["file"]["name"]; } else { $fileName = uniqid("file"); }
$filePath = $targetDir . DIRECTORY_SEPARATOR . $fileName;
// Chunking might be enabled $chunk = isset($_REQUEST["chunk"]) ? intval($_REQUEST["chunk"]) : 0; $chunks = isset($_REQUEST["chunks"]) ? intval($_REQUEST["chunks"]) : 0;
// Remove old temp files if ($cleanupTargetDir) { if (!is_dir($targetDir) || !$dir = opendir($targetDir)) { die('{"jsonrpc" : "2.0", "error" : {"code": 100, "message": "Failed to open temp directory."}, "id" : "id"}'); }
while (($file = readdir($dir)) !== false) { $tmpfilePath = $targetDir . DIRECTORY_SEPARATOR . $file;
// If temp file is current file proceed to the next if ($tmpfilePath == "{$filePath}.part") { continue; }
// Remove temp file if it is older than the max age and is not the current file if (preg_match('/.part$/', $file) && (filemtime($tmpfilePath) < time() - $maxFileAge)) { @unlink($tmpfilePath); } } closedir($dir); }
// Open temp file if (!$out = @fopen("{$filePath}.part", $chunks ? "ab" : "wb")) { die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}'); }
if (!empty($_FILES)) { if ($_FILES["file"]["error"] || !is_uploaded_file($_FILES["file"]["tmp_name"])) { die('{"jsonrpc" : "2.0", "error" : {"code": 103, "message": "Failed to move uploaded file."}, "id" : "id"}'); }
// Read binary input stream and append it to temp file if (!$in = @fopen($_FILES["file"]["tmp_name"], "rb")) { die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}'); } } else { if (!$in = @fopen("php://input", "rb")) { die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}'); } }
while ($buff = fread($in, 4096)) { fwrite($out, $buff); }
@fclose($out); @fclose($in);
// Check if file has been uploaded if (!$chunks || $chunk == $chunks - 1) { // Strip the temp .part suffix off rename("{$filePath}.part", $filePath); }
// Return Success JSON-RPC response die('{"jsonrpc" : "2.0", "result" : null, "id" : "id"}');
It's not a FileDrop's upload.php script. You are trying to use plupload's server-side script with FileDrop. It will (probably) not work. Try with upload.php from FileDrop's repository.
Sorry wrong file/directory.(been testing more systems)
This is the upload script:
I cant find de place where i can alter de targetdirectory.
greetings Jos
<?php /*! FileDrop Revamped - server-side upload handler sample in public domain | http://filedropjs.org
This is an example of server-side script that handles both AJAX and IFrame uploads.
AJAX upload provides raw file data as POST input while IFrame is a POST request with $_FILES member set.
Result is either output as HTML with JavaScript code to invoke the callback (like JSONP) or in plain text if none is given (it's usually absent on AJAX). */
// If an error causes output to be generated before headers are sent - catch it. ob_start();
// Callback name is passed if upload happens via iframe, not AJAX (FileAPI). $callback = &$_REQUEST['fd-callback'];
// Upload data can be POST'ed as raw form data or uploaded via
// Output message for this demo upload. In your real app this would be something // meaningful for the calling script (that uses FileDrop.js). $output = sprintf('%s; received %s bytes, CRC32 = %08X, MD5 = %s', $name, number_format(strlen($data)), crc32($data), strtoupper(md5($data)));
// In FileDrop sample this demonstrates the passing of custom ?query variables along // with an AJAX/iframe upload. $opt = &$_REQUEST['upload_option']; isset($opt) and $output .= "\nReceived upload_option with value $opt";
if ($callback) { // Callback function given - the caller loads response into a hidden
// Escape output so it remains valid when inserted into a JS 'string'. $output = addcslashes($output, "\\"\0..\x1F");
// Finally output the HTML with an embedded JavaScript to call the function giving // it our message(in your app it doesn't have to be a string) as the first parameter. echo '<!DOCTYPE html>
"; } else { // Caller reads data with XMLHttpRequest so we can output it raw. Real apps would // usually pass and read a JSON object instead of plan text. header('Content-Type: text/plain; charset=utf-8'); echo $output; }Yes, this is the correct script. It's only a stub; it simply reports back when the upload has been successfully received from FileDrop's client-side JavaScript code. It doesn't save the file anywhere. It's easy to extend the script to fit your purpose if you are familiar with PHP.
Seems to work well out of the box. I got the reaction that the file is uploaded but i dont see it on the server.
What do i do wron??