PHP-script aanpassen

Status
Niet open voor verdere reacties.

Tarabass

Terugkerende gebruiker
Lid geworden
25 jul 2004
Berichten
1.582
Ik heb een upload-script gebruikt in één van mijn site's, die ik aan zou kunnen passen! Echter krijg ik dit niet voor mekaar. Het gaat om de maximale grote van de file, die nu op 500k staat, en die ik bijv. op maximaal 5000k wil zetten. Wie weet hoe ik dit script aan moet passen...??

<?php

$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

$upload_dir = "upload_files/";
$upload_url = $url_dir."/upload_files/";
$message ="";

//create upload_files directory if not exist
//If it does not work, create on your own and change permission.
if (!is_dir("upload_files")) {
die ("upload_files directory doesn't exist");
}

if ($_FILES['userfile']) {
$message = do_upload($upload_dir, $upload_url);
}
else {
$message = "Invalid File Specified.";
}

print $message;

function do_upload($upload_dir, $upload_url) {

$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_type = $_FILES['userfile']['type'];
$file_size = $_FILES['userfile']['size'];
$result = $_FILES['userfile']['error'];
$file_url = $upload_url.$file_name;
$file_path = $upload_dir.$file_name;

//File Name Check
if ( $file_name =="") {
$message = "No File Has Been chosen.";
return $message;
}
//File Size Check
else if ( $file_size > 500000) {
$message = "The file size is over 500K.";
return $message;
}
//File Type Check
else if ( $file_type == "text/plain" ) {
$message = "Sorry, You cannot upload any script file" ;
return $message;
}

$result = move_uploaded_file($temp_name, $file_path);
$message = ($result)?"File url <a href=$file_url>$file_url</a>" :
"Somthing is wrong with uploading a file.";

return $message;
}
?>

Had de waarden bij file size check op 5000000 gezet en de message aangepast op 5000k maar dat blijkt niet te werken:(

BvD
 
Er is ook een maximale waarde binnen PHP ingesteld. Deze is op te vragen via:
echo ini_get("upload_max_filesize ");
en met ini_set() is deze hoger in te stellen.
Kijk ook in je formulier of daar geen invoerveld met een maximale waarde in staat.
 
//File Size Check
else if ( $file_size > 500000) {
$message = "The file size is over 500K.";
return $message;
}

Kan je toch zelf makkelijk aanpassen naar het gewenste aantal bytes?

Trouwens dit hoort in de PHP sectie..
 
Dit is mijn eerste php-script ooit gebruikt en ben dus allang blij dat het werkt. Nu gaat het om een script gebruikt op een lycos-site(gratis en leuk om te proberen), die na mijn weten geen maxi gebruiken voor het uploaden van een file, maar dit kan ik dus niet zelf aanpassen..

@hackerfrans: bedankt voor je antwoord maar jou antwoord snap ik dus niet :o ! Kan ik het niet gewoon in mn script aanpassen?
 
Geplaatst door BrEeZeR


Kan je toch zelf makkelijk aanpassen naar het gewenste aantal bytes?

Trouwens dit hoort in de PHP sectie..

Oow sorry, dacht dat ik hier goed zat!:o

Heb die waarden aangepast zoals je zegt maar dat blijkt niet te werken:( , of ik moet wat verkeerd doen:

//File Size Check
else if ( $file_size > 1000000) {
$message = "The file size is over 1000K.";
return $message;
}

Dit heb ik getracht te gebruiken, maar geen resultaat...
 
Wat lukt er niet? Kun je bestanden die kleiner zijn wel uploaden of lukt dat ook niet? Welke foutmelding krijg je eventueel?
 
Alles gaat goed, en het uploaden van de (orginele) grootte, tot 500k, gaat uitstekend! Deze geuploadde file's komen mooi in een mapje op mn ftp-site. Alleen als ik de waarde verhoog naar bijv. 1000000(zie vorige post) dan kan er nog steeds tot 500k geupload worden.. Daarboven lijkt ie wel te laden maar keert dan weer terug naar de site zonder wat geupload te hebben!
 
Neej geen foutmelding! Heb een bijlage bijgevoegd waarop de statis van de upload te zien is, hier keert ie na een te grote (groter dan 500k bij aanpassen naar 1000k) upload zonder te uploaden naar terug. Bij sommige file's geeft ie daar ook een melding "something is wrong with uploading the file", maar meestal keert ie gewoon weer terug naar de orginele status..:(
 

Bijlagen

  • screenhunter_023.jpg
    screenhunter_023.jpg
    4 KB · Weergaven: 20
Wat staat er in formulier voor de upload? Daar kan ook een maximum-upload ingebouwd zijn. En voer deze code eens uit en kijk wat die teruggeeft:
<?
echo ini_get("upload_max_filesize ");
?>
 
Geplaatst door hackerfrans
En voer deze code eens uit en kijk wat die teruggeeft:
<?
echo ini_get("upload_max_filesize ");
?>
Dat zal niets teruggeven, pas wanneer je die spatie na 'filesize' weghaalt zal hij iets teruggeven ;)
 
Met of zonder spatie, in een bestaande pagina of in een nieuwe pagina, deze code laat niets zien. Ben bang dat lycos een max. heeft ingestelt op de server..

En wat formulier betreft, weet niet wat daar mee bedoeld wordt! Waar kan ik dit formulier vinden? Ik heb dit script als zip gedownload om te proberen, en in die zip zat een map "upload" (met daarin een leeg test.txt bestand) en een php-file. Deze php-code heb ik geknipt en geplakt naar mn eigen html-site en deze hernoemt naar "your file.php"! Het hele zwikkie geupload naar mn ftp-serer en het ziet er nu als volgt uit:

Een "your file.php"-pagina (bestaande html met php-code)
Een map "upload", waarin de file's worden geplaatst

Het lijkt te werken, maar alleen tot 500kb. Als ik de waarden van de max.upload dus laag hou komt er wel gewoon een melding "this file is over 100kb" bijv. ! Zet ik de waarden op 1000kb en upload ik een file van 600kb, komt er geen melding en ook geen upload. Hij lijkt te uploaden maar keert gewoon weer terug naar de pagina...:(

In de wandelgangen hoor ik dan ook dat de max.upload via de browser 2mb zowiezo is en waarschijnlijk voor lycos 300kb, kan dit kloppen?

Alvast bedankt voor jullie moeite...:thumb:
 
De maximale upload via lycos is, helaas, maar 200kb! Kwam dittegen op de technische site van lycos. Erg weinig maar goed...

Maar klopt het dat de maximale upload via een browser zowiezo maar 2 mb is? En hoe kan ik er dan voor zorgen dat er bestanden van max. 10 mb geupload kunnen worden?

BvD
 
Geplaatst door Tarabass
Maar klopt het dat de maximale upload via een browser zowiezo maar 2 mb is?
Nope.
En hoe kan ik er dan voor zorgen dat er bestanden van max. 10 mb geupload kunnen worden?
De maximaal te uploaden waarde in php.ini wijzigen.
 
Lycos heeft dus zogezegd hun php.ini ingesteld op 200 kb, maar dit is in principe ongelimiteerd?

Dat word een eigen server...:8-0:

Vraag opgelost:thumb:
 
Geplaatst door Tarabass
Lycos heeft dus zogezegd hun php.ini ingesteld op 200 kb, maar dit is in principe ongelimiteerd?
Nou, ongelimiteerd is niets. Tenslotte is er altijd een lmiet aan hardeschijf ruimte ;)
Kep zelf trouwens nooit geprobeerd gigantisch grote bestanden up te loaden, dus of er een limiet aanzit hoeveel MB je via een browser naar een server kan uploaden via de HTTP-verbinding ... Ik heb geen idee :)
Maar dat limiet ligt zeker niet onder de 100 MB :)
 
Bedankt voor je heldere uitleg:thumb:

Wist niet dat de upload van lycos zo laag was, en dacht dus dat mijn script niet goed was, maar die blijkt uitstekend te werken dat is dus duidelijk.

Wil een website beginnen (als ik mijn eigen server straks heb draaien) en daarbij gaat het om bestanden van rond de tien mb die geupload moeten kunnen worden! Dat moet dus wel lukken denk ik.. Mocht ik tegen die tijd weer met problemen zitten hoort u van me:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan