Even voorstellen. Drees Hoek, voorheen speelgoedondernemer die door de crisis zijn zaak heb moeten sluiten. Maar wil vanuit mijn huidige vaste baan toch weer als zelfstandige aan het werk. Daarvoor ben druk bezig met het bouwen en verbouwen van voordeligboek.nl.

ik wil graag sommige taken geautomatiseerd hebben. Dit schript haalt de foto's op van der server van centraal boekhuis. Maar het werkt niet helemaal.

Kan iemand mij helpen. Ik wil graag een boek naar keuze cadeau doen voor de gene die mij kan helpen

Drees

De volgende foutmeldingen

Notice: Undefined variable: amount_of_headings in C:\xampp\htdocs\cb\getcovers.php on line 47

Notice: Undefined variable: q in C:\xampp\htdocs\cb\getcovers.php on line 35

Notice: Undefined index: EAN in C:\xampp\htdocs\cb\getcovers.php on line 61

Notice: Undefined index: AFBEELDING in C:\xampp\htdocs\cb\getcovers.php on line 63

<?php


// De directorie waar alle bestanden opgeslagen moeten worden.
$cover_dir = "covers/";
$cb_hash_dir = "https://cbonline.boekhuis.nl/pls/cover/p_get_cover_fe?p_hash=";
$hoeveelheid_ophalen = 200;
$csv_file = "import.csv";


// Save_image functie om de afbeelding te downloaden van CBonline server.
function save_image($remote_img, $path) {
$img = imagecreatefromjpeg($remote_img);

if(imagejpeg($img, $path)) {
return true;
}
else {
return false;
}
}


//open file and get data
$data = file_get_contents($csv_file);

// create array
$full_array = array();

// Lees CSV uit en plaats in array.
$handle = fopen($csv_file, "r");
while (($data = fgetcsv($handle, 50000,"\n")) !== FALSE) {
$data = explode("\t", $data[0]);
if(isset($amount_of_headings)) {
$q++;
for($i = 0;$i < $amount_of_headings; $i++) {
if($data[$i] !== ";") {
$full_array[$q][$h1[$i]] = str_replace(";","",$data[$i]);
}
}

}
else {

$heading = "<tr>";
foreach($data as $field) {
$amount_of_headings++;
if($field !== ";") {
$h1[] = $field;
$heading .= "<th>{$field}</th>";
}
}
$heading .= "</tr>";
}
}
fclose($handle);


foreach($full_array as $row) {
// We maken het volledige path aan zodat we weten waar de IMG moet komen.
$path = $cover_dir . $row['EAN'] .".jpg";

$cb_path = $row['AFBEELDING'];


// Eerst kijken we of het bestand al bestaat.
if(!file_exists($path)) {

// We slaan de IMG op op onze server.
if(@save_image($cb_path, $path)) {

}
}

}


?>
Pas op; boeken kunnen heel duur zijn ;-)

Je foutmelding al opgezocht op internet?
Dan zal blijken dat je variabelen/velden niet bestaan.
Op regel 47 wil je $amount_of_headings verhogen, maar de variabele bestaat daar niet.
Datzelfde geldt voor de variabele q op regel 35.
Maak beide variabelen aan (boven in het script) door een waarde toe te kennen.

Op regel 61/63 zal het veld niet bestaan.
Dit php bestand heb ik gehad van mijn web beheerder 't boektiekje. Heeft regel 47 en regel 35 te maken met 61/63? In het csv bestand staan wel de ean en afbeelding
tussen regel 45 en 46 kun je plaatsen

$amount_of_headings = 0;

dat zal de fout op 46 verhelpen.

--
en op regel 29 zou je kunnen zetten : $q = 0;

[size=xsmall]Toevoeging op 15/12/2013 22:01:40:[/size]

wbt de fouten met $row['EAN'] en 'AFBEELDING':

je bouwt met je array ook een tabel op op het scherm.
De kopregel daarvan: bevat die ook EAN en AFBEELDING?
Ik ga er mee aan de slag. Super bedankt voor de hulp. Het csv bevat EAN en AFBEELDING


als die fout met EAN/AFBEELDING blijft:

zet eens op regel voor de foreach:

echo '<pre>'.print_r($full_array,1).'</pre>';

(en dan even hopen dat dat niet in je <table> terecht komt)
Dat was grappig ik krijg nu een complete lijst van het csv bestand. Dat werkt Array
(
[1] => Array
(
[EAN] => 9789048813780
[TITEL] => Het laatste oudejaar van de mensheid
[SUBTITEL] =>
[UITGEVER_ID] => 9479591
[UITGEVER_NM] => Dutch Media uitgevers
[IMPRINT_NM] => Lebowski
[NUR_KD] => 302
[BOEKSOORT_KD] => O
[REEKS_NM] =>
[REEKS_NR] =>
[BIBLIOGRAFISCHE_DRUK] => 1
[GEILLUSTREERD_IND] => N
[COMMERCIELE_TITEL] => Het laatste oudejaar van de mensheid
[AANTAL_PAGINAS] => 143
[TAAL_KD] => dut
[PRODUCT_VORM] => EB
[PRODUCT_VORM_DETAIL] => E301
[COMM_VERSCHIJNINGSDATUM] => 22122011
[STADIUM_LEVENSCYCLUS_KD] => V
[ISBN_FYSIEK_BOEK] => 9789048811571
[AFBEELDING] => https://cbonline.boekhuis.nl/pls/cover/p_get_cover_fe?p_hash=322E3A3FFCC9057F202F35DC7EB2F872
[VERVANGEND_ARTIKEL_KD] =>
[AUTEUR_TITEL] => AMMANITI*LAATSTE OUDEJAAR VAN DE MENSHEID
[MUTATIE_DTD] => 21012013000000
[ADVIESPRIJS] => 8.49
[NETTOPRIJS] => 4.56
[BEDRAG_BTW_LAAG] =>
[BEDRAG_BTW_HOOG] => .96
[BESTANDSGROOTTE] => 536
[DRM_CP_AANT_PAG] => -1
[DRM_CP_AANT_PAG_EENH] => -1
[DRM_PRINT_AANT_PAG] => -1
[DRM_PRINT_AANT_PAG_EENH] => -1
[DRM_VOORLEES_IND] => J
[KORTING_PERC] => 35.00
[HFDAUT_ANAAM] => Ammaniti
[HFDAUT_VOORL] => Niccolò
[HFDAUT_VOORVGSL] =>
[COAUT_1_ANAAM] =>
[COAUT_1_VOORL] =>
[COAUT_1_VOORVGSL] =>
[COAUT_2_ANAAM] =>
[COAUT_2_VOORL] =>
[COAUT_2_VOORVGSL] =>
[SECAUT_ANAAM] =>
[SECAUT_VOORL] =>
[SECAUT_VOORVGSL] =>
[CORP_NAAM] =>
[REDSAM_1_ANAAM] =>
[REDSAM_1_VOORL] =>
[REDSAM_1_VOORVGSL] =>
[REDSAM_2_ANAAM] =>
[REDSAM_2_VOORL] =>
[REDSAM_2_VOORVGSL] =>
[REDSAM_3_ANAAM] =>
[REDSAM_3_VOORL] =>
[REDSAM_3_VOORVGSL] =>
[BEW_1_ANAAM] =>
[BEW_1_VOORL] =>
[BEW_1_VOORVGSL] =>
[BEW_2_ANAAM] =>
[BEW_2_VOORL] =>
[BEW_2_VOORVGSL] =>
[BEW_3_ANAAM] =>
[BEW_3_VOORL] =>
[BEW_3_VOORVGSL] =>
[ILL_1_ANAAM] =>
[ILL_1_VOORL] =>
[ILL_1_VOORVGSL] =>
[ILL_2_ANAAM] =>
[ILL_2_VOORL] =>
[ILL_2_VOORVGSL] =>
[ILL_3_ANAAM] =>
[ILL_3_VOORL] =>
[ILL_3_VOORVGSL] =>
[VERT_1_ANAAM] =>
[VERT_1_VOORL] =>
[VERT_1_VOORVGSL] =>
[VERT_2_ANAAM] =>
[VERT_2_VOORL] =>
[VERT_2_VOORVGSL] =>
[VERT_3_ANAAM] =>
[VERT_3_VOORL] =>
[VERT_3_VOORVGSL] =>
[BESCHRIJVING] => Rome, 31 december 1999. In de stad, maar ook in het 'Woonpark van de Eilanden' bereiden alle inwoners zich voor op de laatste nacht van het millennium: een vrouw is van plan wraak te nemen op haar overspelige echtgenoot en diens vriendin, twee vrienden besluiten niet geheel vrij van de dope de avond samen door te brengen, een advocaat bestelt een dominatrix om zich flink te laten vernederen, een muzikant wil vrede sluiten met zijn ex-vrouw, een opa besluit aan zijn kleinzoon te demonstreren hoe je een vuurpijl met militaire precisie kunt richten op de vijand, een stel op hol geslagen hooligans bezoekt onuitgenodigd een feestje, een gigolo verwent een gravin op leeftijd, een vrouw die in de new age zit, nodigt mannelijk gezelschap uit.
[MAG_BESTELLEN_IND] => J
[1E_HOOFDSTUK_STATUS] => O
[1E_HOOFDSTUK_TYPE] => E107
[DRM_AANTAL_APPARATEN] =>
[ADV_PRIJS_HUUR1] =>
[NET_PRIJS_HUUR1] =>
[BTW_LAAG_HUUR1] =>
[BTW_HOOG_HUUR1] =>
[ADV_PRIJS_HUUR5] =>
[NET_PRIJS_HUUR5] =>
[BTW_LAAG_HUUR5] =>
[BTW_HOOG_HUUR5] =>
[ADV_PRIJS_HUUR10] =>
[NET_PRIJS_HUUR10] =>
[BTW_LAAG_HUUR10] =>
[BTW_HOOG_HUUR10] =>
[ADV_PRIJS_HUUR14] =>
[NET_PRIJS_HUUR14] =>
[BTW_LAAG_HUUR14] =>
[BTW_HOOG_HUUR14] =>
[ADV_PRIJS_HUUR21] =>
[NET_PRIJS_HUUR21] =>
[BTW_LAAG_HUUR21] =>
[BTW_HOOG_HUUR21] =>
[ADV_PRIJS_HUUR31] =>
[NET_PRIJS_HUUR31] =>
[BTW_LAAG_HUUR31] =>
[BTW_HOOG_HUUR31] =>
[ADV_PRIJS_HUUR92] =>
[NET_PRIJS_HUUR92] =>
[BTW_LAAG_HUUR92] =>
[BTW_HOOG_HUUR92] =>
[ADV_PRIJS_HUUR183] =>
[NET_PRIJS_HUUR183] =>
[BTW_LAAG_HUUR183] =>
[BTW_HOOG_HUUR183] =>
[ADV_PRIJS_HUUR365] =>
[NET_PRIJS_HUUR365] =>
[BTW_LAAG_HUUR365] =>
[BTW_HOOG_HUUR365] =>
[ISTC] =>
[BRON_ISTC] =>
)
weer een stapje verder
en krijg je evengoed nog de melding
Notice: Undefined index: EAN in C:\xampp\htdocs\cb\getcovers.php on line 61

Notice: Undefined index: AFBEELDING in C:\xampp\htdocs\cb\getcovers.php on line 63

? want zo te zien bestaan die 2 weldegelijk...
De melding krijg ik nu niet.

Ik wil graag da ean in exel bestand word verwekt en Afbeelding word opgehaald en word opgeslagen in een map (nog) op mijn pc) Straks naar de server waar het csv bestand de afbeelding koppelt aan het ean nummer

Maar ben erg blij met je hulp. Reuze interessant

Ik heb het idee dat het gaat lukken
Drees Hoek op 16/12/2013 14:04:46

De melding krijg ik nu niet.

Ik wil graag da ean in exel bestand word verwekt en Afbeelding word opgehaald en word opgeslagen in een map (nog) op mijn pc) Straks naar de server waar het csv bestand de afbeelding koppelt aan het ean nummer

Maar ben erg blij met je hulp. Reuze interessant

Ik heb het idee dat het gaat lukken


Misschien nog te veel voor je, maar je geeft aan dat je wilt automatiseren en vervolgens ga je een excel sheet vullen en uploaden samen met de afbeeldingen?
Dit is al meer geautomatiseerd dan alles handmatig, maar waarom niet alles in een database en een formulier dat je kunt invullen en waarbij je je afbeelding(en) kunt uploaden?
Michael dat zo super zijn. IK kan wel iets maar ik wilde stapje voor stapje. Voor mij begrijpelijker. Maar even goed kunnen de afbeeldingen direct naar de server in de daarvoor bestemde map. Het csv bestand heeft dan maar een kleine aanpassing nodig.

Wat goed van je. Ik me zelf maar alvast het boek PHP voor dummies cadeau gedaan. Komt morgen binnen.

IK hoop gauw weer wat te horen.

Reageren