Pagina 1 van 1
REQ: kleine upload utility voor csv files
Geplaatst: 01 okt 2007, 19:25
door barduck
Ik had graag een kleine upload gemaakt bereikbaar voor de leden, maar die enkel en alleen dient om csv files naar een bepaalde map te uppen (bvb: csvfiles), waar na de admins deze vanuit het adminpaneel kunnen bereiken en eventueel wissen. Dus niet zo'n lomp geval als de attachment MOD
Re: REQ: kleine upload utility voor csv files
Geplaatst: 01 okt 2007, 21:08
door svenn
hoi ,
mss kun je hier iets mee :
http://www.phpbbhacks.com/download/1813
mogelijk ombouwen ofzo, overigens is een upload scriptje niet zo hard te vinden, een management systeem echter is niet alles ...
veel succes
Re: REQ: kleine upload utility voor csv files
Geplaatst: 04 okt 2007, 09:30
door barduck
beetje te omslachtig om te gaan ombouwen. Ik ben echter wel iets aan het proberen maar ik heb geen idee of dit gaat werken, misschien kan iemand een handje toesteken?
Dit is wat ik tot nu heb:
Code: Selecteer alles
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . '/includes/constants.'.$phpEx);
include($phpbb_root_path . '/includes/bbcode.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if( !$userdata['session_logged_in'] ) // Not open to guests
{
message_die(GENERAL_MESSAGE, $lang['upload_no_guests']);
}
$user_id="SELECT user_id from " . USERS_TABLE . " WHERE id=" . $id;
if ( !$user_id_result = $db->sql_query($user_id) )
{
message_die(GENERAL_ERROR, 'Could not query the users table.', '', __LINE__, __FILE__, $user_id);
}
//done: check if has result!
if( $db->sql_numrows($user_id_result) < 1 )
{
message_die(GENERAL_ERROR, $lang[unknown_user']);
}
else
{
while( $user_id_row = $db->sql_fetchrow($user_id_result) )
{
$user_id=$user_id_row['user_id'];
}
}
$target = "upload/";
$target = $target . basename( $_FILES['uploaded']['name']) ;
$target = $user_id . $target;
$ok=1;
//This is our size condition
if ($uploaded_size > 350000)
{
message_die(GENERAL_ERROR, sprintf($lang['uploaded_file_to_large']);
$ok=0;
}
//This is our limit file type condition
if ($uploaded_type =="text/php")
{
message_die(GENERAL_ERROR, sprintf($lang['No_PHP_files']);
$ok=0;
}
if (!($uploaded_type=="csv")) {
message_die(GENERAL_ERROR, sprintf($lang['Upload_only_CSV_fiels']);
$ok=0;
}
//Here we check that $ok was not set to 0 by an error
if ($ok==0)
{
message_die(GENERAL_ERROR, sprintf($lang['Could_not_upload_file']);
}
//If everything is ok we try to upload it
else
{
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded";
}
else
{
message_die(GENERAL_ERROR, sprintf($lang['Could_not_upload_file']);
}
}
?>
Er zullen heel waarschijnlijk nog een heleboel fouten inzitten, daar ben ik me bewust van, ik heb namenlijk bitter weinig voeling met php. Tips en pointers zijn dus meer dan welkom
Re: REQ: kleine upload utility voor csv files
Geplaatst: 07 okt 2007, 19:14
door barduck
bumping
Re: REQ: kleine upload utility voor csv files
Geplaatst: 18 okt 2007, 15:23
door barduck
in de template file heb ik nu dit staan:
Code: Selecteer alles
<form action="{F_FORMUPLOAD}" method="post" enctype="{S_FORM_ENCTYPE}">
<table width="100%" border="0" class="bodyline">
<tr>
<td valign="top" align="left">
<tr>
<td class="row1" width="30%"><span class="gen">{L_UPLOAD_CSV_FILE}:</span></td>
<td class="row2" width="70%"><span class="genmed"><input type="hidden" name="MAX_FILE_SIZE" value="{CSV_SIZE}" /><input type="file" name="movielist_uploadcsv_file" size= "50" maxlength="{FILESIZE}" value="" class="post" /></span></td>
</tr>
<tr>
<td class="catBottom" colspan="2" align="center">
<input type="submit" name="submit" class="mainoption" value="{L_SUBMIT}">
{S_HIDDEN_FIELDS}
</td>
</tr>
</td>
</tr>
</table>
</form>
en in de php file waar de uploadfunctie in moet dit:
Code: Selecteer alles
// part for uploading csv files
else if($mode=='upload')
{
$template->set_filenames(array(
'body' => 'movielist_upload.tpl')
);
//
// Let's do an overall check for settings/versions which would prevent
// us from doing file uploads....
//
$ini_val = ( phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
$form_enctype = ( @$ini_val('file_uploads') == '0' || strtolower(@$ini_val('file_uploads') == 'off') || phpversion() == '4.0.4pl1' || !$board_config['movielist_allow_uploads'] || ( phpversion() < '4.0.3' && @$ini_val('open_basedir') != '' ) ) ? '' : 'enctype="multipart/form-data"';
$template->assign_vars(array(
'F_FORMUPLOAD' => append_sid("movielist.$phpEx?mode=overview&action=upload"),
'S_FORM_ENCTYPE' => $form_enctype,
'L_UPLOAD_PANEL' => $lang['Movielist_upload_panel'],
'L_UPLOAD_CSV_FILE' => $lang['Movielist_upload_csv_file'],
'L_SUBMIT' => $lang['Submit'],
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'CSV-SIZE' => !$board_config['movielist_csvmax_filesize'])
);
$template->pparse('body');
}
// end part
het is reeds zichtbaar, ik kan een file selecteren, maar logisch genoeg ze niet opladen (dat deel komt nog te kort in de php file) Maar hoe moet ik nu verder he, vooral met http_post_vars enzo zit ik een beetje vast
Re: REQ: kleine upload utility voor csv files
Geplaatst: 19 okt 2007, 20:51
door Jan
Hoi.
Ik denk dat je best even een topique opent op het Prikbord, want er is weinig kans dat er voor je een speciaal systeem gaat gebouwd worden zonder enige repressie.