Avatar billede tupsy Nybegynder
18. april 2010 - 12:08 Der er 5 kommentarer og
1 løsning

Upload billeder tol one.com?

Jeg har følgende script som virker på alle de andre webhoteller jeg har gang i.

Men.
Nu skal jeg kunne uploade til et hotel hos one.com

Alt tekst bliver smidt i databasen og der kommer ingen fejlmeldinger.
Men der kommer til gengæld heller intet billede i min folder. :-(

Hvad er der mon galt?
Info fra one.com:
"
One.coms servere kører med safe mode slået fra og open basedir slået til.
Open_basedir er en sikkerhedsfunktion i PHP som definerer placeringer eller stier fra hvilke, PHP har tilladelse til at tilgå filer.

Mapperne vi tillader er:

/customers/ditdomæne.dk/ditdomæne.dk, /usr/share/php (yourdomain.com being your domain, hosted by One.com)
"

Koden er herunder...


<?
session_start();
header("Pragma: no-cache");
header("Cache-Control: no-cache");
header("Cache-Control: no-store");

require("../connect.php");
require("admintop.htm");
?>
<title>tttttt. Admin-Ret forside</title>
<?

if($send){


$tekst = urldecode($tekst);
$tekst = nl2br($tekst);

$tid = time();

$ins = mysql_query("UPDATE forside SET tekst='$tekst', overskrift='$overskrift', html_tekst='$html_tekst'");



if (isset($_POST['send'])) {
if (is_uploaded_file($_FILES['fil']['tmp_name'])) {
$tmp = $_FILES['fil']['tmp_name'];
if ($_FILES['fil']['type'] == "image/pjpeg") {
$dest = $dir."/".$_FILES['fil']['name'];

$tid = time();
$ins = mysql_query("UPDATE forside SET tid='$tid'");


if (move_uploaded_file($_FILES['fil']['tmp_name'], $DOCUMENT_ROOT."/forsidepix/"."$tid.jpg")) ;



$im = imagecreatefromjpeg($DOCUMENT_ROOT."/forsidepix/"."$tid.jpg");
$b = imagesx($im);
$h = imagesy($im);
if ($b>170) {
$d = 170/$b;
$dh = round($h*$d);
$db = 170;
$dest_im = imagecreatetruecolor($db, $dh);
imageAntiAlias($dest_im,true);
imagecopyresampled($dest_im,$im,0,0,0,0,$db,$dh,$b,$h);
imagejpeg($dest_im, $DOCUMENT_ROOT."/forsidepix/"."$tid.jpg", 100);


}





}
} else {
?>
<p align="center"><b>Ingen billede uploadet</b></p>
<?
}
}

if($slet_billede)
{
$ins = mysql_query("UPDATE forside SET tid='0'");
}


?>

<p align="center"><b>Forsiden er nu opdateret..</b></p>

<?
}





if(!$send)
{

$tekstquery = mysql_query ("SELECT * FROM forside") or die("SELECT error");
$tekstdata = mysql_fetch_array($tekstquery) ;


$tekstdata["tekst"] = str_replace("<br />", "", $tekstdata["tekst"]);




?>

<form action="ret_forside.php" method="post" enctype="multipart/form-data"> 
  <div align="center">
    <center>
    <table border="0" cellpadding="0" cellspacing="4" width="500" height="270">
      <tr>
        <td width="33%" height="25"><b>Overskrift</b></td>
        <td width="67%" align="left" height="25"><input type="text" name="overskrift" value="<?echo $tekstdata[overskrift];?>" size="23"></td>
      </tr>
      <tr>
        <td width="33%" height="119"><b>Tekst</b></td>
        <td width="67%" align="left" height="119"><textarea rows="6" name="tekst" cols="50"><?echo $tekstdata[tekst];?></textarea></td>
    </tr>
      <tr>
        <td width="33%" height="119"><b>Evt. html</b></td>
        <td width="67%" align="left" height="119"><textarea rows="6" name="html_tekst" cols="50"><?echo $tekstdata[html_tekst];?></textarea></td>
      </tr>
      <tr>
        <td width="33%" height="63"><b>Evt. nyt billede</b></td>
        <td width="67%" align="left" height="63">
<input type="file" name="fil"> <br>(Max. 1100 pixel høj/bred) <br>

</td>

</tr>
      <tr>
        <td width="33%" height="24"><b>Nuværende billede</b></td>
        <td width="67%" align="left" height="24">
<img border="0" src="../forsidepix/<?echo $tekstdata["tid"];?>.jpg">       


</td>



      </tr>
      <tr>
        <td width="33%" height="19"><b>Slet billede</b></td>
        <td width="67%" align="left" height="19">
<input type="checkbox" name="slet_billede" value="1">       


</td>



      </tr>
    </table>
    </center>
  </div>
  <p align="center"><input class="knap" type="submit" value="Opdater" name="send"></p>

</form>

<?

}
require("bund.htm");

?>
Avatar billede zynzz Praktikant
18. april 2010 - 13:13 #1
$tekst = $_POST['tekst']

$send = $_POST['send']
Avatar billede tupsy Nybegynder
18. april 2010 - 13:17 #2
zynzz--->
Jeg tror ikke jeg er helt med?

Men det viser sig et det virker fint hvis jeg uploader til en undermapper til den mappe hvor upload scriptet ligger i.
Men hvis jeg forsøger at uploade til en mappe der ligger før så går det galt.
Filen kommer godt nok op men den virker ikke = kan ikke vises.

Hvorfor søren det?
Avatar billede tupsy Nybegynder
18. april 2010 - 14:12 #3
Hmmmmmmm, det viser sig vist at det er min chmod der har det med at slå fra af sig selv af og til.
Derfor så ustabil.

Tror liiiige jeg skal have kontaktet one.com. ;-)
Avatar billede zynzz Praktikant
21. april 2010 - 15:50 #4
Det jeg mente med overstående var at one sikkert har slået global variabler til..., ang. chmod kræves det jo du kan skrive til mappen, hvis ikke bliver billedet ikke uploadet...
Avatar billede tupsy Nybegynder
21. april 2010 - 16:11 #5
Nå ja ok..

Men det er løst nu. (uden jeg har ændret på noget)
Så det må have været mit nye hotel der har haft lidt start vanskeligheder.. :-)
Avatar billede zynzz Praktikant
22. april 2010 - 18:53 #6
Godt du fik det løst...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Unik System Design A/S

Udviklingschef

Dynamicweb Software A/S

Solution Tech Lead

IT & Co ApS

Systemkonsulent