webForumDet fria alternativet

Upload i Safe mode

PHP

9 svar · 453 visningar · startad av silfver

Medlem sedan apr. 200312 679 inlägg
Frågan#1

Hejsan!

Jag söker ett uploadscript som ska fungera i safe mode. Har ett script som jag har prövat och som ska fungera för servern som sidan ligger på, men jag får det ändå inte att funka. Så här ser det scriptet ut. Men jag vill ha ett script som kan ladda upp olika slags filer och inte bara bildfiler.

servern skrev:

Warning: copy(https://www.silfver.se/upload/bild.jpg): failed to open stream: No such file or directory in /mnt/home/silfver/www.silfver.se/upload/upload.php on line 27
något gick snett!

Så blir det när man försöker ladda upp en bild. :(

Är det någon som har lust att hjälpa mig? :)

Mvh,
Daniel

Medlem sedan juli 20023 617 inlägg
#2

Hur blir det om du använder lokal "path"?

$path = "upload/";

För att inte bara gälla bilder kan du ta bort raderna:

if (($HTTP_POST_FILES['userfile']['type']=="image/gif") || ($HTTP_POST_FILES['userfile']['type']=="image/pjpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/jpeg")) {

och

} else { echo "Fel filtyp<br>\n"; exit; }
Medlem sedan apr. 200312 679 inlägg
#3

Underbart fiddler! Tack! :)

Medlem sedan apr. 200312 679 inlägg
#4

Hm. Kan man på något jättesmidigt sätt lägga in info om vem som laddade upp filen i form av ett ip? Skulle underlätta för mig ifall någon börjar missbruka funktionen. :) Ligger det en massa krångel bakom detta så spelar det ingen roll. Tänkte bara om man kunde göra det på något lätt sätt. :)

Medlem sedan apr. 200312 679 inlägg
#5

Hm. En grej till:

<?php

// Image file upload by Bloody
// [url]http://www.bloodys.com/[/url]
// email: [email]info@bloodys.com[/email]
// If you use this script, please put a link back to [url]http://www.bloodys.com/[/url]

$path = "upload/";
$max_size = 200000;

if (!isset($HTTP_POST_FILES['userfile'])) exit;

if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {

if ($HTTP_POST_FILES['userfile']['size']>$max_size) { echo "<p>Filen är för stor.</p>\n"; exit; }

if (file_exists($path . $HTTP_POST_FILES['userfile']['name'])) { echo "<p>Filen finns redan.</p>\n"; exit; }

$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], $path .
$HTTP_POST_FILES['userfile']['name']);
if (!$res) { echo "Något gick snett!<br>\n"; exit; } else { echo "<h3>Uppladdningen lyckades!</h3>\n"; }

echo "<strong>Filnamn:</strong> ".$HTTP_POST_FILES['userfile']['name']."<br>\n";
echo "<strong>Filstorlek:</strong> ".$HTTP_POST_FILES['userfile']['size']." bytes<br>\n";
echo "<strong>Filtyp:</strong> ".$HTTP_POST_FILES['userfile']['type']."<br>\n";
echo "<strong>Fil-URL:</strong>".$HTTP_POST_FILES['userfile']['name']."\n";
}

?>

<p>En massa text!</p>

Allt efter ?> kommer inte med! Hur kommer det sig?

Medlem sedan juli 2003162 inlägg
#6

om 'userfile' inte innehåller ett värde, så avslutas webbsidan där

if (!isset($HTTP_POST_FILES['userfile'])) exit;

är skrivet!

Medlem sedan apr. 200312 679 inlägg
#7

Wickmark skrev:

om 'userfile' inte innehåller ett värde, så avslutas webbsidan där

if (!isset($HTTP_POST_FILES['userfile'])) exit;

är skrivet!

Kan man inte lösa det på något sätt då?

Medlem sedan juli 2003162 inlägg
#8
<?php
// Image file upload by Bloody
// <a href="http://www.bloodys.com/" target="_blank">[url]http://www.bloodys.com/[/url]</a>
// email: [email]info@bloodys.com[/email]
// If you use this script, please put a link back to <a href="http://www.bloodys.com/" target="_blank">[url]http://www.bloodys.com/[/url]</a>
$path = "upload/";
$max_size = 200000;

if (isset($HTTP_POST_FILES['userfile'])) {
if  (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name']))
 {

if ($HTTP_POST_FILES['userfile']['size']>$max_size) { echo "<p>Filen är för stor.</p>\n"; exit; }

if (file_exists($path . $HTTP_POST_FILES['userfile']['name'])) { echo "<p>Filen finns redan.</p>\n"; exit; }

$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], $path .

$HTTP_POST_FILES['userfile']['name']);

if (!$res) { echo "Något gick snett!<br>\n"; exit; } else { echo "<h3>Uppladdningen lyckades!</h3>\n"; }

echo "<strong>Filnamn:</strong> ".$HTTP_POST_FILES['userfile']['name']."<br>\n";

echo "<strong>Filstorlek:</strong> ".$HTTP_POST_FILES['userfile']['size']." bytes<br>\n";

echo "<strong>Filtyp:</strong> ".$HTTP_POST_FILES['userfile']['type']."<br>\n";

echo "<strong>Fil-URL:</strong>".$HTTP_POST_FILES['userfile']['name']."\n";

}
}

?>
Medlem sedan juli 20023 617 inlägg
Medlem sedan apr. 200312 679 inlägg
#10

Wickmark: Tack! Det där gjorde susen. :)

fiddler: Sidan kunde inte visas. :(

274 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
140 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)