/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
File upload 5-6 filer adgangen
Fra : Ukendt


Dato : 14-07-05 15:13

Hejsa

Er der nogen, der kan hjælpe mig med et php scipt til fil upload:
Det eneste det skal kunne gøre er,at uploade 5-6 filer afgangen og dernæste
at kunne vælge vilkårligt med bilioteker på webserveren , sådan at filerne
kommer det rigtige
sted den. Scriptet skal heller ikke bruge moduler/componeter, da jeg ikke
ved om b-one understøtter dem.



 
 
Ulrik Nielsen (14-07-2005)
Kommentar
Fra : Ulrik Nielsen


Dato : 14-07-05 15:38

Agent Orange wrote:
> Hejsa
>
> Er der nogen, der kan hjælpe mig med et php scipt til fil upload:
> Det eneste det skal kunne gøre er,at uploade 5-6 filer afgangen og dernæste
> at kunne vælge vilkårligt med bilioteker på webserveren , sådan at filerne
> kommer det rigtige
> sted den. Scriptet skal heller ikke bruge moduler/componeter, da jeg ikke
> ved om b-one understøtter dem.

det er ret let:
http://www.php.net/manual/en/features.file-upload.php



--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | Small animal kamikaze attack on power supplies
from bofh | http://www.cs.wisc.edu/~ballard/bofh/

Agent Orange (14-07-2005)
Kommentar
Fra : Agent Orange


Dato : 14-07-05 16:39

Jeg synes nu ikke det er så let alligevel. bare det at ændre
biblioteksnavnet!!

ser her :

Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or
T_FUNCTION or T_VAR or '}' in
/customers/kaninburet.dk/kaninburet.dk/httpd.www/kaninburet/Login/hemmelig.php
on line 22 (hvad sker der her??)

her mit script:
<html>
<head>
</head>
<body>
<body background="wood_floor.jpg" link="#000000" alink="#000000"
vlink="#000000">
<span style="height: 100%; width: 725px;
scrollbar-face-color: #4C5249;
scrollbar-hightlight-#4C5249 ;
scrollbar-shadow-color: #4C5249;
scrollbar-3dlight-color: #4C5249;
scrollbar-arrow-color: #B6950E;
scrollbar-track-color: #4C5249;
scrollbar-darkshadow-color: #4C5249; overflow: auto;">
<INPUT type=button onclick="JavaScript: location.href = 'logaf.php';"
value="Log af">
<?php

// author: Suri Bala
// freely distributable

class fileupload{

private $upload_tmp_dir = "./upload/"; // leading and trailing slash
required
private $file_upload_flag = "off";
private $upload_max_filesize = "100";
private $allowable_upload_base_dirs = array("/tmp/",
"/web/dynawolf/uploads/");
private $allowable_upload_tmp_dirs = array( "/tmp/");
private $upload_dir= "./upload/"; // leading and trailing slash required
private $upload_file_name;

function __construct($name) {
if( is_null($_FILES[$name]) ) {
echo "Specified file <strong> ".$name." </strong> does not exist in
the FILES array. Please check if it exists";
echo "Exiting...";
exit;
}
$this->getConfigurationSettings();
if( $this->file_upload_flag == "off" ) {
echo "File upload capability in the configuration file is turned
<strong> off </strong> . Please update the php.ini file.";
exit;
}
$this->upload_file_name = $name;
}

private function getConfigurationSettings() {
$this->file_upload_flag = ini_get('file_uploads');
$this->upload_tmp_dir = ini_get('upload_tmp_dir');
$this->upload_max_filesize = ini_get('upload_max_filesize');
$this->upload_max_filesize = preg_replace('/M/', '000000',
$this->upload_max_filesize);
}

public function getErrors() {
return $_FILES[$this->upload_file_name]['error'];
}

public function getFileSize() {
return $_FILES[$this->upload_file_name]['size'];
}

public function getFileName() {
return $_FILES[$this->upload_file_name]['name'];
}

public function getTmpName() {
return $_FILES[$this->upload_file_name]['tmp_name'];
}

public function setUploadDir($upload_dir) {
trim($upload_dir);
if( $upload_dir[strlen($upload_dir)-1] != "/" ) $upload_dir .= "/"; //
add trailing slash
$can_upload = false;
foreach( $this->allowable_upload_base_dirs as $dir ) {
if( $dir == $upload_dir ) {
$can_upload = true;
break;
}
}
if( !$can_upload ) {
echo "Cannot upload to the dir ->".$upload_dir;
return;
}else{
$this->upload_dir = $upload_dir;
echo $this->upload_dir;
}
}

public function setTmpUploadDir($upload_tmp_dir) {
trim($upload_tmp_dir);
if( $upload_tmp_dir[strlen($upload_tmp_dir)-1] != "/" ) $upload_tmp_dir
..= "/"; // add trailing slash
$can_upload = false;
foreach( $this->allowable_upload_base_dirs as $dir ) {
if( $dir == $upload_tmp_dir ) {
$can_upload = true;
return;
}
}
if( !$can_upload ) {
echo "Cannot upload to the dir ->".$uplaod_tmp_dir;
return;
}
$this->upload_tmp_dir = $upload_dir;
}

public function uploadFile() {
if( $this->checkMaxMemorySizeLimit() ) {
echo "File size of ".$this->getFileSize()." greater than allowable
limit of ".$this->upload_max_filesize."Please change the configuration
setting.";
return;
}else{
if( !move_uploaded_file($this->getTmpName(),
$this->upload_dir.$this->getFileName()) ) {
echo "Failed to upload file ".$this->getTmpName();
}
}
}

public function checkMaxMemorySizeLimit() {
if( $this->getFileSize() > $this->upload_max_filesize ) {
return true;
}else{
return false;
}
}

}

</span>
</body>
</html>

"Ulrik Nielsen" <un.spam@tiscali.dk> skrev i en meddelelse
news:42d678e4$0$4415$edfadb0f@dread15.news.tele.dk...
> Agent Orange wrote:
>> Hejsa
>>
>> Er der nogen, der kan hjælpe mig med et php scipt til fil upload:
>> Det eneste det skal kunne gøre er,at uploade 5-6 filer afgangen og
>> dernæste
>> at kunne vælge vilkårligt med bilioteker på webserveren , sådan at
>> filerne kommer det rigtige
>> sted den. Scriptet skal heller ikke bruge moduler/componeter, da jeg ikke
>> ved om b-one understøtter dem.
>
> det er ret let:
> http://www.php.net/manual/en/features.file-upload.php
>
>
>
> --
> ulrik nielsen |
> -----------------+---------------------------------------------------
> quote or the day | Small animal kamikaze attack on power supplies
> from bofh | http://www.cs.wisc.edu/~ballard/bofh/



Ulrik Nielsen (14-07-2005)
Kommentar
Fra : Ulrik Nielsen


Dato : 14-07-05 17:14

Agent Orange wrote:
> Jeg synes nu ikke det er så let alligevel. bare det at ændre
> biblioteksnavnet!!
>
> ser her :
>
> Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or
> T_FUNCTION or T_VAR or '}' in
> /customers/kaninburet.dk/kaninburet.dk/httpd.www/kaninburet/Login/hemmelig.php
> on line 22 (hvad sker der her??)
>

linie 22:

> private $upload_tmp_dir = "./upload/"; // leading and trailing slash required

"private" er først indført i PHP version 5, så hvis ikke b-one køre PHP
5 kommer det aldrig til at virke.

- jeg har ikke læst resten igennem, men find evt. et sript der er bygget
til PHP 4 :)


--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | Small animal kamikaze attack on power supplies
from bofh | http://www.cs.wisc.edu/~ballard/bofh/

Agent Orange (14-07-2005)
Kommentar
Fra : Agent Orange


Dato : 14-07-05 18:15

hejsa igen

Jeg har det her script fra webcafe, som virker helt fint. Problemet med
dette script
er, at jeg ikke kan vælge bibliotek på serveren, sådan at filerne kommer det
rigtige
sted hen, og kan ikke uploade mere en 1 fil adgangen. Kan du/I hjælpe mig
med det?

script:
<html>
<head>
</head>
<body>
<body background="wood_floor.jpg" link="#000000" alink="#000000"
vlink="#000000">
<span style="height: 100%; width: 725px;
scrollbar-face-color: #4C5249;
scrollbar-hightlight-#4C5249 ;
scrollbar-shadow-color: #4C5249;
scrollbar-3dlight-color: #4C5249;
scrollbar-arrow-color: #B6950E;
scrollbar-track-color: #4C5249;
scrollbar-darkshadow-color: #4C5249; overflow: auto;">
<INPUT type=button onclick="JavaScript: location.href = 'logaf.php';"
value="Log af">
<?php

/**
* Simpelt script der tager imod et filupload og lister
* filer i upload-biblioteket.
*
* Scriptet er et eksempel til en artikel paa WebCafe.dk:
*
* http://www.webcafe.dk/artikler/php/upload/
*/


/**
* Hvor skal filerne uploades til?
* Husk, at webserveren skal kunne skrive til dette bibliotek
*/
$konfiguration["upload_bibliotek"] = "./upload";

/* Hvor mange kilobytes maa filerne fylde per styk? */
$konfiguration["max_stoerrelse"] = "1000";


/**
* Checker PHP-version
*/
list($major, $minor, $rev) = explode(".", phpversion());
if($major < 4) {
die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
}


/**
* Udligner forskellene mellem 4.1.x og 4.0.x
* Bemaerk, at disse ikke er "superglobals"
*/
if($minor < 1) {
$_FILES = $HTTP_POST_FILES;
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VARS;
}


if($_FILES["upfil"]["size"] > 0) {

/**
* Hvis der er en fil, saa uploader vi den.
*
* Foerst slaar vi lige fast, hvor filen skal flyttes fra og til.
*/

$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] . "/" .
$_FILES["upfil"]["name"];

/**
* Checker lige om filen er for stor til at vi vil acceptere den.
* Vi bruger ceil() i stedet for round(), saa vi ikke faar den skoere
* situation, at fejlmeldingen siger, at filen er for stor, men angiver
* samme stoerrelse for filen og den oevre graense.
*/
$fil_stoerrelse = filesize($fra)/1024;
if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) {
die("Desv&aelig;rre - filen er for stor. Jeg accepterer kun " .
$konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
ceil($fil_stoerrelse) . "kb");
}
if(function_exists("move_uploaded_file")) {
move_uploaded_file($fra, $til);
} else {
copy($fra, $til);
}

header("Location: " . $_SERVER["PHP_SELF"]);
exit;

} else {

/**
* Intet tegn paa upload, saa vi viser bare listen over filer
* og HTML-formularen til nye uploads.
*/
$indhold = listFiler($konfiguration["upload_bibliotek"]);
$indhold .= bygFormular($_SERVER["PHP_SELF"]);
$output = bygSide("hej", $indhold);

}


/**
* Skriver ud til browseren
*/
echo $output;
exit;



/**************************************************\
** Hjaelpefunktioner **
\**************************************************/

function bygSide($titel, $indhold) {

/**
* Pakker indholdet ind i lidt formalia
*/
return '<html>
<head><title>' . $titel . '</title></head>
<body bgcolor="#ffffff">
<div align="right"><a href="./">Tilbage til artiklen</a></div>
' . $indhold . '</body>
</html>
';

}

function bygFormular($action) {

$formular = '<form action="' . $action . '" method="post"
enctype="multipart/form-data">
<table border="1" cellpadding="5" cellspacing="0">
<tr>
<td align="right" bgcolor="#999999"><b>Fil til
upload:</b></td>
<td bgcolor="#cccccc"><input type="file" name="upfil"
/></td>
</tr>
<tr>
<td colspan="2" align="middle" bgcolor="#dddddd"><input
type="submit" value="upload" /></td>
</tr>
</table>
</form>
';

return "<h2>Upload fil:</h2>" . $formular;

}

function listFiler($bibliotek) {

if($bib = @opendir($bibliotek)) {
/**
* Denne syntaks er forklaret i PHP-manualen:
* http://www.php.net/manual/en/function.readdir.php
*/
while (false !== ($fil = readdir($bib))) {
if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) {
$fil_liste[] = "<a href=\"$bibliotek/$fil\">$fil</a>";
}
}
closedir($bib);

if(is_array($fil_liste)) {
$liste = "<li>" . join("</li><li>", $fil_liste) . "</li>";
} else {
$liste = "<li>Ingen filer p&aring; lager</li>";
}
return "<h2>Filer p&aring; lager:</h2><ul>" . $liste . "</ul>";
} else {
die("Kunne ikke &aring;bne biblioteket: " . $bibliotek);
}

}


?>
</span>
</body>
</html>






Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste